Agent工坊

【Agent工坊】MCP协议史上最大重构:无状态核心+Extensions框架,你的Agent架构必须知道的7个变化

MCP 2026-07-28规范发布候选版来了——这是协议自发布以来最大规模的重构:告别Session,拥抱无状态;Extensions成为一等公民;MCP Apps让服务器直接渲染UI。本文带你逐项拆解变化,附完整迁移代码。

▲ MCP协议架构对比:2025-11-25的有状态会话架构 vs 2026-07-28的无状态HT▲ ▲ MCP协议架构对比:2025-11-25的有状态会话架构 vs 2026-07-28的无状态HTTP架构

一、事件回顾:MCP协议迎来最大版本升级

2026年5月21日,Model Context Protocol(MCP)维护团队正式发布了 2026-07-28 规范发布候选版(Release Candidate)。这是MCP自2024年11月由Anthropic推出以来,规模最大的一次协议修订,由两位首席维护者 David Soria Parra 和 Den Delimarsky 联合发布。

这次修订的核心目标来自2026年初制定的路线图:让MCP从"能用"走向"能大规模部署"。如果你在过去一年里尝试过在生产环境部署MCP服务器,你一定踩过这些坑:需要sticky session保持连接、服务器重启后所有客户端断连、网关层需要深度包检测来路由会话——这些都是状态协议带来的工程债。

新规范用6个规范增强提案一次性解决了这些问题。最终规范将于2026年7月28日正式发布,现在这个RC版就是最终形态的预览,包含破坏性变更——这意味着你现在就要开始规划迁移。

二、核心变化一:无状态协议——最大的架构变革

这是本次修订的标题级特性。MCP从此告别会话(Session)概念,成为一个纯无状态协议。

旧版(2025-11-25规范)调用一个MCP工具需要两步:

  1. 先发 initialize 请求建立会话,服务器返回 Mcp-Session-Id
  2. 后续所有请求都要带上这个Session ID,被绑定到同一台服务器实例

# 旧版:必须先初始化,拿到Session ID

POST /mcp HTTP/1.1

Content-Type: application/json

{"jsonrpc":"2.0","id":1,"method":"initialize",

 "params":{"protocolVersion":"2025-11-25","capabilities":{},

 "clientInfo":{"name":"my-app","version":"1.0"}}}

# 服务器返回 Mcp-Session-Id: 1868a90c-3a3f-4f5b

# 后续调用必须带Session ID,只能打到同一实例

POST /mcp HTTP/1.1

Mcp-Session-Id: 1868a90c-3a3f-4f5b

Content-Type: application/json

{"jsonrpc":"2.0","id":2,"method":"tools/call",

 "params":{"name":"search","arguments":{"q":"otters"}}}

新版(2026-07-28规范)把每次调用变成一条自包含的HTTP请求:

# 新版:一次请求,无需会话

POST /mcp HTTP/1.1

MCP-Protocol-Version: 2026-07-28

Mcp-Method: tools/call

Mcp-Name: search

Content-Type: application/json

{"q": "otters"}

这意味着什么?以前你的MCP服务器架构必须这样:

客户端 → 负载均衡器(sticky session) → 服务器实例A

                                       → 服务器实例B(用不上)

                                       → 共享Session Store(Redis/DB)

现在可以简化为:

客户端 → 普通轮询负载均衡器 → 任意服务器实例

生产部署的实际影响是立竿见影的:不需要sticky session,不需要共享会话存储,不需要网关做深度包检测。你可以在普通HTTP基础设施上运行MCP服务,利用标准的CDN缓存 tools/list 响应(通过 ttlMs 字段控制缓存时长)。

三、核心变化二:Extensions成为一等公民——MCP Apps来了

Extensions框架从实验性功能正式升级为协议核心的一部分。最值得关注的是两个新扩展:

3.1 MCP Apps:服务器端渲染UI

这是全新的能力——MCP服务器现在可以直接向客户端提供用户界面。想象一下:你的MCP数据库查询工具不再只是返回JSON数据,而是可以返回一个完整的表格视图、图表、甚至是交互式表单。

