The Model Context Protocol just underwent its most significant architectural shift since its November 2024 launch. The 2026-07-28 release, dubbed "MCP 2.0" by the community, officially deletes the connection handshake. The initialize method, the Mcp-Session-Id header, and the requirement for held-open streams are gone. Instead, every request is now stateless, carrying its own metadata and version negotiation in the body and headers.
The End of Sticky Routing
For developers building on the previous Streamable HTTP transport, this change eliminates the operational nightmare of session affinity. Previously, servers had to maintain state, forcing infrastructure teams to implement sticky routing or shared session stores. This meant that a crashed replica took active conversations with it, and gateways had to parse JSON bodies just to meter traffic. The new model treats MCP requests like standard HTTP API calls: cold, independent, and easy to load balance.
New Headers for Gateway Visibility
To compensate for the loss of session context, the spec introduces three critical headers: MCP-Protocol-Version, Mcp-Method, and Mcp-Name. These allow edge proxies and WAFs to route and meter traffic without opening the request body. The _meta field in the JSON payload now carries client information and capabilities, which were previously negotiated once at startup. This shift makes infrastructure simpler but places a higher burden on clients to include this metadata in every single call.
Elicitation Without Long-Lived Connections
One of the trickiest parts of the old model was server-initiated interactions, such as asking the user for input. This previously required a bidirectional stream pinned to a specific process. The new SEP-2322 and SEP-2260 proposals replace this with an InputRequiredResult pattern. The server returns a state blob, hangs up, and the client can resume the interaction later against any available server instance. This decouples the user interaction from the server process, making horizontal scaling trivial.
Governance and Deprecations
Beyond the transport layer, the release formalizes a feature lifecycle policy. Roots, Sampling, and Logging have been deprecated in favor of tool parameters, direct LLM API usage, and OpenTelemetry respectively. Extensions are now first-class citizens with their own repositories and versioning, allowing the core protocol to remain lean. Conformance is also stricter; Standards Track SEPs now require matching scenarios in the conformance suite before reaching Final status.
Key Takeaways
- The initialize handshake and Mcp-Session-Id are removed in the 2026-07-28 revision.
- New headers (Mcp-Method, Mcp-Name) allow gateways to route traffic without parsing bodies.
- Server-to-client elicitation no longer requires long-lived connections, enabling stateless scaling.
- Roots, Sampling, and Logging are deprecated; use tool parameters and OpenTelemetry instead.
- All four Tier 1 SDKs (TypeScript, Python, Go, C#) shipped support on day one.
The Bottom Line
MCP finally grew up. By ditching the stateful session model inherited from stdio, it became a protocol that fits modern cloud infrastructure instead of fighting it.