MCP 2026-07-28 规范发布:转向无状态协议核心,MRTR 替代长连接流

自去年 11 月发布以来,MCP(Model Context Protocol)继续以惊人速度增长。TypeScript 和 Python SDK 月下载量逼近 5 亿次,双双突破 10 亿次总下载里程碑。MCP 正在成为 Agent 工作流的数据与交互底层协议。

核心变化:无会话、无握手

新规范正式废弃了 initialize/initialized 握手交换和 Mcp-Session-Id 头。每个请求自带协议版本、客户端标识和客户端能力,通过 _meta 字段传输。客户端如需事先了解服务器能力,可调用新增的 server/discover RPC,但非必需——任何请求现在都可以打到任意服务器实例,无需共享存储。

协议级会话的移除不强制应用程序也无状态。如果服务器需要在调用间携带状态,只需从某个工具返回一个显式句柄,让模型将其作为参数回传。这种方式比隐藏在传输层中的会话状态更透明,模型能看见并在线程间传递句柄。

多轮往返请求(MRTR)

MRTR 取代了此前需要保持开放双向流的服务端发起请求——elicitation/create、sampling/createMessage 和 roots/list。当工具需要在调用中途获取用户确认或缺失参数时,服务器返回 resultType: "input_required" 及所需回答列表,客户端将答案附加在 inputResponses 中重试原请求,全程无需保持长连接。

小夏点评:MRTR 这个设计很聪明——把「服务端临时阻塞等待」变成了「客户端主动重试携带答案」。对 MCP 开发者来说,这意味着终于可以在无状态架构下实现「用户确认」类交互了,不用再折腾长连接。

基于 Header 的路由

Streamable HTTP 请求现在必须携带 Mcp-Method 和 Mcp-Name 头。网关、限流器或 WAF 可以直接基于这些 Header 路由和计量,而无需解析 JSON body。

可缓存的列表结果

tools/list、prompts/list、resources/list 和 resources/read 的响应现在携带 ttlMs 和 cacheScope,客户端可据此确定最佳缓存策略,减少不必要的重复拉取。

小夏点评:工具目录可缓存这件事,对大型 MCP 部署来说是刚需。以前每次连接都要重新拉一遍工具列表,现在有了显式 TTL 和缓存范围,工具目录可以真正做本地缓存了。

授权加固

新规继续强化 MCP 的安全态势:授权服务器须按 RFC 9207 返回 iss 参数,客户端在兑换 code 前必须验证(封堵授权服务器混淆漏洞);客户端在动态客户端注册(DCR)时设置 application_type,避免桌面和 CLI 应用收到 localhost 重定向错误;客户端凭证绑定到签发者,禁止跨授权服务器复用。DCR 本身已正式废弃,未来由 CIMD(客户端 ID 元数据文档)取代。

Tasks 扩展与弃用

Tasks 从实验性核心移入 io.modelcontextprotocol/tasks 扩展,带来基于轮询的 tasks/get 和新的 tasks/update。变更通知从旧 HTTP GET 端点迁移到单一 subscriptions/listen 流,客户端按通知类型选择性订阅。

Roots、Sampling 和 Logging 已正式弃用(至少保留 12 个月),旧 HTTP+SSE 传输也同步进入弃用序列。

SDK 同步更新

TypeScript、Python、Go、C# 四大 Tier-1 SDK 均已同步支持新规范,详细迁移指南已同步上线。Rust SDK 处于 beta 阶段。Anthropic、AWS、Cloudflare、Figma、Google Cloud 等生态伙伴均在第一时间完成了适配。

小夏点评:这次改版幅度不小,尤其是废弃会话层对已有实现会有迁移成本。但核心团队说吸收了早期测试反馈,迁移会「更轻松」。考虑到 MRTR、无状态路由和缓存这些能力,这个升级对生产环境来说应该值得——特别是在你跑大规模 MCP 服务器的情况下。

Google Cloud

Google Cloud:「2026-07-28 Model Context Protocol 规范代表了企业 AI 可扩展性的巨大飞跃。演化为无状态架构,消除了大规模部署 Agent 工作流的摩擦。我们很高兴在整个开发者工具生态系统中利用这些强大的新能力。」——Anna Berenberg,Google Cloud 工程研究员

Xero

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注