编程与软件开发

MCP 新版本重构协议,实现无状态运行

Model Context Protocol 的 2026-07-28 版本成为无状态协议,使 MCP 服务器能够在 Cloudflare Workers 上运行,而无需专用基础设施管理会话。该版本还包含多轮交互、授权和功能生命周期方面的变化,以及更新后的 SDK 包和现有应用的迁移路径。

2026-08-06
2 分钟阅读
10 浏览量
فريق تحرير certi.news
MCP 新版本重构协议,实现无状态运行

Model Context Protocol (MCP) 在 2026-07-28 版本中成为完全无状态的协议,其核心、交互模型和相关 SDK 包均经过重写。Cloudflare 表示,这一变化使 MCP 服务器能够在普通 Worker 中运行,无需专用基础设施来维护协议会话,同时降低运营复杂性以及由额外组件带来的成本。

新规范于上周发布,同时推出了 TypeScript、Python、Go 和 C# 语言 SDK 包的更新版本。Cloudflare 表示,服务器现在可以接收请求、执行工具或提示词或资源操作,然后返回结果,而无需在请求之间存储协议会话。

取消强制会话

此前的版本会通过 initialize 和 initialized 交换来创建会话,并可通过 Mcp-Session-Id 标头分配标识符。之后的每个请求都必须访问与该会话关联的状态,这给依赖自动扩展的环境带来了挑战,也要求部署在迁移或关闭活动会话。服务器活动实例的丢失可能导致客户端重新连接或会话中断。

新版本移除了强制握手、Mcp-Session-Id 标头以及基本请求路径中的会话。每个请求都会携带协议版本、客户端身份及其所需的能力。用于在执行其他请求前检查服务器的 server/discover 调用也变成了可选项。

这并不意味着有状态应用不再需要;Cloudflare 指出,当应用本身需要协调状态时,Durable Objects 仍然适用。但 MCP 不再要求使用 Durable Objects 来进行协议通信,需要按请求处理的服务器可以在 Workers 上扩展。

以多轮交互取代开放式流

该版本重新设计了 elicitation 机制,即服务器在完成请求前需要额外信息的情况,例如需要批准将版本发布到生产环境,或确认退款金额。此前,服务器发起的请求依赖开放式流。

借助 Multi Round-Trip Requests 机制,服务器可以返回名为 input_required 的结果,说明所需的数据。客户端收集答案后,携带这些数据重新尝试操作,双方无需在两次请求之间保留传输会话。Cloudflare 称,这一变化与旧方式不兼容,但在运营层面更加简单。

让 MCP 请求能够被 HTTP 基础设施理解

新规范要求 Streamable HTTP 请求中包含 Mcp-MethodMcp-Name 两个标头。这样,网关、请求速率限制器或 Web 应用防火墙无需完整解析 JSON-RPC 内容,就能了解请求是在调用工具还是读取资源。

规范还在 tools/list、prompts/list、resources/list 和 resources/read 的结果中加入了 ttlMs 和 cacheScope 提示,并为工具索引规定了确定性排序,从而支持重复使用,并在重新连接时保持提示词缓存的稳定性。

授权和功能生命周期变化

新规范优先使用预先注册的客户端(当客户端与服务器之间已存在关系时),然后使用客户端元数据文档 CIMD 进行动态注册,而 Dynamic Client Registration,即 DCR,则成为备用选项。对于新应用,DCR 已被宣布弃用,并计划在 2027 年夏季之后移除。

规范还采用了 RFC 9207 的颁发者识别机制,并要求在授权和令牌请求中,根据 RFC 8707 使用服务器基本地址作为资源。Cloudflare 表示,Workers OAuth Provider 已为 Workers 上的 MCP 服务器实现这些要求。

规范现在拥有正式的生命周期,将功能分为活跃、弃用或移除。弃用的功能必须至少保留 12 个月后才能移除。本版本宣布弃用的功能包括 Roots、Sampling、Logging、DCR 以及旧版 HTTP+SSE 方式。MCP Apps 和 Enterprise-Managed Authorization 现已成为扩展,而 Tasks 则被移入扩展框架,以便为长时间运行且可靠的工作提供路径。

迁移路径和可用性

createMcpHandler 接口将从实验状态转入官方 MCP TypeScript SDK 包,Cloudflare 也将继续通过 Agents SDK 提供面向 Workers 的接口。该公司还帮助将 TypeScript SDK 从 Node.js 迁移到 Web Standards,以改善与 Bun、Deno 和 Cloudflare Workers 的兼容性。

客户端可以在保持与旧版规范兼容的情况下进行迁移。/mcp 端点接受新协议,以及使用 2025 版本的 Streamable HTTP 客户端发出的无状态请求,因此大多数客户端无需更改配置即可重新连接。依赖旧式会话、服务器到客户端请求或独立流的服务器则需要更加谨慎的迁移路径,例如在旧路径旁运行无状态路径,直到活动会话耗尽。

Cloudflare 表示,新规范已面向其平台上的客户端和服务器提供,可以在 Worker 上运行无状态 MCP 服务器,并通过 Workers OAuth Provider 保护它。该公司称,其 Cloudflare API 接口的 Code Mode MCP Server 服务采用了这一方式,达到了每秒数千个请求和数十亿次工具调用。

新闻来源
Cloudflare Blog
查看原始来源 ↗
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