{"id":"evalstate-fast-agent","name":"fast-agent","homepage":"https://fast-agent.ai","repo_url":"https://github.com/evalstate/fast-agent","category":"ai-ml","subcategories":[],"tags":["ai-ml","devtools","automation","mcp","agents","cli","python"],"what_it_does":"fast-agent is a Python CLI-first framework for interacting with LLMs and building coding agents, workflows, and evaluation pipelines. It supports MCP servers/clients (including stdio and streamable HTTP/SSE transports), shell-mode, interactive TUI prompts, and Python agent definitions (decorator-based) that can call MCP tools and chain workflows. It also includes MCP OAuth (PKCE) integration and optional MCP ping support.","use_cases":["Build coding/development agents that call MCP tools (LSPs, tool hooks, utilities).","Create and run multi-step agent workflows (chains, agent-as-tools orchestration, maker/voting error reduction).","Evaluate and test MCP-enabled agents and workflows.","Expose an agent as an MCP server using transport configuration.","Use interactive terminal experiences for agent prompting/completions/menus."],"not_for":["Simple single-purpose API wrappers where a REST/SDK interface is required.","Environments where opening OAuth flows and token storage via OS keychain is disallowed or cannot be configured.","Applications requiring strict server-side uptime/SLA guarantees without observing the project’s operational status."],"best_when":"You want a CLI and Python framework to orchestrate LLMs with MCP tool ecosystems, including interactive workflows and/or running locally with configurable transports and OAuth for MCP connections.","avoid_when":"You need a stable, standardized REST/GraphQL/SDK surface for programmatic usage by other systems; you mainly want a turnkey managed cloud service with predictable SLAs.","alternatives":["OpenAI Agents SDK (for OpenAI-centric agent tool patterns)","Anthropic tool/function calling frameworks","Other MCP client implementations/libraries and generic MCP clients","LangChain/LlamaIndex-style orchestration frameworks (if MCP integration is not required)"],"af_score":60.0,"security_score":74.8,"reliability_score":38.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-29T15:04:11.561899+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":["Python"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["CLI/config-based OAuth integration for MCP (PKCE with local callback / redirect flow)","OS keychain-backed token persistence via keyring (with in-memory fallback)"],"oauth":true,"scopes":false,"notes":"OAuth is described as enabled by default for SSE/HTTP MCP servers, configurable per server. The README discusses PKCE and token persistence behavior, but does not specify fine-grained scopes from the application perspective (it mentions optional server default scopes)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing model for the library/framework is described in the provided content. Costs depend on the selected LLM provider(s) and any MCP server backends."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":60.0,"security_score":74.8,"reliability_score":38.8,"mcp_server_quality":85.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":78.0,"rate_limit_clarity":15.0,"tls_enforcement":80.0,"auth_strength":85.0,"scope_granularity":45.0,"dependency_hygiene":70.0,"secret_handling":90.0,"security_notes":"Security-relevant details present in the README: OAuth for MCP uses PKCE and supports in-memory token storage (no tokens written to disk) plus optional OS keychain persistence via keyring. This reduces token leakage risk. However, TLS requirements and network security headers for any server-mode exposure are not explicitly documented in the provided text; dependency hygiene (CVEs) and actual token access controls are not verifiable from the provided content alone.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":50.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["CLI-first workflow: programmatic integration may require adopting their Python API/decorators or invoking the CLI rather than using a standardized REST interface.","MCP transport and OAuth behavior can vary by environment (e.g., keychain availability uses in-memory token storage), which may affect repeatability across sessions.","LLM/model/provider differences (and provider-specific model query overrides) may lead to inconsistent outputs if not pinned/configured carefully.","Chained/parallel tool calling can amplify failures if upstream MCP servers are unreliable; behavior under partial tool failures is not described in the provided material."]}}