源码级拆解 MCP 初始化握手:能力协商、协议版本识别与安全校验全流程

源码级拆解 MCP 初始化握手:能力协商、协议版本识别与安全校验全流程

2026年7月28日,MCP协议将迎来诞生以来最大规模的重构——移除initialize握手、废除会话概念、走向完全无状态。这场变革背后,是协议设计者对一年半生产实践的深刻反思。本文从源码级别拆解MCP初始化握手全流程,剖析能力协商、版本识别与安全校验的底层实现,并解读即将到来的范式转移。

一、引言:从“AI的USB-C”到协议层的范式转移

2025年,Model Context Protocol(MCP)以“AI时代的USB-C”之名引爆中文技术圈。Anthropic于2024年首次将MCP开源至社区,旨在为LLM应用提供一种标准化的方式暴露数据与功能——你可以把它理解为AI领域的“Web API”。

截至2026年中,OpenAI、Google、微软已全部接入MCP。GitHub上相关项目星标累计超过8.6万。MCP Servers于2025年正式开源,定位为“大模型生态广场”。

但技术的演进从不一帆风顺。2026年7月28日,MCP将过渡到一个全新版本——MCP 2026-07-28,旧版将获得12个月的弃用窗口。这不仅是版本号的变化,而是一次协议层的范式转移:移除initialize握手、废除会话(Session)概念、将协议版本和能力信息逐请求携带。

为什么MCP要“革自己的命”?初始化握手究竟承载了哪些关键逻辑?安全校验如何在握手阶段落地?本文将从源码层面逐一拆解。