7月29日消息,Model Context Protocol(MCP)第五个规范版本 2026-07-28 于 7月28日正式发布,官方称这是协议发布以来最大的一次修订。核心变化是协议层无状态化:initialize 握手与 Mcp-Session-Id 会话头被移除,任何请求可以落到任何服务器实例上。同步落地的还有正式的扩展框架和与企业 OAuth/OIDC 部署对齐的授权体系,Anthropic 同日宣布 Claude 产品将陆续支持新规范。需要留意的边界是,本次修订包含破坏性变更:按旧版实验性 Tasks API 实现的调用方需要迁移;官方承诺未来的修订不再以破坏式修改为常态,这一点只能由后续版本验证。 无状态核心:握手与会话从协议里消失
上一版 2025-11-25 中,调用一个远程工具要先建立会话。客户端发送 initialize 请求,服务器返回 Mcp-Session-Id,之后每个请求都必须携带它,客户端因此被固定在签发该会话的那台实例上。水平扩容需要粘性会话和共享会话存储,网关还要解析报文正文才能路由。
2026-07-28 把这两样东西都删掉了。协议版本与客户端信息改由每个请求的 _meta 字段携带,能力发现交给新的 server/discover 方法。新增的 Mcp-Method 与 Mcp-Name 请求头让负载均衡和网关不看报文正文就能按操作路由;tools/list 等结果可以携带 ttlMs 缓存时限,客户端按 HTTP 缓存的逻辑复用。官方博客给出的直接效果是:一个远程 MCP 服务器现在可以跑在普通的轮询负载均衡之后,部署到 serverless 和边缘环境。
无状态不等于应用不能持有状态。需要跨调用保持状态的服务器改用显式句柄:工具返回一个标识,模型在后续调用中把它作为普通参数传回。官方认为这种模式比藏在传输层的会话更强,因为状态对模型可见,可以被组合和推理。
扩展成为一等公民:MCP Apps 与 Tasks
扩展在此前一版已经存在,但没有正式流程。新版本建立了完整的扩展框架:反向域名标识、独立的 ext-* 仓库与维护者、独立于核心规范的版本节奏,外加一条从实验到正式的扩展轨道。
首批两个官方扩展随之落地。MCP Apps 允许服务器交付交互式 HTML 界面,由宿主应用在沙盒 iframe 中渲染,界面发起的每个动作都走与工具调用相同的 JSON-RPC 审计与授权路径。Tasks 从上一版的实验性核心功能转为正式扩展,生命周期围绕无状态模型重做:服务器可以用任务句柄回应 tools/call,客户端用 tasks/get、tasks/update、tasks/cancel 驱动它;tasks/list 被移除,原因是在无会话模型下无法安全限定列表范围。
授权对齐企业身份,三个旧功能进入弃用
六个规范增强提案把授权体系对齐到生产级 OAuth 2.0 与 OIDC 部署。其中客户端必须按 RFC 9207 校验授权响应的 iss 参数,以缓解 MCP 单客户端、多服务器模式下更易出现的 mix-up 攻击;动态客户端注册、凭据绑定、刷新令牌等环节也逐一补齐。实际效果是 MCP 服务器可以直接对接 Entra、Okta 这类企业身份系统,不再需要绕过方案。
Roots、Sampling、Logging 三个核心功能按新的功能生命周期政策标记为弃用,方法与类型至少还能工作一年,移除需要单独提案。工具 schema 升级为完整的 JSON Schema 2020-12,允许组合、条件与引用。治理层面还有一条影响长远的规则:今后任何标准轨道提案在进入 Final 状态前,必须在一致性测试套件中落地对应场景。官方希望以此保证,面向 2026-07-28 的实现者在后续修订中不必重写传输与生命周期代码。
月下载 4 亿次之后,协议转向企业基础设施
这次修订发生的背景是 MCP 已经成为连接 AI 智能体与应用的事实标准。Anthropic 披露,MCP SDK 月下载量已超过 4 亿次,年内增长 4 倍;Claude 的 connectors 目录收录超过 950 个 MCP 服务器。Figma、Intuit、Netlify、Zoom 等公司自 beta 阶段起基于新规范构建;Anthropic 同日宣布 Claude 产品陆续支持,并配套开放企业托管授权、连接器可观测性与内网隧道(研究预览)等功能。 从已经发布的规范和配套产品动作看,MCP 正在从单机、单用户的集成工具,转向可以接入普通 HTTP 基础设施的企业工作负载。对准备新部署 MCP 的团队,这是好消息:服务器可以直接放在常规负载均衡之后,不必再围绕协议会话搭建粘性路由和共享存储,授权也能接入现有的 OAuth/OIDC 身份系统。对已经按旧规范完成实现的团队,短期则是坏消息:会话生命周期相关代码需要调整,实验性 Tasks API 需要重写,迁移成本落在现有实现者身上。