用 MCP 协议搭 Agent?这个框架把 Anthropic 那篇论文直接变成了代码

MCP 协议搭 Agent?这个框架把 Anthropic 那篇论文直接变成了代码


Anthropic 去年底发了一篇「Building Effective Agents」的研究文章,讲怎么用几个简单模式(Prompt Chaining、Router、Parallelization、Orchestrator……)把 Agent 搭得靠谱。那篇文章当时在开发者圈子里疯转,但很多人看完还是不知道「这玩意儿到底怎么写代码」。

mcp-agent 就是来填这个坑的。

一句话说清楚:mcp-agent 是一个 Python 框架,把 MCP(Model Context Protocol)和 Anthropic 那篇论文里的所有 Agent 模式,做成了可组合的代码组件。你不需要自己造轮子,直接 import、配置、跑起来就行。


它解决什么问题

MCP 协议现在火得一塌糊涂,但协议本身是偏底层的——它定义了 AI 怎么连接外部工具,但不告诉你怎么组织多个工具、多个 Agent 的协作逻辑。这才是真正写代码时最麻烦的地方。

mcp-agent 做了两件事:

1. 帮你管 MCP 服务器的生命周期
你不用自己处理连接、断连、错误重试,它全包了。声明式写清楚你要用哪些服务器,框架自动初始化。

2. 把论文里的模式变成代码
举几个例子:

  • Router:Agent 自动根据输入判断该走哪条分支,代码里就是一个 if/else 逻辑
  • Parallelization:多个工具并行跑,asyncio 给你安排好
  • Orchestrator:一个主 Agent 协调多个子 Agent 干活,结果汇总回来
  • Human-in-the-loop:关键节点可以暂停,等人工确认再继续

3. 支持云端部署
uvx mcp-agent deploy,一条命令打包上传,后端跑在 Temporal 持久化运行时上,Agent 跑一半崩溃了也能恢复。


怎么用

装:

pip install mcp-agent
# 或
uv add mcp-agent

快速示例——一个”finder”Agent,可以读本地文件、也可以抓网页:

from mcp_agent.app import MCPApp
from mcp_agent.agents.agent import Agent

app = MCPApp(name="hello_world_agent")

async with app.run() as mcp_agent_app:
    finder_agent = Agent(
        name="finder",
        instruction="你可以读本地文件或抓网页,返回请求的信息。",
        server_names=["fetch", "filesystem"],
    )

    async with finder_agent:
        tools = await finder_agent.list_tools()
        # 自动连接 MCP 服务器,工具直接用

为什么值得试试

现在社区搭 Agent 的框架很多,LangChain、AutoGen、CrewAI……mcp-agent 的差异化在于两点:

轻量:不需要学一套新方言,就用标准的 Python async/await,会写协程就能上手。

有理论支撑:Anthropic 那篇论文里的每个模式,它都对应一个具体的实现,不是拍脑袋出来的。意味着你不是在踩一个全新的坑,而是在踩一个已经被研究过的坑。

多 Agent 编排:它还实现了 OpenAI Swarm 的多 Agent 编排模式,但做得模型无关——不绑定 OpenAI,可以接任何 LiteLLM 支持的模型。


基本信息

  • GitHub:https://github.com/lastmile-ai/mcp-agent
  • Star:⭐ 8.4k
  • 语言:Python
  • 协议:Apache-2.0
  • 安装量:pip install 即可,也有 uv 支持

如果你正在做基于 MCP 的开发,或者想搭一套靠谱的多 Agent 工作流,mcp-agent 是个值得放进工具箱的选项。论文看完了,来这儿找答案。


GitHub: https://github.com/lastmile-ai/mcp-agent

评论区

0 条评论

登录后可评论。

陈一铭 11 阅读