
假设你是一个AI Agent的开发者。你的Agent需要访问GitHub、Slack、PostgreSQL、文件系统和Google Drive这5个工具。在MCP出现之前,你需要写5套完全不同的集成代码——不同的认证方式、不同的数据格式、不同的错误处理。如果你的Agent还要支持Claude、GPT、Gemini这3个模型,恭喜你,你需要写5×3=15套胶水代码。这就是AI工具集成的"N×M噩梦"。
2024年11月25日,Anthropic开源了一个协议,名叫MCP(Model Context Protocol)。
18个月后的今天:
它被称为AI领域的"USB-C接口"。 一个协议统一了所有AI工具的接入标准。
今天这篇文章,把MCP的技术架构、生态格局和实战落地讲透。
还记得2015年之前的手机充电线吗?
苹果用Lightning,三星用Micro-USB,诺基亚用圆口,索尼用自己的扁口。出门带一根线?不行,得带四根。买个新设备?又得买一根新线。
AI工具集成在MCP之前就是这个状态。
每个工具都有自己的API格式:
你要让AI Agent调用这些工具?每个都得写一遍"翻译层"。5个工具5套代码,50个工具50套代码。
MCP做的事情就是:定义一个标准接口,让所有工具都用同一种方式暴露能力。
1 之前:N个模型 × M个工具 = N×M 套集成代码
2 之后:N个模型 + M个工具 = N+M 套集成代码维度 | MCP之前 | MCP之后 |
|---|---|---|
接入5个工具 | 5套不同的集成代码 | 5个MCP Server,1套客户端 |
换一个模型 | 全部重写 | 0行代码改动 |
加一个新工具 | 写一套新集成 | 装一个MCP Server |
工具发现 | 手动配置 | 自动发现(tools/list) |
认证方式 | 每个工具不同 | 统一OAuth 2.1 |
开发周期 | 2周 | 2天 |
用人话说:以前每接一个工具都像是在装一个定制插座,现在只要插上标准USB-C就行。
MCP的架构非常清晰,只有三个角色:

MCP选择了JSON-RPC 2.0作为底层通信协议。为什么?因为它足够简单。
一个完整的工具调用只需要3步:
第1步:工具发现(tools/list)
1 // Client → Server
2 {"jsonrpc":"2.0","id":1,"method":"tools/list"}
3
4 // Server → Client
5 {"jsonrpc":"2.0","id":1,"result":{
6 "tools":[{
7 "name":"create_issue",
8 "description":"在GitHub上创建Issue",
9 "inputSchema":{
10 "type":"object",
11 "properties":{
12 "title":{"type":"string"},
13 "body":{"type":"string"}
14 }
15 }
16 }]
17 }}第2步:AI决定调用工具 模型看到可用工具列表后,根据用户请求自主决定调哪个。
第3步:工具执行(tools/call)
1 // Client → Server
2 {"jsonrpc":"2.0","id":2,"method":"tools/call",
3 "params":{"name":"create_issue",
4 "arguments":{"title":"修复登录Bug","body":"详见日志..."}}}
5
6 // Server → Client
7 {"jsonrpc":"2.0","id":2,"result":{
8 "content":[{"type":"text","text":"Issue #42 已创建"}]
9 }}就这么简单。 不需要学新框架,不需要特殊的SDK,任何能发HTTP请求的语言都能实现。
传输方式 | 场景 | 机制 |
|---|---|---|
stdio | 本地Server | 子进程通信,stdin/stdout |
Streamable HTTP | 远程Server(推荐) | 单HTTP端点,支持SSE流式 |
HTTP+SSE | 远程Server(已废弃) | 旧方案,不推荐 |
原语 | 方向 | 作用 | 例子 |
|---|---|---|---|
Tools | Server→Client | 可执行的函数 | 创建GitHub Issue、查询数据库 |
Resources | Server→Client | 只读数据源 | 文件内容、API响应、配置 |
Prompts | Server→Client | 可复用的提示模板 | System Prompt、Few-shot示例 |
Sampling | Client→Server | 让Server借用模型能力 | Server需要AI推理时反向调用 |
其中Sampling最有意思——它允许MCP Server反向调用Host里的AI模型。比如一个"代码审查"Server可以请求Host的模型来分析代码质量,而不需要自己调用API。
这意味着MCP Server不只是被动提供工具,还能主动利用AI能力。

