还记得 2000 年代初手机充电器的混乱吗?诺基亚用小圆口,摩托罗拉用 mini-USB,索尼爱立信有自己的专用接口,三星又是另一种。出门要带三根线,借别人的充电器发现插不上。后来 USB 统一了一切——不管你是什么品牌的设备,一根线就搞定。AI Agent 的世界正在经历类似的变革:每个 AI 模型调用工具的方式都不一样,每个工具服务的接入方法都不同。这时候就需要一个”USB 标准”来统一它们——这就是 MCP(Model Context Protocol,模型上下文协议)

这是「小白讲 AI」系列的第 16 篇。前三篇我们沿着进化线走完了 Context Engineering → Harness 工程 → Loop 工程。这一篇我们聊一个让 Agent 能力倍增的关键技术:MCP 协议——它正在成为 Agent 世界的基础设施。

一、开场类比:从充电口的混乱到 USB 的统一

在没有 MCP 之前,Agent 想调用外部工具是什么体验?

假设你在搭建一个 Agent,它需要用到三种工具:搜索引擎、日历服务和代码执行器。每个工具的接入方式都不一样:

  • 搜索引擎用 REST API,需要 API Key,返回 JSON
  • 日历服务用 GraphQL,需要 OAuth 认证,返回嵌套对象
  • 代码执行器通过 WebSocket 通信,需要维持长连接

为了让 Agent 用上这三个工具,你要写三套完全不同的适配代码——认证方式不同、通信协议不同、数据格式不同、错误处理不同。如果你的 Agent 需要 10 个工具呢?20 个呢?

这就是经典的 N×M 问题:N 个 AI 模型 × M 个工具 = N×M 个适配器。每加一个模型或一个工具,适配工作量就指数级增长。

MCP 的解决方案很优雅:定义一个统一的协议标准,让所有模型和工具都说”同一种语言”。这样 N×M 变成了 N+M——每个模型只需要支持 MCP 协议(N 个适配器),每个工具也只需要实现 MCP 协议(M 个适配器),它们之间就自动能对话了。

没有 MCP 有 MCP
类比 每个手机一种充电口 全部用 USB-C
适配工作量 N × M N + M
加一个新工具 所有模型都要适配 工具只需实现 MCP
加一个新模型 所有工具都要适配 模型只需支持 MCP

二、MCP 是什么:一句话定义

MCP(Model Context Protocol)是一个开放协议,让 AI 模型能以统一的方式发现和调用外部工具、访问数据源。

注意几个关键词:

  • 开放协议:不是某家公司的私有接口,而是公开的标准,任何人都可以实现
  • 统一方式:不管你的工具是搜索引擎、文件系统还是数据库,接入方式都一样
  • 发现和调用:Agent 不需要预先知道有哪些工具,MCP 支持动态发现——“你有什么工具?能做什么?参数是什么?”

你可以把 MCP 理解为 Agent 世界的 HTTP——就像 HTTP 让所有浏览器和网站能互相通信一样,MCP 让所有 AI 模型和工具能互相通信。

三、协议架构:三个角色

MCP 的架构有三个角色,理解了它们就理解了整个协议的骨架。

Host(宿主)

Host 是用户直接交互的应用程序——比如 Claude Desktop、ChatGPT、Cursor、VS Code。Host 负责创建和管理 MCP Client 实例。

你可以把 Host 理解为你的手机——它是你直接使用的设备。

Client(客户端)

Client 是 Host 内部的一个模块,负责与 MCP Server 建立连接和通信。每个 Client 通常对应连接一个 Server。

Client 就像你手机里的 USB 驱动程序——你看不到它,但它在幕后让你的手机能跟各种 USB 设备通信。

Server(服务器)

Server 是提供具体能力的服务——比如一个文件系统 Server 让 Agent 能读写文件,一个 GitHub Server 让 Agent 能操作代码仓库,一个搜索引擎 Server 让 Agent 能搜索网页。

Server 就像各种 USB 外设——U 盘、键盘、打印机——每个提供不同的功能,但都通过统一的 USB 接口连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──────────────────────────────────┐
│ Host(比如 Claude) │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Client A │ │ Client B │ │
│ └────┬─────┘ └────┬─────┘ │
└───────┼──────────────┼───────────┘
│ │
MCP 协议 MCP 协议
│ │
┌────▼─────┐ ┌────▼──────┐
│ Server A │ │ Server B │
│ (文件系统)│ │ (GitHub) │
└──────────┘ └───────────┘

四、三大原语:MCP 能传递什么

MCP 协议定义了三种核心原语(Primitives),也就是模型和工具之间能交换的三种”东西”。

原语一:Tools(工具)

这是最直观的原语——让 Agent 能”做事情”。一个 MCP Server 可以暴露多个 Tool,每个 Tool 有名称、描述和参数定义。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"name": "search_files",
"description": "在指定目录中搜索包含关键词的文件",
"inputSchema": {
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "要搜索的目录路径"
},
"keyword": {
"type": "string",
"description": "搜索关键词"
}
},
"required": ["directory", "keyword"]
}
}

