外观
为什么会有 MCP?
Why was MCP created?
没有 MCP 的时候,添加一个新工具或接入一个新模型是件头疼的事。如果你有三个 AI 应用和三个外部工具,最终可能得写九个不同的集成模块(每个 AI 对应每个工具),因为压根没有统一的标准。这种方式根本无法规模化。
AI 应用的开发者实际上每次都在重复造轮子,而工具提供方则不得不同时支持多套互不兼容的 API,才能覆盖不同的 AI 平台。

让我们更详细地了解一下这个问题。
问题所在
在 MCP 出现之前,把 AI 接入外部数据和操作的方式,是一堆临时拼凑的方案:要么为每个工具单独写死处理逻辑,要么维护并不那么
健壮的提示词链条,要么使用特定厂商的插件框架。这就导致了那个臭名昭著的 M×N 集成问题:如果你有 M 个不同的 AI 应用和 N 个不同的工具/数据源,最终可能需要 M × N 个定制集成。下图展示了这种复杂度:每个 AI(每个「模型」)可能都需要专门写代码,才能连接到每一个外部服务(数据库、文件系统、计算器等),最终形成一团乱麻般的连接关系。

解决方案
MCP 的解决办法,是在中间引入一层标准接口。这样一来,M × N 个直接集成就变成了 M + N 个实现:M 个 AI 应用中的每一个,只需实现一次 MCP Client 端;N 个工具中的每一个,只需实现一次 MCP Server 端。可以说,现在大家都说着同一种「语言」,新增一对连接也不再需要定制代码,因为双方早已通过 MCP 互相「听得懂」对方。下图展示了这种转变。

- 在左边(MCP 之前),每个模型都得单独接入每一个工具。
- 在右边(有了 MCP 之后),每个模型和每个工具都只需连接到 MCP 这一层,连接方式因此被大幅简化。你也可以把这联系到我们前面讲过的翻译的例子。