时间 | 公司 | 动作 |
|---|---|---|
2024.11 | Anthropic | 开源MCP,Claude Desktop首个客户端 |
2025.03 | OpenAI | 全面接入:Agents SDK + Responses API + ChatGPT桌面版 |
2025.04 | Gemini确认支持MCP | |
2025.04 | 微软 | GitHub Copilot / VS Code支持MCP |
2025.09 | OpenAI | ChatGPT Apps支持MCP |
2025.12 | AAIF成立 | Anthropic将MCP捐赠给Linux Foundation旗下的Agentic AI Foundation |
AAIF(Agentic AI Foundation) 的联合创始成员:Anthropic、Block(Square母公司)、OpenAI。支持成员:AWS、Google、微软、Cloudflare、Bloomberg。
这意味着MCP已经不是Anthropic一家的协议了,而是由Linux Foundation治理的行业标准。
公司 | 动态 |
|---|---|
阿里云 | 全面支持MCP,在ModelScope上线MCP marketplace,接入1000+服务 |
腾讯 | 紧跟阿里宣布MCP支持 |
蚂蚁集团 | 将MCP集成到支付宝,支持自然语言支付和退款处理 |
百度 | 利用MCP驱动AI Agent对接订票、外卖等服务 |
用人话说:中国四大AI巨头全部接入了MCP。 这在AI协议标准化的历史上是罕见的共识——一个美国公司开源的协议,中国公司二话不说就全接了。
工具 | MCP支持 | 说明 |
|---|---|---|
Claude Code / Claude Desktop | ✅ 原生 | MCP诞生地 |
Cursor | ✅ | Agent模式可调用MCP Server |
VS Code / GitHub Copilot | ✅ | 微软官方支持 |
Windsurf | ✅ | Cascade代理支持 |
Replit | ✅ | 云端开发环境 |
Vercel | ✅ | 部署平台集成 |
Sourcegraph | ✅ | 代码搜索 |
Linear | ✅ | 项目管理 |
Zapier | ✅ | 自动化平台 |
2026年的状态:不支持MCP的AI工具,就像2020年不支持OAuth的API一样——你可以不接,但用户会用脚投票。
指标 | 数值 |
|---|---|
公开MCP Server数量 | 10,000+ |
GitHub上mcp-server仓库 | 15,926个 |
官方Registry注册数 | 9,652个 |
SDK月下载量 | 9700万次 |
SDK语言支持 | TypeScript/Python/Java/Kotlin/C#/Go/Rust/Swift/Ruby/PHP/Perl |
Server | Star数 | 功能 |
|---|---|---|
modelcontextprotocol/servers | 86,148 | 官方参考实现合集 |
Context7(Upstash) | 44,000+ | 上下文管理,npm周下载24万 |
Grafana MCP | 2,600+ | 监控数据查询 |
Anthropic提供了一系列"开箱即用"的参考Server:
Server | 功能 | 适合场景 |
|---|---|---|
Filesystem | 文件读写 | 本地开发 |
GitHub | Issue/PR/仓库操作 | 代码协作 |
PostgreSQL | 数据库查询 | 数据分析 |
Slack | 消息发送/频道管理 | 团队协作 |
Google Drive | 文件搜索/读取 | 文档管理 |
Puppeteer | 网页截图/操作 | 自动化测试 |
Memory | 知识图谱存储 | 持久化记忆 |
Sequential Thinking | 思维链推理 | 复杂问题分解 |
平台 | 说明 |
|---|---|
官方Registry | registry.modelcontextprotocol.io |
PulseMCP | 社区驱动的Server目录 |
Smithery | MCP Server托管平台 |
mcp.so | Server搜索引擎 |
阿里云ModelScope | 国内最大,1000+服务 |
维度 | MCP | A2A |
|---|---|---|
发起方 | Anthropic(2024.11) | Google(2025.04) |
解决的问题 | Agent调用外部工具和数据 | Agent之间的任务委派和协作 |
通信模型 | Client-Server(工具调用) | Peer-to-Peer(任务对话) |
发现机制 | tools/list(列出可用工具) | Agent Cards(描述Agent能力) |
交互模式 | 同步请求-响应 | 异步、有状态的对话 |
底层协议 | JSON-RPC 2.0 | HTTP(S) + SSE + JSON-RPC |
现有生态 | 10,000+ Server | 50+ launch partners |
一个完整的多Agent系统可以同时使用两个协议:
1 用户 → Agent A(MCP调用数据库查数据)
2 ↓
3 Agent A(A2A委派给Agent B做分析)
4 ↓
5 Agent B(MCP调用可视化工具出图表)
6 ↓
7 结果返回给用户MCP管"用什么工具",A2A管"找谁帮忙"。 就像HTTP和SMTP不是竞争关系——HTTP用来浏览网页,SMTP用来发邮件,各司其职。
版本 | 时间 | 关键变化 |
|---|---|---|
2024-11-05 | 2024.11 | 初始版本,SSE传输 |
2025-03-26 | 2025.03 | OAuth 2.1认证 + Streamable HTTP传输 |
2025-06-18 | 2025.06 | 结构化输出 + Server发起的用户交互(Elicitation) |
2025-11-25 | 2025.11 | 异步操作 + 无状态改进 + 官方Registry支持 |
初始版本的MCP没有内置认证机制。2025年3月版本引入了OAuth 2.1,要求远程Server必须实现:
这是MCP从"好用的玩具"变成"企业级基础设施"的关键一步。
风险 | 说明 |
|---|---|
Prompt注入 | 恶意Server通过工具描述注入攻击指令 |
数据外泄 | 工具权限过大导致敏感数据泄露 |
工具名抢注 | 恶意Server伪装成官方工具名 |
Token滥用 | 跨Server的Token复用(RFC 8707已部分解决) |
一个暴露"获取天气"工具的MCP Server,核心代码不到30行:
1 import { McpServer } from"@modelcontextprotocol/sdk/server/mcp.js";
2 import { StdioServerTransport } from"@modelcontextprotocol/sdk/server/stdio.js";
3 import { z } from"zod";
4
5 const server = newMcpServer({ name: "weather", version: "1.0.0" });
6
7 server.tool("get_weather",
8 { city: z.string().describe("城市名") },
9 async ({ city }) =>; {
10 const weather = awaitfetchWeather(city);
11 return { content: [{ type: "text", text: weather }] };
12 }
13 );
14
15 const transport = newStdioServerTransport();
16 await server.connect(transport);在claude_desktop_config.json中添加:
1 {
2 "mcpServers": {
3 "weather": {
4 "command": "node",
5 "args": ["weather-server.js"]
6 }
7 }
8 }重启Claude Desktop,它会自动发现并注册get_weather工具。当用户问"北京今天天气怎么样?"时,Claude会自主调用这个工具。
从开发到可用,不到10分钟。 这就是MCP相比自己写Function Calling的优势——零胶水代码。
阶段 | 事项 |
|---|---|
选型 | 优先用官方参考Server,不够再自建 |
安全 | 远程Server必须实现OAuth 2.1 + PKCE |
权限 | 每个Server最小权限原则 |
监控 | 记录所有tools/call日志 |
治理 | 统一注册中心管理内部MCP Server |
升级 | 跟进spec版本,当前建议用2025-11-25 |
当前MCP的会话是有状态的——Client和Server之间维持长连接。这在本地使用(stdio)没问题,但在企业级部署中会碰到负载均衡的难题:有状态会话很难水平扩展。
2025年11月版本做了无状态改进,但还没有完全解决。2026年roadmap的第一优先级就是Transport Evolution & Scalability。
MCP的社区提案数量已经远超核心团队的审查能力。虽然AAIF提供了Linux Foundation级别的治理框架,但贡献者阶梯和权限委派模型还在建设中。
2026年4月的MCP Dev Summit North America(纽约)有约1200人参加,社区热度很高,但治理速度需要跟上。
目前MCP缺少标准化的审计追踪(Audit Trail) 能力,这是金融、医疗等受监管行业的硬性要求。SSO集成和网关模式也在roadmap上,但尚未落地。
老周的判断:MCP的技术架构已经成熟,生态已经爆发。下一步的关键不是"能不能用",而是"能不能在大企业里用"。
回看技术史,真正改变行业的往往不是最复杂的技术,而是最简单的标准。
MCP大概率会成为AI工具生态的HTTP。 不是因为它技术最先进,而是因为它足够简单、足够开放,并且在关键时间窗口获得了关键玩家的共识。
18个月内,从Anthropic一家的实验项目,到OpenAI、Google、微软、阿里、腾讯全面接入,再到Linux Foundation托管——这个收敛速度比任何人预料的都快。
一句话总结:AI Agent的能力上限取决于模型,但能力下限取决于它能接多少工具。MCP把这个下限从"有多少胶水代码"变成了"有多少MCP Server"。
而现在,已经有10,000多个了。
我是老周,一个在架构领域摸爬滚打多年的技术人。如果这篇文章对你有帮助,欢迎点赞、在看、转发三连。关注「老周聊架构」,每周深度解读AI和架构的最新趋势。