开发与工程 model-context-protocolpython-sdktemporalworkflow-orchestrationmcp-serveropenai-apioauth

mcp-agent

用 MCP 和可组合工作流构建 Python 智能体应用。

FollowAgents 评估 · FARS-2.1
不推荐
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全10 / 29 · 1.7/5

证据显示:框架支持通过server_names限制工具访问,提供human_input_callback机制,配置中明确分离secrets文件,依赖列表包含安全相关库(如opentelemetry),SECURITY.md提供漏洞报告渠道,但未发现自动回滚机制,发布者身份未验证。扣分原因:缺少对权限最小化的明确文档,用户确认机制仅作为可选回调,数据流透明度不足,敏感数据处理细节有限,依赖安全未提供漏洞扫描证据,外部影响未明确说明,回滚机制缺失,来源归属仅依赖作者信息。

2可靠稳定8 / 14 · 2.9/5

证据显示:代码库包含测试文件(如test_agent.py)和CI工作流(checks.yml),依赖版本固定,但失败消息处理未充分展示。扣分原因:自一致性有测试支持但未全面覆盖,依赖可用性有版本锁定但未验证,失败消息仅部分体现。

3适用触发12 / 18 · 3.3/5

证据显示:README提供多种使用场景(如MCP server、Temporal、Cloud),明确列出支持的模式和功能,配置灵活,但未明确边界。扣分原因:受众和场景描述充分,能力边界有说明但不够详细,触发精度有示例但未系统化,环境适配有配置示例但未全面。

4规范维护11 / 18 · 3.1/5

证据显示:README结构清晰,安装说明详细,命名稳定(如mcp-agent),提供示例和FAQ,许可证为Apache-2.0,版本号在pyproject.toml中,有SECURITY.md和贡献指南。扣分原因:已知限制未明确列出,版本变更日志未提供,维护责任有作者信息但未明确。

5有效结果9 / 13 · 3.5/5

证据显示:输出格式有示例(如generate_str),提供多种工作流模式,成本效益有说明(如生产就绪)。扣分原因:输出可用性有示例但未全面,边际价值有说明但未量化,成本效益有描述但未提供具体数据。

6证据核验3 / 8 · 1.9/5

证据显示:README中的声明有文档链接,但未提供独立验证。扣分原因:声明可追溯性有限,跨来源验证不足,事实与推断分离不明确。

证据充分度: 评估于 2026年8月9日 审查版本 f62d84935081
使用前请注意
  • 发布者身份未验证,需谨慎评估供应链风险。
  • 未发现自动回滚机制,生产环境需自行实现。
  • 依赖安全未提供漏洞扫描证据,建议使用前进行安全审计。
  • 已知限制未明确列出,可能影响部署决策。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

mcp-agent 是一个 Python 框架,用于通过 Model Context Protocol(MCP)构建智能体和工作流。其核心运行时 MCPApp 负责加载配置、初始化日志与执行引擎,并管理 MCP 服务器连接的生命周期。Agent 将指令与可调用的 MCP 服务器组合,Augmented LLM 为模型调用补充工具、记忆和结构化输出能力。项目提供并行、路由、编排器-工作者、评估器-优化器和 Swarm 等可组合工作流模式,并可在 asyncio 与 Temporal 执行引擎间切换。应用既可作为独立 Python 程序运行,也能通过 create_mcp_server_for_app 暴露为标准 MCP 服务器;README 还记录了 Cloud 部署路径。

开发者创建 MCPApp,在 mcp_agent.config.yaml 中声明如 fetch、filesystem 的 MCP 服务器,然后定义带有 server_names 的 Agent。进入 async with app.run() 和 async with agent 上下文后,Agent 会初始化服务器连接;调用 agent.attach_llm(OpenAIAugmentedLLM) 可获得 generate、generate_str 和 generate_structured,用模型调用已连接服务器提供的工具。create_parallel_llm、create_router_llm、create_orchestrator 和 create_evaluator_optimizer_llm 等工厂函数可组装更高层流程。将 execution_engine 设为 temporal 后,可配合 create_temporal_worker_for_app 运行持久化工作流;用 create_mcp_server_for_app 则可把 app 的 @app.tool 和工作流输出给 MCP 客户端。

  1. Python 后端团队需要让一个研究助手通过 filesystem 和 fetch MCP 服务器读取本地文件、抓取网页并生成摘要时。
  2. 需要按意图把请求分配给不同 AgentSpec、MCP 服务器或函数的应用团队。
  3. 要把多个专家子任务并行执行、再聚合成一份报告的分析工作流开发者。
  4. 需要暂停流程等待人工批准或补充信息,并在 Temporal 中恢复执行的业务自动化团队。
  5. 希望把现有 Python 工具或工作流作为标准 MCP 服务器提供给 Claude Desktop、Cursor 或自定义 MCP 客户端的开发者。

