
MCP Just Deleted the Session ID. That Is the Smartest Thing It Has Done.
The Model Context Protocol shipped its biggest spec change since launch.
The session ID is gone entirely.
Here's the problem it solved: the original MCP used a stateful session
model. Client connects, server hands back a session ID, every request
echoes it back. Works perfectly on localhost. The moment you put a load
balancer in front of multiple replicas (which is how every production
HTTP service runs), it falls apart. Request 1 lands on Replica A.
Request 2 lands on Replica B. Replica B has never seen your session ID.
Tool call fails.
Teams patched it with sticky sessions, Redis shared state, and deep
packet inspection at the gateway. Every fix added cost without fixing
the root cause.
The July 28th release candidate removes the root cause. No initialize
handshake. No session ID. Every request carries everything the server
needs in a meta object. Any replica can answer any request.
I made a video walking through the full update - the stateless core,
Multi Round-Trip Requests for tools that need mid-flow user input, new
routing headers, the extension framework, and the design lesson that
applies beyond MCP to any distributed system you build.
Video: https://youtu.be/rZq00ZafL6I
Full writeup: https://medium.com/@AkhilAIWorld/mcp-just-deleted-the-session-id-that-is-the-smartest-thing-it-has-done-2be3f1e13957