Agent 看到这个 Tool 的描述后,就知道:”哦,这个工具能搜索文件,我需要给它一个目录路径和一个关键词。”然后 Agent 就可以自主决定何时调用它。

原语二:Resources(资源)

Resources 让 Agent 能”读数据”——类似于 REST API 中的 GET 请求。一个 Resource 有一个 URI,Agent 可以通过 URI 来获取数据。

1
2
3
4
5
{
"uri": "file:///path/to/project/README.md",
"name": "项目说明文件",
"mimeType": "text/markdown"
}

Resources 和 Tools 的区别是:Tools 是”做事”(有副作用),Resources 是”看数据”(只读)。就像你去银行,Tools 是”转账”,Resources 是”查余额”。

原语三:Prompts(提示模板)

Prompts 让 Server 预定义一些可复用的提示词模板,Agent 可以直接使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"name": "code_review",
"description": "审查一段代码并给出改进建议",
"arguments": [
{
"name": "code",
"description": "要审查的代码"
},
{
"name": "language",
"description": "编程语言"
}
]
}

这个原语的使用频率比 Tools 和 Resources 低,但在某些场景下很有用——比如一个公司内部的 MCP Server 可以预置公司特定的代码审查模板。

五、Transport 层:怎么通信

MCP 定义了两种通信方式(Transport),适用于不同的场景。

Stdio(标准输入/输出)

适用于本地运行的 MCP Server。Host 启动 Server 进程后,通过 stdin/stdout 管道通信。

1
2
Host 启动 → Server 进程
Host ←→ Server(通过 stdin/stdout 交换 JSON-RPC 消息)

优点:简单、快速、无需网络
缺点:只能本地用
典型场景:本地文件系统操作、本地数据库查询

HTTP + SSE(Server-Sent Events)

适用于远程 MCP Server。Client 通过 HTTP 发请求,Server 通过 SSE 推送事件。

优点:支持远程访问、可横向扩展
缺点:有网络延迟
典型场景:云端 API 服务、团队共享的工具服务

大多数用户日常使用的是 Stdio 方式——在你自己的电脑上启动一个 MCP Server,让 Claude Desktop 或 Cursor 连接它。

六、2026 年的 MCP 生态:爆发式增长

MCP 协议由 Anthropic 在 2024 年底发布。仅仅一年多时间,它的生态就经历了惊人的增长。以下是 2026 年上半年的最新数据:

治理:从”一家公司的协议”变成”全行业的标准”

2025 年 12 月,Anthropic 做了一个里程碑式的决定:将 MCP 捐赠给了 Linux 基金会,并联合 Block(Square 的母公司)和 OpenAI 共同创立了 Agentic AI Foundation (AAIF)

是的,你没看错——Anthropic 和 OpenAI,两家在商业上激烈竞争的公司,在 MCP 这件事上选择了合作。Google、Microsoft、AWS、Cloudflare、Bloomberg 作为白金会员加入了 AAIF。

AAIF 的三个创始项目:

  • MCP(来自 Anthropic):模型与工具的通信协议
  • goose(来自 Block):开源 Agent 运行时
  • AGENTS.md(来自 OpenAI):Agent 行为描述标准

这意味着 MCP 不再是”Anthropic 的协议”,而是一个由整个行业共同维护的中立标准。就像 Linux 不属于任何一家公司,MCP 现在也不属于 Anthropic 了。

生态规模

截至 2026 年上半年:

  • 10,000+ 活跃的公共 MCP Server
  • 约 9,700 万 月 SDK 下载量(Python + TypeScript)
  • MCP Registry(官方注册中心)收录近 2,000 个 Server

广泛支持

几乎所有你听说过的 AI 产品和框架都已支持 MCP:

类型 支持方
AI 产品 Claude、ChatGPT、Cursor、Gemini、Microsoft Copilot、VS Code
Agent 框架 LangGraph、CrewAI、AutoGen/AG2、OpenAI Agents SDK、AWS Bedrock Agents、Claude Agent SDK

这意味着:你写一个 MCP Server,它就能被上面所有产品和框架使用。写一次,到处用。

七、MCP Apps:从”调工具”到”看界面”

2026 年 1 月,MCP 迎来了第一个重要的官方扩展——MCP Apps

之前的 MCP 工具返回的都是纯文本或 JSON 数据。MCP Apps 让工具能返回富 HTML 界面——在聊天窗口中直接渲染交互式的 UI。

想象这样一个场景:你让 Agent 帮你查数据库中的用户数据。以前 MCP 返回的是一堆文本或 JSON,你得自己去理解。有了 MCP Apps,Agent 可以直接在聊天窗口中展示一个漂亮的数据表格,支持排序、筛选、分页。

MCP Apps 的技术实现是通过沙箱化的 iframe 来渲染 HTML 内容——既提供了丰富的交互能力,又通过沙箱隔离确保了安全性。

这个扩展是 Anthropic 和 OpenAI 联合开发的,初期支持 Claude、ChatGPT、Goose 和 VS Code。