这个 Agent 有哪些优点和局限?

优点
  • MCPApp 和 Agent 直接处理 MCP 服务器连接生命周期,应用代码无需自行创建和维护这些连接。
  • 同一套工作流注解可用于 asyncio 与 Temporal;切换到 Temporal 后可获得暂停、恢复、重试和持久化历史能力。
  • 提供明确的可组合模式工厂,包括并行 Map-Reduce、路由、意图分类、编排器-工作者、评估器-优化器与 Swarm。
  • 可将 MCPApp 通过 create_mcp_server_for_app 作为标准 MCP 服务器暴露,便于接入支持 MCP 的客户端。
局限
  • 示例以异步 Python、uv 和 YAML 配置为中心;采用其他语言或同步执行模型需要自行集成。
  • OpenAI 最小示例依赖 OPENAI_API_KEY 或 secrets 文件;不同模型提供商还需安装对应可选依赖并调整配置。
  • Temporal 持久化执行需要将 execution_engine 设为 temporal,并运行额外的 Temporal worker。
  • Cloud 部署在 README 中标为 Beta,且其定价、配额与托管运行环境细节未在提供材料中说明。

如何安装或部署这个 Agent?

先安装 Python 与 uv。创建项目后执行:

uvx mcp-agent init
uv init
uv add "mcp-agent[openai]"

也可使用:

pip install mcp-agent

OpenAI 示例需要在 mcp_agent.secrets.yaml 中配置 API 密钥,或设置 OPENAI_API_KEY。若使用其他模型提供商,README 列出可选额外依赖:"mcp-agent[openai, anthropic, google, azure, bedrock]"。

如何使用这个 Agent?

创建 main.py,使用 MCPApp、Agent 和 OpenAIAugmentedLLM;在 Agent 中设置 server_names=["fetch", "filesystem"]。在 mcp_agent.config.yaml 中为这两个服务器配置命令及参数,例如 fetch 使用 uvx mcp-server-fetch,filesystem 使用 npx -y @modelcontextprotocol/server-filesystem 和允许访问的目录。随后运行:

uv run main.py

最小调用流程是在 async with app.run() 内创建 Agent,在 async with agent 内执行 llm = await agent.attach_llm(OpenAIAugmentedLLM),再调用 await llm.generate_str("Summarize README.md in two sentences.")。如需生成项目骨架,可使用 uvx mcp-agent init --template basic --dir my-first-agent。

这个 Agent 与同类方案有什么区别?

与仅作为 MCP 主机的 Claude Desktop 或 Cursor 相比,mcp-agent 也可以作为独立 Python 应用运行,并通过 create_mcp_server_for_app 将自身工具和工作流反向暴露给这些 MCP 客户端。

常见问题

它是否只能用于 OpenAI 模型?
不是。README 列出 OpenAI、Anthropic、Google、Azure 和 Bedrock 的可选安装额外依赖;提供的最小代码示例使用 OpenAIAugmentedLLM。
使用文件系统工具时能访问哪些文件?
访问范围由 filesystem MCP 服务器配置中的目录参数决定;示例将该目录作为需要填写的配置项。
是否一定要部署到 Cloud?
不需要。README 将项目示例描述为独立应用;Cloud 是另一条部署路径。
是否支持人工审批?
支持。工作流可通过 request_human_input 请求批准或额外数据;README 说明 Temporal 会持久化状态,直到操作人员恢复该运行。
成本如何?
提供材料未给出 mcp-agent Cloud 或模型服务的价格。使用外部模型提供商和托管部署可能涉及各自的费用。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents