MCP 解读:Anthropic 用一份协议,终结了 AI 工具的”战国时代”
协议:Model Context Protocol(模型上下文协议,MCP) 发布:Anthropic,2024 年 11 月 25 日开源 在 MCP 之前,AI 连工具是”一机一线”:每个模型、每个应用都得为每个数据源单独写集成代码,N 个模型 × M 个工具就是 N×M 次重复劳动。MCP 把这套碎片化的巴别塔拆掉,立起一根”AI 世界的 USB-C 接口”。到 2025 年中,连最大的竞争对手 OpenAI、Google 都下场采纳——这是 Anthropic 迄今最成功、影响力最出圈的行业基础设施贡献。
一、引言:模型与世界的”巴别塔”
大模型的短板从来不是”会说话”,而是”够不着世界”。它想查数据库、发邮件、操作浏览器、读写文件——每个能力背后都是一套不同的 API、不同的鉴权方式、不同的数据结构。开发者想让 AI 帮手干活,就得为每一条外部能力写一遍定制集成:连 Slack 写一份 Slack 集成,连 GitHub 再写一份 GitHub 集成,换个模型全得重来。
这就是 N×M 问题:N 个 AI 应用、M 个外部工具,传统做法需要 N×M 条定制连接。每加一个模型或一个工具,连接数就涨一大截,代码重复、维护爆炸、生态割裂。
Anthropic 的解法很直白:与其每家各拉各的线,不如定一个公共插座。2024 年 11 月 25 日,MCP 以开源协议的形式发布(MIT 许可),定义了一整套”AI 应用 ↔ 外部工具/数据源”的标准通信方式。工具侧只需实现一次 MCP server,任何支持 MCP 的 AI 应用都能即插即用;应用侧只需实现一次 MCP client,就能连上所有 MCP server。N×M 次定制,被压缩成 N+M 次实现。
二、架构拆解:三个角色、三类原语
MCP 采用典型的客户端-服务器架构,但多了一个明确的”宿主”概念,命名一度让人犯晕,拆开看其实很清爽:
- MCP Host(主机):你正对着的 AI 应用本身,比如 Claude Desktop、Cursor IDE、任何自定义 Agent。它负责跑模型、管理会话、向用户展示结果。
- MCP Client(客户端):跑在 Host 内部的”翻译官”,每个 Client 与一个 MCP Server 保持 1<1>1> 连接。你的 Agent 想连 Gmail、Slack、GitHub 三个服务,Host 里就跑三个 Client。
- MCP Server(服务器):一个轻量进程,把某个外部服务包装成 MCP 能懂的接口。有 Gmail server、GitHub server、PostgreSQL server……它只做翻译,把”模型发来的标准请求”转成”对应服务的原生 API 调用”。
通信底层是 JSON-RPC 2.0,传输方式两种:stdio(本地进程间通信,适合开发工具、本地插件,低延迟免鉴权)和 HTTP + SSE(远程服务,支持多用户、标准 HTTP 鉴权)。协议设计了初始化握手(initialize)和能力协商——Client 声明自己支持什么,Server 回声明自己有什么,避免运行时意外。
每个 Server 能暴露三种能力,论文里叫 原语(primitives),区别在于”谁掌握控制权”:
- Resources(资源):只读的上下文数据——文件内容、数据库记录、API 返回值。由应用/服务器控制,模型可以读、不能改,适合给模型”喂背景”。
- Tools(工具):可执行的函数——发邮件、跑代码、调第三方 API。控制权在模型手里,模型判断”现在该调用哪个”,Server 执行后把结果返回。
- Prompts(提示模板):可复用的提示词/工作流模板,比如”排查一笔失败支付”的结构化流程。控制权在用户手里,用来保证交互一致性。
三种原语合起来,正好覆盖”AI 从被动读数据到主动做动作”的全谱系,再加上后来补充的 Sampling(模型主动向 Server 请求补全) 和 Roots(权限边界),就是一个完整的 Agent 集成层。
三、与 LSP 的血缘:把”解耦”再做一遍
MCP 最容易被理解的方式,是拿 LSP(Language Server Protocol,语言服务器协议) 做类比——Anthropic 自己也是这么讲的。LSP 是微软 2016 年提出的协议,让代码编辑器与语言分析引擎解耦:语言工具厂商写一次语言服务器,所有编辑器(VS Code、Vim、Emacs……)都能用;编辑器厂商实现一次客户端,就能支持所有语言。它的伟大之处不在技术,而在让”一对一”变成”一对多”。
MCP 就是把 LSP 的模式复制到 AI 领域,主角从”编辑器/语言服务器”换成”AI 应用/外部工具”。甚至设计哲学都一脉相承:LSP 解决”每家编辑器都要写一遍语法高亮”,MCP 解决”每个 AI 应用都要写一遍 Slack 集成”;LSP 用 JSON-RPC、MCP 也用 JSON-RPC;LSP 靠协议让生态爆炸,MCP 想复制的正是那个爆炸。
类比 USB-C 更通俗:物理世界里,一台设备配一根线是灾难,USB-C 定了统一接口,任何设备、任何线缆都能互通。MCP 就是 AI 世界的那根通用线——工具侧做一次,模型侧全兼容。
四、生态影响:从”Claude 的协议”到”行业的协议”
MCP 发布时的身份是”Anthropic 的开放标准”,但它很快跑出了 Anthropic 的射程。几个关键节点:
- 首发即装机:Claude Desktop 是第一个支持 MCP 的 Host,用户能本地装 server 直接连文件、连数据库。
- 开发者工具跟进:几个月内 Cursor、Windsurf、Zed 等主流 IDE/编辑器全面接入——这些跟 Anthropic 没有从属关系,纯靠开放协议吸引来的。
- 最大对手下场:2025 年 3 月,OpenAI 官宣在其产品中支持 MCP——这是决定性的时刻。紧接着 Google 的 Gemini 生态也跟进。此前被视为”Anthropic 私货”的协议,就此成为事实标准。
- 社区爆发:官方维护 TypeScript、Python SDK,社区补齐 Java、Go、Rust、C#;GitHub 上 modelcontextprotocol 组织下,官方+社区的 MCP server 数以千计,覆盖 Slack、GitHub、Google Drive、PostgreSQL、浏览器自动化等主流场景。规范文档在 modelcontextprotocol.io,全程开放。
从公司战略看,MCP 对 Anthropic 的意义远超一个技术产品。它把 Anthropic 从一个”卖模型的公司”抬进了”定义行业接口的公司”行列——竞争对手可以不用你的模型,但不得不用你的协议。这跟 Anthropic 一贯的”研究驱动、生态开放”路线一脉相承,也是它对抗 OpenAI/Google 生态壁垒的筹码。
收尾:我的一点看法
MCP 的成功,我认为一半靠设计,一半靠时机。设计上,它没有发明任何高深技术——JSON-RPC、客户端-服务器、能力协商全是成熟套路,它做对的是”把正确的边界画出来”:用原语区分”读、执行、模板”三种交互,让控制权归属清晰。时机上,2024 年底正是 Agent 概念爆发的当口,所有人都被”工具碎片化”卡得难受,MCP 恰好在痛点最痛的时候递上了方案。好协议往往不是”技术最先进”,而是”出现得比想象中早一点”。
很多人把 MCP 和 USB-C 类比,我觉得更准确的类比是 LSP。USB-C 是物理标准,换一次插头就没有回头路;而 MCP 的价值恰恰在于它是软件协议——进可攻退可守,随时可以迭代。LSP 用了十年才让”编辑器支持所有语言”变成理所当然,MCP 才两年就走到了”OpenAI 都得低头”,这个速度本身就是行业焦虑的写照:Agent 时代来了,没人愿意被锁在别人的私有连接里。
如果说这篇解读要留一句话,我想是:Anthropic 在 2024 年做了两件”送别人武器”的事——MSJ 把自家模型的漏洞公开,MCP 把自家生态的地基开源。前者短期内让对手也受益,后者长期看让全行业受益。一家公司的安全研究和商业战略能导向同一个”开放”结论,这在巨头林立的 AI 行业里,是相当罕见的姿态。
当然,MCP 不是终点。2025 年 A2A(Agent-to-Agent)、各家 Agent 互联协议又冒了出来,MCP 解决的是”模型↔工具”,Agent 之间的通信还是新战场。但有一个判断可以下:“模型上下文协议”这个命名已经赢了——它把”上下文(context)“从模型内部的概念,变成了行业通用的接口语言。
附:核心数据速查
基本盘
| 项目 | 数值 |
|---|---|
| 协议名称 | Model Context Protocol(模型上下文协议,MCP) |
| 发布方 / 时间 | Anthropic,2024 年 11 月 25 日开源(MIT) |
| 底层通信 | JSON-RPC 2.0(stdio / HTTP + SSE) |
| 官方 SDK | TypeScript、Python(社区补 Java/Go/Rust/C#) |
| 协议版本标识 | 2024-11-05 |
关键数据
| 指标 | 数值 |
|---|---|
| 解决的问题 | N×M 工具集成碎片化 → 压缩为 N+M |
| 首个支持 Host | Claude Desktop |
| 决定性事件 | 2025 年 3 月 OpenAI 官宣支持 MCP(随后 Google 跟进) |
| 生态规模 | 官方+社区 MCP server 数千个,覆盖主流工具/数据源 |
| 普及范围 | Cursor、Windsurf、Zed 等第三方工具全面接入 |
关键概念清单
- MCP = Model Context Protocol,模型上下文协议(AI 应用与外部工具/数据源的标准连接协议)
- N×M problem = 集成碎片化问题(N 个模型 × M 个工具需要 N×M 次定制连接)
- Host = 主机(运行 LLM 的 AI 应用,如 Claude Desktop、Cursor)
- Client = 客户端(Host 内部与单个 Server 保持 1<1>1> 连接的翻译中间层)
- Server = 服务器(包装外部服务、暴露 MCP 能力的轻量进程)
- Resources = 资源(只读上下文数据,控制权在应用/服务器)
- Tools = 工具(模型可调用的可执行函数)
- Prompts = 提示模板(用户控制的预定义工作流)
- Sampling = 采样(Server 反向请求模型生成补全)
- Roots = 根(权限边界机制)
- JSON-RPC 2.0 = 协议底层消息格式(请求/响应/通知三类消息)
- stdio / HTTP+SSE = 本地进程传输 / 远程网络传输
- LSP = Language Server Protocol,语言服务器协议(MCP 的设计范本)
- A2A = Agent-to-Agent(Agent 间互联协议,MCP 之后的下一战场)
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时





