From October 1, WhatsApp charges for every business reply. Read the migration playbook →

← All posts

MCP went stateless. What changed, and why we still speak the old protocol.

August 24, 2026 · SuperCognit Team
MCP went stateless. What changed, and why we still speak the old protocol.

The July 2026 revision of the Model Context Protocol is the largest change since the protocol was published, and it is easy to under-read. It turns a bidirectional stateful protocol into a request and response stateless one. If you operate a server, this is the release that changes your architecture.

What was removed

The initialize and initialized exchange is gone, and so is the Mcp-Session-Id header. Each request now travels on its own, carrying its protocol version, client identity and client capabilities in _meta. The practical consequence is stated plainly in the spec: any request can land on any server instance behind a plain round-robin load balancer, without shared storage.

Why that matters operationally

Sessions meant sticky routing or shared session state, which is the thing that makes a service annoying to scale and annoying to deploy. Removing them turns an MCP server into an ordinary stateless HTTP service that you can run several of and restart whenever you like. For anyone who was dreading the operational story of running MCP in production, this is the good news release.

Where state goes instead

Application-level state does not disappear, it moves up a layer: a tool mints an explicit handle and the model passes it back as an argument on the next call. State becomes something you design deliberately rather than something the transport gives you for free, which is generally how it should have been anyway.

The compatibility problem, and what we did about it

The spec commits to a minimum twelve-month deprecation window, and deprecated features keep working through it. Clients in the wild move more slowly than specifications do. So our MCP server speaks both eras: the current stateless specification and the legacy handshake, chosen per request. We expect to keep the legacy path until around August 2027, because the alternative is silently breaking somebody's integration on a Tuesday.

If you run a server, the temptation is to ship the new era and delete the old one the same week. The spec gives you twelve months for a reason. Use them.

Try what you just read about

Free for 7 days — bring a prompt, leave with a product on your own domain.

Start building