协议版本: 2026-07-28 (Final)
月度 SDK 下载量: 4 亿+ | 服务器总数: 13,870+
2026 年 7 月 28 日,MCP(Model Context Protocol)v2 规范正式定稿。这是自 2024 年 11 月发布以来规模最大的一次修订——核心架构从有状态、会话绑定全面转向无状态、请求自包含的分布式友好模型。
这意味着什么?简单说:你可以像部署普通微服务一样部署 MCP 服务器了。
一、先看个全景
MCP v2 的关键变化可以概括为 "一删、三弃、两扩、一升":
二、最核心的变革:无状态化
以前的问题
v1 中每个 MCP 连接都要走一个 initialize 握手,拿回一个 Mcp-Session-Id,后续请求都要带着这个 ID。这就意味着:
客户端被钉死在某一个服务器实例上
**想水平扩展?**得用粘性会话或共享 Redis 存会话
**Kubernetes 部署?**Ingress 规则要写解析 session ID 的 hack
**Lambda/Cloudflare Workers?**基本没法好好跑
v2 怎么改的
删掉握手,每请求自包含。每个 JSON-RPC 请求通过 _meta 字段携带协议版本、客户端身份和能力信息。任何服务器实例都可以处理任何请求。
v1:有状态
POST /mcp → 返回 Mcp-Session-Id xxx
GET /mcp?id=xxx → SSE 流(长连接)
POST /mcp?id=xxx → 发请求
v2:无状态
POST /mcp
Headers: MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Body: { _meta: { clientInfo, capabilities }, params: {} }
运维上带来什么好处
负载均衡:简单的轮询即可,粘性会话拜拜
K8s Service:
sessionAffinity: ClientIP→sessionAffinity: None部署策略:标准滚动更新,无需优雅排空会话
网关路由:直接基于
Mcp-Method头部路由无服务器架构:AWS Lambda、Vercel、Cloudflare Workers 天然支持
💡 如果还需要跨调用保存状态怎么办?
用"显式句柄"模式——工具调用返回一个basket_id,后续调用把它当参数传回来。状态以数据形式存在,比藏在连接里更清爽。
三、新增协议特性
多轮次请求(MRTR)
工具可以在执行过程中返回 InputRequiredResult 来询问用户,客户端拿到回答后重试请求。解决了之前需要持久通道才能做用户确认的问题。
可路由传输头
新增两个标准 HTTP 头:
Mcp-Method:标识调用的是哪个 RPC 方法(tools/call、tools/list等)Mcp-Name:调用命名资源时携带名称
网关和限流器无需解析 JSON 请求体就能做路由、计费和限流。
响应缓存
tools/list、resources/list 等列表响应现在返回 ttlMs(多久算"新鲜")和 cacheScope(共享范围)。工具清单变化不频繁的服务器,设置一个较大的 ttlMs 可以省掉每次 agent 轮次的重复查询。
标准错误码
MCP 自定义错误码 -32002(资源不存在)迁移为 JSON-RPC 标准 -32602。
四、哪些功能被弃用了
v2 引入正式弃用政策(SEP-2596):标记弃用后至少保持可用 12 个月,最早移除日期是 2027-07-28。
⚠️ Sampling 是迁移工作量最大的——它改变了模型调用发生的位置(从客户端移到服务器端)。如果你的服务器用到了 Sampling,建议尽早规划。
五、扩展框架:MCP 的"插槽"
v2 正式把扩展提升为一等公民,使用反向 DNS 标识符和独立版本号。两个官方扩展随 v2 发布:
MCP Apps
服务器可以返回交互式 HTML 界面,在客户端的沙箱化 iframe 中渲染,通过 postMessage 双向通信。支持 Cluade、Goose、VS Code Insiders、ChatGPT。
想象一下:一个数据库查询工具,返回的不是纯文本结果,而是可以直接在聊天界面里操作的交互式表格。
Tasks(任务)
处理耗时操作的标准异步模式。服务器返回 taskId,客户端轮询状态,支持暂停等待输入和取消操作。taskId 可跨连接存活——断线重连后还能继续查询。
适用场景:CI/CD 流水线触发、大数据分析、长时间策略扫描等。
六、授权体系全面升级
OAuth 2.1 + OIDC 强制
v2 要求支持最新的 OAuth 2.1 和 OpenID Connect 标准,包括:
强制 RFC 9207 发行者验证
动态客户端注册废弃,转向更安全的显式注册
阶梯式权限提升中的作用域累积
企业托管授权(EMA)
2026-06-18 发布稳定版。解决了企业部署 MCP 最大的痛点——每个员工都要手动授权每个服务器。
工作原理:管理员在 Okta 等身份提供商处配置一次,用户在 SSO 登录时自动完成授权,无需逐个点击同意。
早期采用者:
身份提供商:Okta
客户端:Anthropic Cluade、VS Code
服务端:Asana、Atlassian、Canva、Figma、Linear、Supabase
七、四大 SDK 变更一览
🔧 TypeScript 用户特别注意:v2 不是改版本号就能升级的——它换包名了!
@modelcontextprotocol/sdk→@modelcontextprotocol/server和@modelcontextprotocol/client。官方提供了 codemod 工具:npx @modelcontextprotocol/codemod@beta v1-to-v2 .
八、不慌,现有服务不会停
官方明确承诺:
弃用功能也有 12 个月宽限期,不会突然不能用。
但建议现在就做三件事:
审计——你的服务器依赖会话状态吗?用了 Sampling/Roots/Logging 吗?
原型——拉一个分支,用 Beta SDK 试一试
规划——先在非关键服务器上升级,逐步推进
九、关键时间线回顾
十、资源与参考
MCP 官方网站:modelcontextprotocol.io
变更日志:spec changelog
Python SDK 文档:py.sdk.modelcontextprotocol.io
TypeScript SDK 文档:ts.sdk.modelcontextprotocol.io
MCP 正在从一个面向单应用的本地协议,进化为支撑大规模分布式 AI Agent 基础设施的开放标准。v2 定稿不是终点,而是起点。
这个生态,值得每一个做 AI 基建的人持续关注。