(5)MCP 为什么出现:工具的膨胀与割裂
写在前面
上一篇结束时留了两个问题:Function Calling 让动作变稳定之后,工具越接越多,提示词装不下了;各家都实现了工具调用,接口互不相同,接入成本失控。
这篇讲这两个问题各自的回应:工具的按需加载,和 MCP。它们一个管"装得下",一个管"接得起"。

工具多了,先挤爆的是提示词
工具数量的膨胀速度超出直觉。那篇论文统计过一轮:最少的系统只有 1 个 bash 工具,最多的有 109 个。Claude Code 内置 43 个,再算上 MCP 接进来的,只多不少。
问题在于每个工具的定义都要占上下文:函数名、描述、参数的 JSON Schema,一个工具几百 token 起步。100 个工具的定义塞进系统提示词,还没开始干活,几万 token 先没了。而且选项一多,模型挑工具的准确率也在降。
生产系统的解法是按需加载:工具先注册,不进提示词,用到再取。Claude Code 给工具加了延迟加载标志,配合一个搜索工具,让模型自己按关键词把工具"搜"出来用,初始提示词缩小了约 40%。Codex 用 BM25(一种按关键词相关度排序的经典算法)索引做了同款搜索。Hermes 的方案更激进:接进来的工具定义一旦超过上下文的 10%,全部折叠成搜索、查看、调用三个桥接工具。
这个思路上一篇其实埋过伏笔:JIT。工具定义也是信息,信息就不该预载,该按需取。

接口割裂:N×M 的适配灾难
第二个问题不在模型侧,在生态侧。
Function Calling 发布后各家迅速跟进,思路一致,接口各异:schema 怎么表达、调用怎么返回、流式事件长什么样、错误怎么处理,全都不统一。结果是 N 个 Agent 应用接 M 个工具源,要写 N×M 套适配代码。每个应用接每个工具一次,每个工具为每个应用改一遍。

这是典型的集成成本问题,历史上每次出现,最后都长出一个协议。
MCP:一次实现,处处可用
2024 年 11 月,Anthropic 发布 MCP(Model Context Protocol),定位就是补上这个协议层。
机制不复杂,三个角色:你的应用是 Host,内部为每个工具源起一个 Client,工具源是 Server。Server 通过标准方法暴露能力,最核心的两个是 tools/list(我有哪些工具)和 tools/call(帮我执行这个调用),再加上一套标准的认证方式。
价值在乘法变加法:工具方实现一次 Server,所有 MCP 客户端都能用;应用方实现一次 Client,整个工具目录都能接。官方类比是"AI 界的 USB-C",这个类比是准确的:它不管你是什么设备、什么线,只规定插头的形状。
生态起来得很快:两年时间 MCP Server 数量以千计,协议本身也移交给了 Linux 基金会下的 Agentic AI Foundation,从厂商私有变成行业中立。

IMPORTANT: MCP 标准化的是"应用怎么连工具进程"这一层,它没有、也不想标准化工具本身的设计。上一节的按需加载管的是上下文预算,MCP 管的是接入成本,两个问题经常被混为一谈,其实是两层。

反方证人:pi 拒绝过 MCP,又在 2026 年 9 月接了
有意思的是,不是所有人都从一开始就加入。pi 的文档曾经明确拒绝 MCP,理由写得很直白:"造带 README 的命令行工具"就够了。工具就是个程序,让模型用 shell 调,说明写在 README 里。论文的快照停在 2026 年 7 月,记录的就是这个立场。
但两个月后剧情反转了。2026 年 9 月,pi 0.99 发布,MCP、codemode、tool search 一起作为内置扩展加入。转折点是 codemode:模型在一个 JavaScript 沙箱里写脚本调用工具,MCP 服务器的工具默认走这个通道,完全不声明给模型,系统提示词里只留一行摘要,脚本按需搜索。
工具定义的上下文成本归零,pi 的反对理由消失了,协议立刻就接了。
这个反转恰好验证了本篇的两层论:pi 反对的从来不是协议,是预载工具定义的上下文账单。账单归零(预算问题)之后,统一接入(协议问题)的收益就只剩正的了。

论文里的另一个数据也值得留意:SKILL.md 格式的技能包,采用率已经反超了 MCP。不过那是链四的故事,到时再讲。
写在最后
链二到这篇,主干已经齐了:文本变动作(ReAct、Function Calling),接口影响成绩(ACI),工具多到装不下(按需加载),生态割裂(MCP)。
还剩最后一块:一个 agent 干不完的活怎么办。下一篇讲编排和 subagent,模型给自己派分身。

参考资料
- Introducing the Model Context Protocol - Anthropic(2024-11 发布)
- Harness Engineering: Anatomy, Architecture, and Evolution of Coding Agents(工具数谱见 §8.1,按需加载见 §8.3,MCP 生态见 §12.4)
- Agent Protocol Tech Tree(从 Inference API 到 Tool Calling 再到 MCP 的协议演化,交互式)
- 本系列第 4 篇:(4)从 ReAct 到 Function Calling:文本怎么变成动作