接 Agent 的工具集成,是一件很烦的事。接 GitHub 要写 GitHub 的适配,接 Slack 要写 Slack 的适配,接数据库要写数据库的适配。每换一个 Agent 框架,所有适配重写一遍,因为每个框架定义的工具接口都不一样。
工具方也烦。一个工具想让所有 Agent 框架都能用,得针对每个框架写一套集成。框架有十个,工具方就要写十遍。这种 M 乘 N 的碎片化,是整个 Agent 生态效率低下的根源。
MCP(Model Context Protocol)就是来解决这个的。它想定义一个统一的工具接入协议,工具按这个协议写一次,所有支持 MCP 的 Agent 都能用。把 M 乘 N 降成 M 加 N。Anthropic 在 2024 年底推出这个协议,思路和当年的 USB、LSP(Language Server Protocol)一脉相承。
MCP 解决的核心问题,解耦工具和框架
图:中间一个标准协议,把框架与工具之间的双向适配压缩成单向接入,碎片化成本骤降。
理解 MCP 之前,先看现状有多痛。
假设你做了一个「查询公司内部知识库」的工具,想让各个 Agent 框架都能调用。在 MCP 之前,你要为 LangChain 写一套集成,为 LlamaIndex 写一套,为 AutoGen 写一套,每个框架的工具定义格式、调用方式、参数规范都不一样。工具方的工作量随框架数量线性增长。
反过来,Agent 框架想支持一百种工具,每种工具的集成方式都不一样,框架方的工作量也随工具数量线性增长。两边都在做重复的无谓劳动。
MCP 的解法是定一个中间标准。工具方按 MCP 协议把工具暴露出来(成为一个 MCP server),Agent 框架作为 MCP client 去连接。工具和框架之间通过标准协议通信,谁都不需要知道对方的实现细节。这样工具写一次到处能用,框架接一次支持所有 MCP 工具。
MCP 的设计,客户端服务器架构
图:工具以 Server 形式按协议暴露,框架作为 Client 发现即调用,互不关心对方实现。
MCP 是个客户端服务器架构。
MCP server 是工具的提供方。它把自己的能力(工具、资源、提示模板)按 MCP 协议暴露出来。一个查数据库的工具、一个读文件的工具、一个调外部 API 的工具,都可以包装成 MCP server。
MCP client 是工具的消费方,通常是 Agent 框架或者 AI 应用。它连接 MCP server,发现可用的工具,在需要的时候调用它们。client 不关心 server 内部怎么实现,只通过标准协议交互。
两者之间的通信走 JSON-RPC,定义了工具发现、工具调用、资源读取这些标准消息。这个标准化的好处是,任何 MCP server 和任何 MCP client 都能互通,像 USB 设备插进任何 USB 接口都能用一样。
协议还分了本地和远程两种传输方式。本地走 stdio 或者 IPC,适合工具和应用在同一台机器的场景。远程走 HTTP 加 SSE,适合工具部署在别处的场景。这种灵活性让 MCP 能覆盖从本地开发到生产部署的各种场景。
MCP 的价值,网络效应
MCP 真正的威力不在协议本身,在它带来的网络效应。
一个协议的价值,随使用它的人和工具的数量增长而指数级增长。用 MCP 的工具越多,Agent 框架越有动力支持 MCP。支持 MCP 的框架越多,工具方越有动力按 MCP 暴露。这是一个正反馈循环,一旦转起来,生态会快速膨胀。
这和 LSP 的故事很像。以前每个编辑器要为每种语言写单独的语法支持,后来有了 LSP 标准,语言方写一个 language server,所有编辑器都能用。几年时间,LSP 成了事实标准,现在主流编辑器和主流语言几乎都支持它。MCP 走的是同样的路,只是把场景从「编辑器和语言」换成了「Agent 和工具」。
如果 MCP 成为事实标准,最大的受益者是工具的使用方。不用再为每个框架写适配,接一个工具像装一个插件一样简单,Agent 的能力扩展成本会大幅下降。
现实,MCP 还不成熟
讲了一堆好处,也得看清现状。MCP 是个新协议,截至现在还远没到成熟的阶段。
生态还不够丰富。虽然已经有一些常用的 MCP server(文件系统、GitHub、数据库等),但和「想要什么工具都有」还有距离。很多垂直领域的工具还没有 MCP 封装,要自己写。
协议本身还在演进。新协议意味着 breaking change 的风险,今天按某个版本写的 server,明天协议升级了可能要改。对于追求稳定的生产系统,这是个顾虑。
性能和安全性也还在探索。本地 stdio 传输够快,但远程 HTTP 传输的延迟、并发、鉴权怎么做才安全高效,最佳实践还在形成中。
落地建议
图:三类角色落地姿态不同,但共同原则是拥抱标准、留好降级。
对工具方,如果你的工具想被多个 Agent 框架用,提前按 MCP 暴露是值得的。虽然协议还在演进,但早接入能积累经验,也享受生态早期红利。即便最后 MCP 没成一统江湖的标准,按标准协议暴露工具本身也是好实践。
对 Agent 框架方,支持 MCP 是扩大生态的手段。用户能即插即用大量现成工具,框架的吸引力就大。
对使用者,关注 MCP 生态的发展,能用现成 MCP server 的就别自己写适配。但别把生产系统完全绑在一个还不成熟的协议上,留好降级的余地。
MCP 代表的方向是对的,工具调用的标准化迟早会来,就像 LSP 统一了编辑器和语言之间一样。但新协议有新协议的代价,不稳定、生态薄、最佳实践缺。务实的做法是,关注它、在非关键链路上试用它、为它将来成熟做好准备,但别把核心系统的稳定性赌在一个还没定型的协议上。让它先飞一会儿,是面对新兴标准最稳的姿态。
一个更大的图景
MCP 背后其实是一个更大的趋势,Agent 能力的模块化和标准化。
未来的 Agent 生态,可能会变成这样,模型负责推理和决策,工具以标准协议(比如 MCP)的形式即插即用,记忆和知识有标准的存储和检索接口,Agent 之间的协作有标准的通信协议。每一层都标准化、模块化,组合起来构建复杂的智能应用。
MCP 是这个图景里「工具层」的标准化尝试。它能不能成,取决于生态能不能转起来。但不管成不成,工具调用需要标准化这件事本身是确定的,因为碎片化的代价太高了,行业不会一直忍受它。
理解 MCP,不在于记住它的 API 细节,在于理解它要解决的问题和背后的趋势。协议会变,但「用标准解耦、用模块化降复杂度」这个思路不会变。








