MCP解决的问题是一道乘法题
一个模型单独存在时只能写文字。要读你的日历、查数据库或发消息,它需要工具,什么是AI智能体解释了模型如何在一个循环里使用工具。在2024年底之前,每个想要某个工具的应用都得为它单独写一套连接器。五个应用各想要二十个工具,就意味着一百套连接器,每套都略有不同,每套都得有人维护。
MCP是连接器的一套标准形状。工具那一端只打包一次,做成服务器。应用那一端也只实现一次客户端。之后,任何客户端都能用任何服务器:五个应用加二十个工具,只要二十五份软件而不是一百份,再加一个第二十一个工具,也只需要一个服务器,而不是五套连接器。USB是常见的类比,而且很贴切:价值在于插头本身,而不在任何一个具体设备。
Anthropic于2024年11月25日以开放标准的形式发布了规范、参考服务器和软件工具包,而它得以传播的原因,和任何插头得以传播的原因一样。一旦几百个针对常见场景的服务器出现,比如GitHub、Slack、Postgres、文件系统、浏览器,一个支持MCP的应用就能免费获得这一切,而一个不支持的应用则要解释为什么不支持。
服务器提供三种东西,模型只触发其中一种
一次MCP连接有两端。宿主应用,可能是聊天应用、编辑器或智能体运行时,运行着一个客户端。客户端连接到一个或多个服务器,询问每个服务器能提供什么,再把答案传给模型。一个服务器可以提供三类东西。
| 原语 | 是什么 | 谁来触发 | 例子 |
|---|---|---|---|
| 工具 | 模型可以调用的函数,带有类型化的输入 | 模型,当它判断任务需要时 | search_issues(repo, query)、send_email(to, body) |
| 资源 | 应用可以读入上下文的数据 | 应用或用户,作为一轮对话的上下文 | 一个文件的内容、一份数据库结构、一个网页 |
| 提示词 | 可复用的指令模板 | 用户,从菜单中选择 | "依据我们的风格指南审阅这个pull request" |
传输格式是JSON-RPC 2.0,和编辑器与语言服务器通信所用的请求响应约定相同,这并非巧合:MCP借鉴了语言服务器协议(Language Server Protocol)的设计,那套标准让每个编辑器都能支持每种语言。一个服务器既可以作为子进程在本地运行,通过标准输入输出通信,也可以通过HTTP远程运行。2025年3月的修订版加入了可流式传输的HTTP传输方式,以及面向远程服务器的基于OAuth的授权;2025年6月的修订版收紧了该授权机制,并加入了一种让服务器在任务中途向用户提问的方式,称为elicitation。
对安全而言真正要紧的是循环发生在哪里。服务器暴露能力,客户端和模型决定何时使用它们。一个设计良好的宿主会在具有副作用的工具运行之前先征求你的同意,什么是提示注入解释了为什么一旦某个工具能读取不可信的文本并据此行动,这个确认环节就是整个安全模型。
OpenAI、Google和Microsoft在六个月内采用了MCP
一个标准只有在竞争对手也使用它时,才真正算得上标准。下面这张时间线记录了从发布到治理移交的采用历程。
OpenAI在2025年3月的采用是一个转折点,因为这意味着OpenAI和Anthropic在这个插头上达成了一致,Google在两周内跟进。Microsoft在2025年5月的Build大会上宣布Windows支持MCP。到2025年12月,Anthropic把规范移交给了Agentic AI Foundation,这是Linux基金会下由OpenAI和Block共同创立的一个项目,也正是这一刻,一家公司的协议变成了不属于任何人、因而属于所有人的协议。
如果你只用聊天应用,MCP对你意味着什么
直接来说,意义不大。MCP是程序之间的管道,它以功能的形式出现在基于它构建的产品里:聊天应用里的一个"连接器"菜单,编程助手里的一个工具列表,或是让你的编辑器接入公司数据库的一种方式。它会随着支持MCP的应用一起出现,通常就是一个连接器菜单,你不需要自己安装任何东西。
间接来说,它改变了你对任何AI产品的期待。在MCP出现之前,工具集成是选择某个应用而非另一个的理由,因为每个应用都要自己搭建。在它出现之后,集成变成了一种标准配置,真正剩下的问题是哪个模型来回答、成本多少,以及应用在工具执行前如何处理确认这一步。Whizi不暴露MCP服务器或开发者API,它的工具是内置的,网页搜索和文档上传,它的差异化在于模型层,280多个模型集中在一个选择器里,每条消息按固定的积分价格计费。对于需要自带工具的智能体工作,一个支持MCP的智能体运行时才是合适的产品,聊天工作区不是。
面对任何宣传支持MCP的产品,值得带走的一个问题是:从模型决定调用某个工具,到这个工具真正运行之间,发生了什么?如果答案是"什么也没有",模型就可能对它最后读到的任何文本采取行动,包括攻击者刻意放在它面前的文本。如果答案是"由你来批准",那这套协议就在起作用。
- 把"支持MCP"理解成"可以使用任何MCP服务器",这是一个插头,本身并不是一种能力
- 在连接任何有副作用的东西之前,先问清楚模型选定工具和工具运行之间隔着怎样的确认环节
- 对于任何共享用途,优先选择带OAuth的远程服务器;本地子进程服务器只适合你自己的机器
- 把模型当作决策者,把服务器当作菜单;服务器从不会自己调用自己
- 如果只是不用工具的聊天,MCP不会改变任何东西,挑模型和价格就够了
常见问题
MCP是什么的缩写?
Model Context Protocol。Anthropic于2024年11月25日将其作为一套开放标准发布,用于把AI应用连接到外部工具和数据。这个名字说的就是它的工作:以标准化的方式,把上下文,也就是工具、文件和数据,送到模型面前。
什么是MCP服务器?
一个以MCP格式暴露工具、资源或提示词的程序。它可能封装了一个数据库、一个文件系统、GitHub、日历或浏览器。只写一次,就能配合任何MCP客户端使用,所以一个面向公司数据的服务器,可以在聊天应用、编程助手和智能体运行时里通用,不需要做三套集成。
MCP只适用于Claude吗?
不是。Anthropic创建了它,但OpenAI在2025年3月采用了它,Google DeepMind在2025年4月让Gemini支持了它,Microsoft把它加进了Windows,2025年12月这份规范移交给了Linux基金会下的Agentic AI Foundation,由Anthropic、OpenAI和Block共同创立。它在设计上和治理上都是厂商中立的。
MCP和函数调用或工具使用是一回事吗?
函数调用是模型请求使用工具的能力。MCP则把应用如何发现、描述和运行这些工具标准化。一个支持函数调用的模型仍然需要有人为每个工具搭好接线;MCP就是这套接线,所以同一个服务器可以插进任何能调用函数的模型。
Whizi支持MCP吗?
不支持。Whizi是一个聊天工作区,它的工具是内置的,网页搜索和文档上传,它不暴露MCP服务器或开发者API。它的价值在于模型层,280多个模型集中在一个选择器里,每条消息按固定的积分价格计费。对于需要自定义工具的智能体工作,请使用支持MCP的智能体运行时,并自带你想用的模型。