[控场AI]
· 5 分钟阅读· 2,819 字

MCP 2026大改版:无状态核心与生产级Agent协议

MCP 2026大改版:无状态核心与生产级Agent协议

MCP 发布 2026-07-28 修订版,以无状态内核取代会话绑定,将状态管理责任移交应用层。

Anthropic 的 Model Context Protocol 迎来迄今最彻底的规格重构。2026-07-28 修订版移除了 initialize/initialized 握手与 Mcp-Session-Id 请求头,改为每个请求通过 _meta 字段自带协议版本、客户端身份和能力信息,并新增可选的 server/discover 调用。这一无状态内核让请求可落在任意实例上,无需共享状态即可水平扩展,部署方式向标准 HTTP 微服务靠拢。但协议不再管理状态不等于状态消失,服务器需通过句柄等方式显式管理应用状态。此举发生在 MCP 月下载量逼近 5 亿次、TypeScript 与 Python SDK 各自破十亿、NSA 曾就安全缺口发出警告的背景下,被视为协议从实验性走向生产级工程标准的标志。

Anthropic 的 Model Context Protocol(MCP)正经历诞生以来最彻底的一次重构。从当初的实验性协议,到如今支撑 Agentic AI 的集成层,MCP 的体量已经难以忽视:Tier-1 SDK 月下载量逼近 5 亿次,TypeScript 与 Python SDK 各自跨过十亿门槛。规模的增长也带来了安全审视的压力——NSA 曾正式就协议的安全缺口发出警告,随后发布的 2026-07-28 修订版,则成为 MCP 迄今最深入的一次规格更新。

MCP 2026 改版概览

从会话绑定到无状态核心:MCP 的架构转向

这次修订的核心是一个无状态的协议内核。initialize/initialized 握手流程以及 Mcp-Session-Id 请求头被彻底移除。每一个请求都自带协议版本、客户端身份和能力信息,统一放在 _meta 字段中传输。如果客户端想提前了解服务端具备哪些能力,可以选用新增的 server/discover 调用。

这一改动带来的实际影响很直接:任何请求都可以落在简单轮询负载均衡器后面的任意实例上,实例之间不需要共享状态。过去为了水平扩展而搭的各种规避方案,现在可以直接用标准 HTTP 服务的思路来解决。

The New Stack 在解读中提醒了一点:协议不再管理状态,不等于状态消失了。需要保存应用状态的服务器,现在必须显式地自己管理,比如通过句柄(handles)在工具调用之间传递。这种责任转移,意味着开发者要重新思考状态应该放在哪里。

什么是 Model Context Protocol(MCP)

MCP 是 Anthropic 在 2024 年底推出的一套开放协议,目的是为 AI 模型(尤其是 Agent)与外部工具、数据源之间建立标准化的连接方式。可以把它类比为「AI 世界的 USB-C」:在 MCP 出现之前,每个 Agent 框架都要为每个工具单独写适配代码,形成 M×N 的集成爆炸;有了统一协议后,工具只需实现一次服务端,任意兼容的客户端都能调用。MCP 采用客户端-服务端架构,通过 JSON-RPC 消息交换提供工具调用(tools)、资源读取(resources)和提示模板(prompts)三类能力。Tier-1 SDK(官方维护的 TypeScript、Python、Java、Kotlin 等语言实现)是生态扩张的主要载体,其下载量被广泛用作协议采用度的代理指标。

理解无状态化的意义

「有状态协议」与「无状态协议」的区别在于:服务端是否必须记住此前与某个客户端的交互上下文。传统有状态模式下,客户端先握手建立会话,服务端为该会话分配内存,后续请求必须路由到同一实例,这给水平扩展带来很大约束——要么使用粘性会话(sticky session),要么在实例间共享会话存储。无状态协议则要求每个请求自带完成处理所需的全部信息,服务端处理完即可丢弃上下文。这与 HTTP 的设计哲学一致,也是 REST 架构得以大规模扩展的基础。MCP 的此次转向,本质上是从「长连接会话模型」切换到「自描述请求模型」,代价是请求体积变大、状态管理上移到应用层,收益是部署拓扑与标准 Web 服务完全对齐。

安全压力下的协议成熟化

MCP 被正式警告安全风险,是一个信号:协议已经重要到值得被攻击者关注。无状态化在一定程度上缩小了会话管理的攻击面,但也把状态管理的责任推给了应用层。当状态不再由协议统一维护,服务器实现者需要对自己的状态存储、隔离和清理负责。

从生态角度看,近 5 亿次的月下载量说明 MCP 已经进入生产环境,而不再是实验室里的玩具。安全警告和随后的规格修订,某种程度上是这种普及度的必然结果:越多人依赖,越需要严格的工程标准。

关于 NSA 的安全警告与攻击面

据悉 NSA 曾就 MCP 的安全缺口发出正式提示,这与协议早期设计中的几类风险有关:其一,会话 ID 若可预测或缺乏绑定校验,可能被用于会话劫持;其二,工具调用涉及模型自主发起的外部操作,容易成为提示注入(prompt injection)的放大通道,攻击者可通过污染工具返回内容诱导模型执行越权动作;其三,早期的服务器实现缺乏统一的权限声明与最小授权机制,第三方服务器一旦被恶意控制,可能获得超出预期的访问范围。无状态化并不能直接消解这些风险,但它改变了攻击面的形状:会话管理层的漏洞被移除,取而代之的是每个请求都必须独立完成身份与能力校验,这要求 _meta 字段的校验逻辑必须足够严格。对实现者而言,安全重心从「保护会话」转向「验证每一次请求」。

对 Agent 开发者的实际影响

对于正在构建 Agent 应用的团队,这次改版意味着几件事。部署方式可以更接近常规微服务,负载均衡和横向扩展不再需要协议层面的特殊处理。客户端需要升级到支持 _meta 自描述请求的版本,否则无法与新服务端正常交互。服务端开发者则要规划好状态管理策略,不能依赖协议帮自己记住上下文。

协议走向成熟,往往伴随着这类“看起来更麻烦”的变化。把状态管理交给应用层,短期增加了开发负担,长期却让系统边界更清晰、更容易调试和扩展。MCP 的这次修订,本质上是把一个实验性协议推向生产级工程标准。

Agentic AI 与集成层的含义

Agentic AI 指的是能够自主规划、调用工具并多步执行任务以达成目标的 AI 系统,而非只做单轮问答的模型。这类系统对「集成层」的要求远高于传统应用:它需要在运行时动态发现可用工具、理解每个工具的能力与参数、跨多次调用维持任务上下文,并在失败时重试或改道。MCP 正是为这一层设计的——它把工具描述(JSON Schema 形式的输入输出定义)、调用通道和能力协商统一起来,使 Agent 不必为每个后端写死逻辑。因此 MCP 规格的任何变化,都会直接传导到 Agent 框架的开发范式上。此次无状态化对 Agent 开发者的实际冲击在于:过去可以依赖协议的会话上下文做「隐式记忆」,现在必须在应用层显式建模任务状态,例如用计划-执行-反思的工作流加句柄传递,这反而更接近生产级 Agent 系统应有的架构。

常见问题

MCP 无状态化后,多轮对话还能用吗? 可以,但需要服务器或客户端显式管理对话状态,而不是依赖协议层的会话 ID。

已有的 MCP 服务器需要重写吗? 取决于实现。如果服务器依赖 initialize 握手或会话头,需要适配新的 _meta 请求结构和 server/discover 调用。

#MCP#Model Context Protocol#无状态协议#Agent协议#Anthropic#AI Agent开发#协议安全
分享:

相关推荐