MCP协议更新到2026-07-28版后,长会话稳定性终于有了质变
最近把开发环境的 MCP 协议升级到了 2026-07-28 版本,实测下来最直观的感受是:之前那种频繁掉线、需要重启会话的“抽风”感明显减轻了。对于像我这样重度依赖 Claude Code 进行复杂代码重构的用户来说,这次更新虽然看起来是底层协议的变动,但实际体感非常明显。
这次升级最核心的逻辑在于简化了 Tool 调用的执行链路。在旧版本中,搞 MCP 基本上是在做体力活,整个链路涉及 transport 层、跨服务器转发、鉴权以及复杂的参数格式化。尤其是调试 HTTP 传输段的时候,网络波动带来的延迟和中断非常频繁。而 2026-07-28 版本将 transport 层收敛成了一个统一的流式通道,并且默认引入了 session 恢复能力。这意味着当网络出现瞬时抖动时,连接不再是直接崩溃,而是能够快速恢复,这直接解决了长会话容易断连的痛点。
为了验证提升幅度,我在团队内部做了两组对比测试。在连续运行 40 多个轮次的复杂交互测试中,新版协议仅出现过一次断连,而旧版在同样的压力下,大约每 10 轮就会触发一次连接异常。在响应速度方面,同步返回的请求式工具响应时间提升了约 30%,虽然流式工具的体感差别不大,但整体的流畅度确实上了一个台阶。
不过,这次升级有一个非常隐蔽的“坑”,建议大家在更新后第一时间检查配置。升级后,所有老配置中的 transport 参数会直接失效。我们团队内部有一个私有插件,由于依然使用旧版方式控制 channel,升级后直接导致插件无法启动。我排查了整个下午才发现是配置被废弃了。
如果你在使用 Claude Code,请务必检查 .mcp.json 文件中的协议版本声明。如果发现插件失效,请确认配置是否已更新为官方推荐的格式,例如:
{
"mcpServers": {
"default": {
"transport": "streamable",
"protocolVersion": "2026-07-28"
}
}
}
如果你的 protocolVersion 还是旧版本,或者 transport 字段没有改为 streamable,那么即便 SDK 升级了,实际运行逻辑依然会出问题。
对于准备将这套协议切到生产环境的团队,我建议不要采取全量覆盖的策略。最好的方案是先挑选一两个非核心的工具链进行为期一周的灰度测试,重点观察长连接在不同负载下的内存表现。根据我们目前的观察,新版本的资源占用比上一版收敛得多,至少不再需要每隔一小时强制重启会话来释放内存。
另外,我注意到新版协议在工具调用格式中增加了一些时间戳上下文(Timestamp Context)。这种改动看起来不像简单的 Bug 修复,更像是为了适配下一代具有更强推理能力的模型而做的前瞻性铺路。在复杂的异步调用中,时间戳的引入能让模型更精准地感知工具执行的先后顺序,这对于处理多步骤的复杂任务至关重要。
全部回复 (3)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
新版强制升级吗?我这儿还跑着旧版客户端,最怕重启后连不上。