
MCP 2026-07-28 retires the session handshake for a stateless core
The 2026-07-28 Model Context Protocol spec removes the initialize/initialized handshake and the Mcp-Session-Id header, so every request now carries its own protocol version, client identity, and capabilities in _meta. Any request can land on any instance behind a plain round-robin load balancer, which puts MCP servers on serverless and edge infrastructure without shared storage; servers needing continuity mint an explicit handle from a tool and let the model pass it back as an argument. Authorization hardens with RFC 9207 issuer validation and a formal deprecation of Dynamic Client Registration in favor of Client ID Metadata Documents, and the TypeScript, Python, Go, and C# SDKs ship matching migration notes. A twelve-month minimum deprecation window covers the breaking bits, including the retired HTTP+SSE transport and now-deprecated Roots, Sampling, and Logging.
Source: blog.modelcontextprotocol.io ↗
Any request can now land on any server instance behind a plain round-robin load balancer without needing shared storage.
Why this matters
- → MCP servers now run on serverless and edge infrastructure without shared storage.
- → Developers can migrate at their own pace with a twelve-month deprecation window.
- → Stateless design removes a major bottleneck that limited MCP adoption at scale.