八、MCP 的 2026 路线图

MCP 的 2026 年发展路线图围绕四个优先方向展开:

方向一:Transport Evolution(传输层演进)

目标是让 MCP 支持无状态的水平扩展——这对企业级部署至关重要。现在的 MCP 连接是有状态的(Client 和 Server 之间保持一个持久连接),这让它很难像普通 Web 服务那样横向扩展。

另一个重点是离线能力发现:通过 .well-known 元数据文件,Client 在连接 Server 之前就能知道它提供了哪些工具,无需先建立连接再查询。

方向二:Agent Communication(Agent 间通信)

Tasks primitive(任务原语,SEP-1686) 已经实验性发布——它让 Agent 能通过 MCP 发起异步任务。比如 Agent A 可以把一个耗时任务交给 MCP Server,过一会儿再来检查结果,期间不需要保持连接。

这个原语正在根据生产环境的反馈迭代,计划加入重试语义和过期策略。

方向三:Governance Maturation(治理成熟化)

在 AAIF 框架下完善协议的治理流程——谁能提交修改?怎么评审?怎么发布新版本?这些流程性的东西听起来无聊,但对一个开放标准的长期健康发展至关重要。

方向四:Enterprise Readiness(企业就绪)

让 MCP 满足企业级需求:更强的认证授权机制、审计日志、合规支持等。

九、实操体验:5 分钟感受 MCP

说了这么多概念,让我们快速体验一下 MCP 的效果。

场景:让 Claude Desktop 通过 MCP 操作本地文件

Step 1:配置 MCP Server

在 Claude Desktop 的配置文件中添加一个文件系统 MCP Server:

1
2
3
4
5
6
7
8
9
10
11
12
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/Documents"
]
}
}
}

Step 2:重启 Claude Desktop

重启后,Claude 会自动发现并连接这个 MCP Server。

Step 3:体验

现在你可以直接对 Claude 说:”帮我看看 Documents 目录下有哪些文件”或者”在 Documents 下创建一个名为 test.md 的文件,内容是 Hello MCP”。

Claude 会通过 MCP 协议调用文件系统 Server 的工具来完成这些操作——你不需要手动打开终端、输入命令。Agent 直接”伸手”操作你的文件系统了。

这就是 MCP 的魔力:一个标准化的 Server,让任何支持 MCP 的 AI 产品都能获得文件操作能力。

十、MCP 的局限与安全考量

MCP 很强大,但它也有需要注意的问题。

安全风险

MCP Server 能让 Agent 访问你的文件系统、数据库、API 等敏感资源。如果 Server 本身有安全漏洞,或者你不小心安装了一个恶意的第三方 Server,后果可能很严重。

建议

  • 只使用可信来源的 MCP Server
  • 给 Server 配置最小权限(比如文件系统 Server 只允许访问特定目录)
  • 在生产环境中使用认证机制

Server 质量参差不齐

MCP Registry 中有近 2,000 个 Server,但质量差异很大。有些 Server 文档完善、测试充分,有些则是实验性项目,可能有 bug 或不稳定。

建议:选择下载量高、有持续维护的 Server;在正式使用前先在测试环境验证。

版本兼容性

MCP 协议还在快速迭代,不同版本的 Client 和 Server 之间可能存在兼容性问题。

建议:关注 MCP 的官方 changelog,及时更新 SDK 版本。

总结

让我们回顾一下今天的内容:

  • MCP 是 Agent 世界的”USB 接口”——统一了 AI 模型和工具之间的通信方式,把 N×M 适配问题简化为 N+M。
  • 三个角色:Host(宿主应用)、Client(通信模块)、Server(工具服务)。
  • 三大原语:Tools(做事)、Resources(读数据)、Prompts(模板)。
  • 两种通信方式:Stdio(本地)和 HTTP+SSE(远程)。
  • 2026 年生态爆发:已捐赠给 Linux 基金会、10,000+ Server、9,700 万月下载、几乎所有主流 AI 产品和框架都支持。
  • MCP Apps:从纯文本扩展到富 HTML 界面,由 Anthropic 和 OpenAI 联合开发。
  • 需要注意安全:只用可信 Server、最小权限、验证后再正式使用。

MCP 正在成为 Agent 生态的基础设施层——就像 HTTP 之于 Web、USB 之于硬件。学会 MCP,你就掌握了 Agent 与外部世界连接的通用语言。


延伸阅读

  1. MCP 官方文档 —— 协议规范、SDK 文档、教程,了解 MCP 的最权威来源。
  2. Anthropic 捐赠 MCP 与 AAIF 成立公告 —— 理解 MCP 从”公司协议”到”行业标准”的历史性转变。
  3. MCP 2026 路线图 —— 官方发布的 2026 年四大优先方向详解。

小白讲 AI 系列第 16 篇完。下一篇我们聊聊 Agent 框架对比与选型——MCP 是连接工具的协议,但你还需要一个框架来编排整个 Agent。LangGraph、OpenAI Agents SDK、CrewAI……到底该选哪个?