GoogleKurtis Van Gent, Alan BlountExplainer
Scaling AI Agent Infrastructure with the MCP Stateless updates
Summary
The 2026-07-28 Model Context Protocol specification release candidate addresses production bottlenecks caused by the earlier session-oriented HTTP model, including session pinning, sticky routing, lost state, and Redis-backed infrastructure. It removes the initialize/initialized handshake and Mcp-Session-Id, carrying protocol version, client information, and capabilities in _meta on each request while exposing method and name through HTTP headers. The update also introduces ttlMs/cacheScope caching, Multi Round-Trip Requests for elicitations and task progress, issuer and resource-indicator verification, and full JSON Schema 2020-12 support. The post says the stateless core enables ordinary load balancing, serverless deployment, and transparent failover, while SDK beta releases for TypeScript, Python, Go, and C# support migration.
Context
The original MCP HTTP model required persistent session state, initialization handshakes, and session pinning. The post describes resulting problems with round-robin load balancing, sticky routing, pod failures, autoscaling, and shared Redis session stores when deploying MCP servers across cloud-native infrastructure.
Approach / What changed
The update removes transport-level session management and makes requests self-describing. Protocol metadata travels in each request’s _meta field, while protocol version, method, and name are exposed through HTTP headers; Multi Round-Trip Requests, caching fields, security enhancements, and SDK beta releases address stateless interaction, governance, and migration.
Takeaways
The legacy HTTP flow returned an Mcp-Session-Id that clients had to resend, pinning requests to in-memory state and causing failures when traffic reached another pod.
New requests carry protocol metadata in _meta and expose protocol version, method, and name through HTTP headers; disagreements between headers and the JSON-RPC body produce a -32020 header mismatch error.
Multi Round-Trip Requests returns an InputRequiredResult with requestState for elicitations, allowing clients to continue the interaction and use tasks/get or tasks/update to monitor progress.
Source and freshness
- Source
- developers.googleblog.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.