fast-agent
An open-source Python framework for building, running, and evaluating LLM agents and multi-agent workflows with comprehensive MCP and ACP support.
At a Glance
About fast-agent
fast-agent is an open-source Python toolkit for coding, building, and evaluating LLM-powered agents and workflows. Developed by llmindset.co.uk and published under the Apache 2.0 license, it is available on GitHub at evalstate/fast-agent and installable via the fast-agent-mcp PyPI package. The project describes itself as CLI-first, with an optional prompt_toolkit-powered interactive terminal UI (TUI), and claims to be the first framework with complete, end-to-end tested MCP feature support including Sampling and Elicitations.
What It Is
fast-agent is an agent framework and development toolkit that lets Python developers define, compose, and run sophisticated multi-agent workflows against a wide range of LLM providers. It sits at the intersection of agent orchestration, MCP (Model Context Protocol) integration, and interactive terminal tooling. Agents are defined with a simple declarative decorator syntax, and workflows can be assembled from primitives like chains, parallel fan-out, evaluator-optimizer loops, routers, orchestrators, and the MAKER voting pattern.
Workflow Primitives
The framework ships several composable workflow types out of the box:
- Chain: runs agents in sequence, passing output from one to the next.
- Parallel: fans a message out to multiple agents simultaneously, then optionally aggregates with a fan-in agent.
- Evaluator-Optimizer: pairs a generator agent with an evaluator agent in a refinement loop until a quality threshold is met.
- Router: uses an LLM to route a message to the most appropriate agent from a set.
- Orchestrator: uses an LLM to decompose a complex task into a plan and delegate subtasks to available agents.
- MAKER: wraps a worker agent and samples it repeatedly until a k-vote margin is achieved, reducing compounding errors in long task chains.
- Agents As Tools: exposes child agents as callable tools to an orchestrator, enabling routing, parallelization, and orchestrator-worker decomposition within a single instruction.
Model and Provider Support
fast-agent provides native provider support for Anthropic, OpenAI, and Google, plus Azure, Bedrock, Hugging Face inference providers, xAI, and dozens of others via TensorZero. Local model support is available through llama.cpp with auto-configuration, and via Ollama with the generic provider. Model strings accept query overrides at runtime (e.g., --model "claude-sonnet-4-6?web_search=on" or --model "o3-mini?reasoning=high"), making it straightforward to test different model and MCP server combinations.
MCP and ACP Integration
The framework offers comprehensive MCP support: agents can attach MCP servers from config or the command line, deploy themselves as MCP servers, and connect to Streamable HTTP or SSE transports with OAuth (PKCE, keyring-backed token storage). fast-agent is described as the only tool that allows inspection of Streamable HTTP Transport usage. ACP (Agent Client Protocol) support lets any fast-agent setup be used with any ACP client. The /connect command supports both stdio and streamable HTTP servers, including OAuth-protected endpoints.
Update: v0.7.21 — GLM, GEMMA, Trackio, GEPA
The latest release as of June 2026 is v0.7.21, named "GLM, GEMMA, Trackio, GEPA." Recent additions listed in the README include Agent Skills (SKILL.md), MCP-UI support, the OpenAI Apps SDK (Skybridge) integration, shell mode, advanced MCP transport diagnostics, MCP Elicitations, and the GEPA optimization guide. The repository shows active development with a last push in June 2026 and over 3,800 GitHub stars and 400 forks at the time of data collection.
Community Discussions
Be the first to start a conversation about fast-agent
Share your experience with fast-agent, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under the Apache License 2.0. Install via PyPI with uv or pip.
- Full framework access
- All workflow primitives
- All provider integrations
- MCP and ACP support
- CLI and TUI
Capabilities
Key Features
- Declarative agent definition with Python decorators
- Chain, Parallel, Router, Orchestrator, Evaluator-Optimizer, and MAKER workflow primitives
- Agents As Tools pattern for orchestrator-worker decomposition
- Native support for Anthropic, OpenAI, Google, Azure, Bedrock, Hugging Face, xAI providers
- Local model support via llama.cpp and Ollama
- Comprehensive MCP support including Sampling and Elicitations
- Deploy agents as MCP servers or ACP agents
- MCP OAuth with PKCE and keyring token storage
- Streamable HTTP and SSE transport with diagnostics
- CLI-first with optional TUI (prompt_toolkit)
- Agent Skills (SKILL.md) system
- Function tools registered directly in Python code
- Multimodal support (PDF, Vision, Image)
- Structured Outputs support
- Batch processing
- GEPA optimization
- Privacy filter
- Context compaction
- Human-in-the-loop input support
- Passthrough and Playback LLMs for testing
- OpenTelemetry support
- Shell mode with shell command execution
- Card Packs for distributing agent configurations
- MCP Ping utility
- Interactive TUI with completions and in-terminal menus
