MCP 发布 2026-07-28 规范:协议核心转成无状态,会话握手被移除

Model Context Protocol 于 7 月 28 日发布 2026-07-28 规范,取代 2025-11-25。最大变化是协议核心转为无状态:initialize 握手和 Mcp-Session-Id 会话头被移除,服务端不再向客户端发起请求,改用多轮往返请求补齐交互。远程 MCP 服务器因此不再需要粘性会话,但依赖会话的实现要迁移。

无状态:每个请求自带身份和能力

新规范由项目 lead maintainer David Soria Parra 与 Den Delimarsky 署名发布,5 月 21 日锁定候选版本,经十周验证后定稿。核心改动是把 MCP 从有状态的双向协议改成请求/响应模型:initialize / initialized 握手和传输层的 Mcp-Session-Id 头都被移除,协议版本、客户端标识和能力改为随每次请求放在 _meta 里携带,客户端可用新增的 server/discover 预先查询服务端支持情况。

交互、路由和缓存都换了做法

服务端发起请求的能力随会话一起消失,取而代之的是多轮往返请求(MRTR):需要用户确认或补参数时,服务端返回 resultType: "input_required",客户端带上 inputResponses 重试。HTTP 请求新增 Mcp-Method、Mcp-Name 头,网关和限流器不用再解析 JSON body 就能路由计量;tools/list、resources/read 等列表结果开始带 ttlMs 和 cacheScope,可以被客户端缓存。授权侧要求按 RFC 9207 校验 issuer,动态客户端注册(DCR)正式弃用,转向 CIMD。

对自建服务的实际影响

对部署方,好处是明确的:远程 MCP 服务器不再需要粘性会话和共享会话存储,可以直接放在普通轮询负载均衡后面,也更容易落到 Serverless 和边缘环境。代价是这次含破坏性变更,凡是依赖会话标识的实现都要改;Roots、Sampling、Logging 和旧的 HTTP+SSE 传输进入弃用期,按新版功能生命周期策略,从弃用到最早移除至少间隔 12 个月。Tasks、MCP Apps 等能力则移入带版本的扩展框架。TypeScript、Python、Go、C# 等 Tier 1 SDK 已支持新版,Rust SDK 为 beta。Anthropic 表示 Claude 各产品线会陆续支持,但未公布具体时间表。

via: Model Context Protocol 官方博客(2026-07-28;核实于 2026-07-29)