Back

MCP 的第五个大版本:从接口规范到基础设施

MCP 协议发布第 5 个大版本,从有状态的双向协议演进为无状态请求/响应结构。本篇总结了其核心变化、新增的扩展机制以及对底层基础设施的影响。

MCP AI
Enivia
3 分钟阅读

今天,MCP 协议迎来了第 5 个大版本(版本号 2026-07-28),同时也是 MCP 诞生以来变化最大的一次更新。

我们可以将 MCP 简单理解为 AI 世界里的接口标准,它让 Claude、ChatGPT、其它编程 Agent 或 AI 应用,不需要为每一种工具单独设计一套连接方式。

核心变化

从有状态的双向协议,变成了无状态的请求/响应协议。

在此前的版本中,MCP 客户端上来需要先调用 initialize 握手建立连接,服务器再返回一个 Mcp-Session-Id,之后的请求必须携带这个 Session ID,服务器需要记住每个客户端的状态。

这种方式放进云端环境后会变得麻烦。服务器需要维护共享 Session,你的请求被限制在了某一台服务器实例上,不方便做负载均衡。

新版本移除了 initialize 握手和协议级 Session。每个请求都会携带自己的协议版本、客户端信息和能力描述,服务器不需要记住之前发生了什么。

这意味着 MCP Server 可以更自然地运行在普通的 HTTP 基础设施和无服务器平台中。请求可以被分发到任意一个实例,也不再需要为了维护连接状态而额外搭建共享存储。

扩展机制

新版本还引入了正式的 Extensions 扩展机制。

以前,一项新能力想进入 MCP,通常需要直接修改核心规范。但随着功能越来越多,协议本身也越来越复杂。

现在,新的能力可以先作为独立扩展发布,在不影响核心协议的情况下单独迭代。只有在足够稳定和通用后,才有可能进入正式规范。

目前比较重要的两个扩展是 MCP AppsTasks

  • MCP Apps 允许服务器向客户端提供可交互的界面,工具返回的内容不再局限于纯文本或 JSON
  • Tasks 则用于处理需要较长时间才能完成的任务,例如生成大型项目、运行数据分析或者执行复杂工作流

这似乎意味着 MCP 的定位正在发生变化,它在尝试承载完整的 Agent 应用交互。

其它变化

服务端与客户端的关系变化

过去 MCP 支持服务器主动向客户端发起 Sampling、Roots 和 Logging 等请求,但这种双向通信方式很难穿过普通的 HTTP 网关,也不容易进行路由和监控。

新版本引入了 MRTR(Multi Round-Trip Requests)机制。当服务器需要客户端提供更多信息时,可以暂停当前请求并返回一个中间状态,客户端处理后再继续原来的流程。

授权和数据结构更加规范

新版本还加强了 OAuth 和 OpenID Connect 相关的授权规则,包括凭证隔离、授权服务器识别,以及权限不足时的逐步授权。

例如,一个 MCP Server 最初可能只申请读取文件的权限。当 Agent 后续需要修改文件时,服务器可以再申请更高一级的权限,而不必一开始就获得所有权限。

工具参数和返回值则开始完整支持 JSON Schema 2020-12。返回结果不再必须是一个对象,也可以是数组、字符串或其他合法 JSON 结构。这让 MCP 工具能够描述更复杂、更准确的数据格式。

从接口规范到基础设施

早期的 MCP 更像是一套方便开发者连接 AI 和工具的适配层。只要模型能找到工具、传入参数并拿到结果,MCP 的主要任务就已经完成了。

到了第五个版本,它开始面对真正的工程问题:如何扩容,如何缓存,如何进行版本协商,如何处理长时间任务,如何设计授权,以及如何在不破坏旧实现的情况下继续演进。

本次更新会联动四个一级开发工具包(SDK)同步更新:TypeScript、Python、Go、C#。Rust SDK 将以 beta 状态跟进。