对于AI创业者来说,这意味着你可以用MCP构建完整的SaaS产品界面,而不仅仅是工具调用接口。客户端(Claude Code、Hermes Agent、OpenClaw等)将直接渲染服务器提供的UI组件。

3.2 Tasks正式毕业

Tasks从实验性功能毕业为正式扩展。这允许MCP服务器启动长时间运行的任务(如数据导出、模型训练、批量处理),并通过任务ID查询进度和结果。不再需要客户端轮询或维护WebSocket连接。

# Task模式示例

客户端 → POST /mcp(Mcp-Method: tasks/start,Mcp-Name: generate-report)

服务器 → 202 Accepted + Task ID: "task_abc123"

客户端 → POST /mcp(Mcp-Method: tasks/status,Mcp-Name: task_abc123)

服务器 → {"status": "running", "progress": 67}

客户端 → POST /mcp(Mcp-Method: tasks/result,Mcp-Name: task_abc123)

服务器 → {"status": "complete", "result": {...}}

▲ MCP Extensions框架:MCP Apps(服务器UI渲染)和Tasks(长时间任务管理▲ ▲ MCP Extensions框架:MCP Apps(服务器UI渲染)和Tasks(长时间任务管理)两大新能力

四、核心变化三:授权加固——更接近OAuth/OIDC标准

旧版MCP的授权机制是协议早期设计的,在实际部署中暴露了很多问题。新规范让授权模型与OAuth 2.0和OpenID Connect(OIDC)的部署实践保持一致。

具体改进包括:

  • 更清晰的Authorization头传递规范
  • 与现有企业SSO体系的更好集成
  • 资源级权限控制的标准表达方式

对于已经在使用OAuth体系的企业来说,这意味着MCP服务器的授权集成将变得更自然,不需要再维护一套独立的认证逻辑。

五、核心变化四:Roots、Sampling、Logging被正式弃用

三个从MCP早期就存在的概念被标记为弃用:

  • Roots:原先用于声明服务器可访问的根目录。在无状态协议中,这个概念的实现方式需要重新设计。
  • Sampling:原先允许服务器请求客户端执行LLM采样。随着Extensions框架成熟,这个能力将通过Task扩展以更规范的方式实现。
  • Logging:原先的日志机制被更标准的可观测性方案取代。

"弃用"不等于"移除"——MCP现在有了正式的弃用政策,在最终移除之前会经过支持→弃用→移除三阶段。但新项目不应该再依赖这些即将退役的能力。

六、核心变化五:Tool定义全面升级到JSON Schema 2020-12

MCP工具的参数定义从旧的JSON Schema草案升级到完整的JSON Schema 2020-12规范。这听起来像是细节,但实际影响很大:

之前很多高级验证特性(如条件验证 if/then/else$defs 引用、unevaluatedProperties)在MCP工具定义中不可用。现在你可以:

{

  "name": "create_user",

  "inputSchema": {

    "type": "object",

    "properties": {

      "role": {"enum": ["admin", "user", "viewer"]},

      "permissions": {"type": "array", "items": {"type": "string"}}

    },

    "if": {

      "properties": {"role": {"const": "admin"}}

    },

    "then": {

      "properties": {"permissions": {"minItems": 1}}

    },

    "required": ["role"]

  }

}

这种条件验证让工具定义的表达能力大幅提升,客户端可以在调用前就完成复杂的参数校验。

七、核心变化六:可路由、可缓存、可追踪

无状态化带来的副产品同样重要。新规范中的几个关键HTTP头让MCP流量变得可管理:

HTTP头作用
Mcp-Method路由依据——网关可以直接按方法名分流
MCP-Protocol-Version版本协商——客户端和服务器声明支持的版本
Mcp-Name工具名/资源名——精确定位具体能力
Mcp-Trace-Id分布式追踪——端到端请求链路追踪
ttlMs缓存控制——tools/list 等响应的缓存时长

这些头的引入意味着MCP流量现在可以走标准的API网关、CDN、服务网格——不再需要专门的MCP网关做协议解析。

八、迁移指南:从2025-11-25到2026-07-28

▲ MCP迁移路线图:从RC发布到7月28日正式规范的三个阶段和关键任务▲ ▲ MCP迁移路线图:从RC发布到7月28日正式规范的三个阶段和关键任务

第一步:更新服务器端

最核心的改动是去掉Session管理:

# 旧版(2025-11-25)

from mcp.server import Server

server = Server("my-server")

# 需要管理 Mcp-Session-Id,维护会话状态

# 新版(2026-07-28)

from mcp.server import StatelessServer

server = StatelessServer("my-server")

# 每个请求独立处理,无需会话状态

第二步:更新客户端调用方式

# 旧版

client = Client("your-mcp-host/mcp")

await client.initialize() # 先建立会话

result = await client.call_tool("search", {"q": "test"})

# 新版

client = StatelessClient("your-mcp-host/mcp")

result = await client.call_tool(

    "search", {"q": "test"},

    protocol_version="2026-07-28"

)

# 单次调用,无需initialize

第三步:处理弃用项

如果你的服务使用了Roots、Sampling、Logging,需要规划迁移路径:

  • Roots → 通过工具参数显式传递路径
  • Sampling → 等待Tasks扩展的替代方案成熟
  • Logging → 切换到OpenTelemetry等标准方案

第四步:更新工具定义

如果你的工具使用了复杂参数验证,现在可以利用JSON Schema 2020-12的新特性简化逻辑。

九、踩坑提醒

1. 不要在生产环境直接升级。 这是破坏性变更——2025-11-25和2026-07-28协议不兼容。客户端和服务端必须同步升级。

2. stdio传输不受影响。 如果你的MCP服务器通过标准输入输出(stdio)与客户端通信,本次修订主要影响Streamable HTTP传输。但未来stdio也可能纳入无状态化规划。

3. 客户端兼容性滞后。 Claude Code、Hermes Agent、OpenClaw等主流客户端需要时间适配新协议。在7月28日最终规范发布前,不要期望客户端已经支持。目前应使用官方验证工具进行兼容性测试。

4. 中间件需要重写。 如果你自建了MCP代理或网关,需要重新设计路由逻辑——从基于Session ID的路由改为基于Mcp-Method头的路由。

5. JSON Schema升级可能破坏现有工具。 检查你的工具定义中是否有依赖旧Schema草案行为的边缘情况。特别是 additionalProperties 的默认行为在不同Schema版本间有差异。

6. 状态不是你省掉的,是你移到别处了。 协议层无状态不等于应用层无状态。如果你的工具本身有状态(如数据库连接池、内存缓存),这些状态管理仍然存在,只是不再通过MCP会话维护。

十、总结

MCP 2026-07-28是协议走向成熟的标志。无状态核心解决了生产部署中最痛苦的工程问题,Extensions框架打开了MCP Apps和Tasks的新可能性,授权加固让企业采纳更顺畅。

对于AI创业者来说,这次升级传递了一个明确信号:MCP正在从"实验性协议"变成"基础设施级标准"。现在投资MCP技术栈的团队,将在协议正式发布时获得先发优势。

行动建议:

  • 立即阅读RC规范,理解所有破坏性变更
  • 用官方验证工具测试你的MCP服务器兼容性
  • 新项目直接按2026-07-28规范设计
  • 现有项目制定7月28日前的迁移计划
  • 关注MCP Apps的能力边界,思考你可以在上面构建什么产品

MCP正在变成AI时代的HTTP——它不再只是连接工具和模型的管道,而是承载完整应用的平台层。这次重构,就是它从"管道"走向"平台"的关键一步。


本文参考自MCP官方博客(2026年5月21日发布),由AI辅助创作,经人工审核编辑发布。

#AI创业 #MCP协议 #Agent工坊 #一人公司 #AI工具开发

本文由AI辅助创作,经人工审核编辑发布