MCP 协议第五大版本发布,改为无状态请求/响应

https://t.co/35434RAuHv 又要迎来一波增长了。🌚

精选理由

MCP 终于去掉会话 ID 了,部署起来像普通 HTTP 一样灵活。还有 MRTR 解决中途确认问题,很实用。如果你在生产环境用 MCP,得仔细看迁移指南。

AI 摘要

MCP 协议推出第五个大版本(2026-07-28),核心将从有状态双向协议变为无状态请求/响应协议,每个请求自带版本和客户端信息,可负载均衡到多个实例,支持 serverless 和 CDN 部署。新增 MRTR(多轮往返请求)机制,允许服务端中途要求用户确认,如 Supabase 在项目创建前展示费用。请求头新增 Mcp-Method 和 Mcp-Name 字段,防火墙可据此路由而无需解析 JSON。废弃 Roots、Sampling、Logging 及旧版 HTTP+SSE,提供至少 12 个月过渡期。AWS 的 Bedrock AgentCore、Microsoft Foundry、Cloudflare Workers、Google Cloud 等已宣布支持新规范。

图片来源 · idoubi
原文 · idoubi

https://t.co/35434RAuHv 又要迎来一波增长了。🌚

MCP.so 又要迎来一波增长了。🌚 宝玉 @dotey MCP 协议今天推出了第五个大版本(版本号 2026-07-28),核心变化:从有状态双向协议变成了无状态的请求/响应协议。 这是 MCP 社区呼声最高的改动。 之前的 MCP 客户端连上来要先握手,服务端要给你一个会话 ID(session ID),后续每次请求都得带着这个 ID。这意味着你的请求被限制在了某一台服务器实例上,不方便做负载均衡。 现在每个请求都是独立的,自带协议版本和客户端信息,可以负载到任何一个实例上。也就是说 MCP 服务器终于可以像普通 HTTP 服务一样部署了,serverless、边缘计算、或者 CDN 后面放一排实例。 那如果业务确实需要跨请求的状态呢?协议的建议是:由工具自己生成一个句柄(handle),让模型在工具调用之间传递。状态放在业务层而不是协议层,模型能看到这个句柄,也能理解要怎么用它。 【其他变化】 MRTR(多轮往返请求)解决中途需要用户输入确认的问题。 比如 Supabase 的 MCP 服务器想在创建项目前告诉你费用,或者在执行删除操作前让你确认。以前这需要维持一个双向流不断开,现在服务端返回“需要输入”状态,客户端带上用户的回答重新发请求即可。 请求头里新增了 Mcp-Method 和 Mcp-Name 两个字段,网关和防火墙可以直接根据请求头做路由和鉴权,不用解析 JSON 请求体。 授权方面做了几项加固,包括要求验证授权服务器的 issuer 参数(堵上了一个授权服务器混淆漏洞)。动态客户端注册(DCR)正式废弃,改用客户端元数据文档(CIMD)。 Roots、Sampling、Logging 三个功能标记为废弃,但至少还能用 12 个月。旧版 HTTP+SSE 传输同样进入废弃轨道。协议首次引入正式的废弃策略,保证最少 12 个月过渡窗口,这对生产环境的团队来说很实际:你可以排期升级,不用被动救火。 【生态与迁移】 四个一级开发工具包(SDK)同步更新:TypeScript、Python、Go、C#。Rust SDK 以 beta 状态跟进。MCP 目前月下载量接近 5 亿次,TypeScript 和 Python SDK 各自累计下载量都超过了 10 亿。 AWS(Amazon Bedrock AgentCore)、Microsoft(Foundry)、Cloudflare(Workers)、Google Cloud 等都已宣布支持新规范。Figma、Supabase、Honeycomb 等工具厂商也在跟进。 新规范有破坏性变更,依赖会话标识符的实现需要改造。SDK 团队表示根据早期测试反馈已经简化了迁移流程,但具体成本因项目而异。如果你现在在生产环境跑着 MCP 服务器,建议先看一遍完整的 changelog 和迁移指南,评估影响面再动手。 Your browser does not support the video tag. 🔗 View on Twitter 🔗 View Quoted Tweet 💬 0 🔄 0 ❤️ 0 👀 144 ⚡

MCP 协议第五大版本发布,改为无状态请求/响应 · AI 热点