MCP 2026-07-28 规范于 7 月 28 日正式发布,官方称这是协议问世以来规模最大的一次修订。新规范从核心请求路径中移除了 initialize/initialized 握手、Mcp-Session-Id 标头和协议级会话,改为无状态核心:每个请求自行携带协议版本、客户端身份与能力信息,落在任意实例上都能独立处理。此前,在自动扩缩场景下基础设施必须保留会话,部署时需要排空或迁移会话,客户端也会被固定在持有其会话的实例上;新设计让远程 MCP 服务器可以像普通 HTTP 服务一样放在轮询负载均衡器后面,无需粘性会话或共享会话存储。

无状态化同时引入了两个必需的 HTTP 标头。据 Cloudflare 博客,Streamable HTTP 请求现在必须携带 Mcp-Method 与 Mcp-Name,工具调用以 Mcp-Method: tools/call、Mcp-Name: search 的形式到达;网关、速率限制器和 WAF 不必解析 JSON 正文,就能按方法或按工具名完成路由、限流与计量,直接复用现有 API 基础设施。据 Hacker News 讨论,评论者 evalstate 指出规范更进一步:工具参数可被复制进标头,用于自定义路由。服务端主动征询(elicitation,即向用户请求补充输入或确认的交互)也被重写为多轮往返请求(MRTR):服务端返回 input_required,客户端收集答案后重发原请求,审批从一条常驻连接变成两次独立请求。授权方面,动态客户端注册(DCR)被弃用并计划在 2027 年夏季之后移除,新规范还采纳了 RFC 9207 发行方识别,并要求客户端把服务器 URI 作为 RFC 8707 resource 传入授权与令牌请求。
社区反应随即出现明显分歧。据 Hacker News 讨论,有开发者认为有状态 MCP 从一开始就是错的,"这实际上让 MCP 变成了又一个 REST API 端点,可以直接使用为 REST 准备好的负载均衡器、API 网关和渐进式发布设施";也有评论者调侃:
我们发明了一种有状态协议,发现状态难以扩展,于是把它剥离,最终得到的是"发一个 POST 请求就行"。REST 阵营已经得意地等了 20 年。
辩护者则回应称,MCP 本质就是 JSON-RPC,真正有价值的是它作为"获得 AI 提供商背书、因而大家有动力去实现"的标准。实现者一方也有类似判断。据 InfoQ 报道,Sentry 联合创始人兼首席产品官 David Cramer 此前曾公开撰文称 MCP 还不够好,他在接受 Cloudflare 采访时表示,新版本理顺了身份验证和工具的处理方式:"只有当底层管道不再占据整个故事时,智能体才真正变得有用。"无状态并不意味着应用不能保留状态——需要跨调用状态时,服务端可返回显式句柄(handle),由模型在后续调用中作为普通参数传回。对平台团队而言,这次修订的落点是让 MCP 更接近它们已熟悉的 HTTP 世界;而对质疑者来说,问题在于"接近 HTTP"与"退回 API"之间的界线究竟在哪里。