Confused Ai
FreeMaintainedFast TypeScript AI agent framework — per-request agents, 30+ model providers, 100+ integrations, 20+ vector DBs, 10+ databases, sessions, memory, knowledge, tra
About
Fast TypeScript AI agent framework — per-request agents, 30+ model providers, 100+ integrations, 20+ vector DBs, 10+ databases, sessions, memory, knowledge, tracing, evals, HITL, teams, and workflows.
README
confused-ai is a TypeScript agent framework built around one stable install story: start with a single package, ship one useful agent, then layer tools, retrieval, sessions, serving, orchestration, and production controls without changing frameworks midway through the project.
One quick example
import { agent, tool } from 'confused-ai';
import { z } from 'zod/v3';
const getQuote = tool({
name: 'get_quote',
description: 'Return a stock quote for a ticker symbol.',
parameters: z.object({ symbol: z.string() }),
execute: async ({ symbol }) => ({ symbol, price: 927.5, changePct: 1.4 }),
});
const financeAgent = agent({
name: 'finance-agent',
model: 'gpt-4o-mini',
instructions: 'Use the tool to answer market questions in one concise sentence.',
tools: [getQuote],
});
const result = await financeAgent.run("What's NVDA trading at today?");
console.log(result.text);
The intended feel is simple: plain TypeScript, one explicit capability at a time, and a direct path from small prototype to production-ready runtime.
What it is for
Use confused-ai when you want to build one of these shapes from the same public API surface:
- a single agent that answers, summarizes, or classifies
- a tool-backed assistant that reads live application data or triggers side effects
- a retrieval-backed system that answers from documents or indexed knowledge
- a served application with sessions, resilience, and observability
- a multi-agent workflow with delegation, routing, or explicit reasoning steps
The design goal is not to force every feature on day one. The design goal is to let the first useful version stay small while keeping a direct path to a larger system.
Three primitives
| Primitive | Use it when |
|---|---|
| Agent | one model-backed worker can handle the task |
| Team | specialists should coordinate or delegate work |
| Workflow | the execution path should be staged, deterministic, or branching |
These three shapes cover most systems in the framework. The difference is not branding. The difference is how control flows through the application.
How to approach the framework
The cleanest adoption path is:
- Start with one agent and one successful run.
- Add one missing capability at a time, usually a tool, a session store, or retrieval.
- Add runtime surfaces such as HTTP serving, scheduling, evaluation, or resilience only after the base behavior is correct.
That order matters because it keeps the model behavior understandable before infrastructure complexity gets involved.
Public package story
The public install story is intentionally simple.
| Import path | Use it for |
|---|---|
confused-ai |
core agent authoring, composition, and common entry points |
confused-ai/session |
session stores and continuity |
confused-ai/serve |
HTTP runtime |
confused-ai/tool |
MCP and broader tool infrastructure |
confused-ai/orchestration |
teams, supervisors, roles, and tasks |
confused-ai/reasoning |
explicit reasoning steps and events |
confused-ai/scheduler |
scheduled jobs and run history |
confused-ai/observe |
traces, metrics, and evaluation workflows |
confused-ai/adapters |
infrastructure adapters and bindings |
confused-ai/guard |
runtime control primitives such as circuit breakers |
Avoid internal @confused-ai/* package imports in application code and public documentation. Those paths describe the monorepo layout, not the intended consumer API.
Core building blocks
The framework stays understandable if you think in layers:
- Agents are the unit that owns instructions, model selection, tools, and runtime behavior.
- Tools are the bridge to live data, side effects, and application-specific capabilities.
- Sessions, memory, knowledge, and storage add continuity or external context.
- Serving, scheduling, and orchestration control how and when the agent runs.
- Observability, budgets, approvals, and resilience turn a useful agent into an operable system.
Each layer is optional. Most real projects only need a subset.
Capabilities
| Capability | What it gives you |
|---|---|
| Tools | explicit boundaries for live data and side effects |
| Sessions | continuity across turns |
| Memory | retained facts and selective recall |
| Knowledge | retrieval-backed answers from indexed content |
| Storage | durable state around the agent |
| Serve | HTTP runtime for real applications |
| Orchestration | teams, supervisors, roles, and routing |
| Reasoning | explicit reasoning loops when the task needs them |
| Scheduler | time-based execution for reports, digests, and automation |
| Observe | traces, metrics, and evaluation workflows |
| Guardrails and HITL | validation, approvals, and policy-driven runtime control |
| Graph | durable, replayable execution with tamper-evident audit |
| Compression | keep long-running contexts within model token limits |
| Learning | simulate runs and improve behavior from recorded outcomes |
Enterprise and compliance
For regulated or high-assurance deployments, the graph engine is event-sourced end to end (confused-ai/graph), which unlocks a compliance and operations layer on top of any agent or workflow:
| Capability | What it gives you | Guide |
|---|---|---|
| Event sourcing | every run recorded to a durable, file-backed log (SqliteEventStore, BatchingEventStore) |
docs/guide/graph.md |
| Deterministic replay | re-run a recorded execution with zero external calls for time-travel debugging and sims | docs/guide/graph.md |
| Tamper-evident audit | hash-chained event log verified with verifyChain to prove the record was not altered |
docs/guide/graph.md |
| PII and secret redaction | RunRecorder scrubs secrets and free-text PII before anything is persisted |
docs/guide/graph.md |
| Right-to-erasure | EventStore.purge() deletes every event for one execution (GDPR) |
docs/guide/graph.md |
| Distributed execution | fan a graph across workers with a shared task queue | docs/guide/graph.md |
| Multi-tenancy | per-tenant isolation and configuration via createTenantContext and TenantRegistry |
docs/guide/multi-tenancy.md |
| Admin API | health, audit log, pending approvals, and throughput endpoints | docs/guide/admin-api.md |
| Secret management | pluggable backends with versioning and live secret watching | docs/guide/secret-manager.md |
Guardrails, HITL approvals, and budget controls (see above) round out the runtime policy layer.
Recommended reading order
If you are new to the repo, follow this order:
docs/guide/introduction.mdfor the mental model and product story.docs/guide/getting-started.mdfor the first implementation path.docs/examples/index.mdfor runnable examples by difficulty.docs/guide/pages for capability-specific guidance.docs/api/pages for a compact public API map.
What to build first
The first milestone should be boring on purpose:
- one prompt
- one model
- one agent
- one verified output
Once that path is correct, the rest of the framework becomes a set of focused additions rather than a wall of concepts to learn up front.
Install Confused Ai in Claude Desktop, Claude Code & Cursor
unyly install confused-aiInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add confused-ai -- npx -y confused-aiFAQ
Is Confused Ai MCP free?
Yes, Confused Ai MCP is free — one-click install via Unyly at no cost.
Does Confused Ai need an API key?
No, Confused Ai runs without API keys or environment variables.
Is Confused Ai hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Confused Ai in Claude Desktop, Claude Code or Cursor?
Open Confused Ai on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Confused Ai with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
