note · growing
The 2026-07-28 stateless spec
No handshake, no session id, MRTR, header routing, cacheable lists, an extensions framework.
The 2026-07-28 spec is the largest change since MCP shipped, and it is mostly one idea: make the protocol stateless so it can be operated like a normal HTTP service.
| Change | What it means |
|---|---|
| Stateless core | no initialize handshake, no session id |
| Self-describing requests | each carries version, identity, capabilities |
| MRTR | input_required + retry replaces server-initiated calls |
| Header routing | Mcp-Method and Mcp-Name on every request |
| Cacheable lists | ttlMs and cacheScope on list results |
| Extensions framework | Tasks, MCP Apps and EMA move out of the core |
Why statelessness was the blocker
With a handshake and a session id, every request had to land on the instance that started the conversation. That means sticky sessions, no plain round-robin, and a lost stream losing the session.
Any request
Any instance
Plain load balancer
Horizontal scale
Deprecated on a twelve-month clock: HTTP+SSE transport, sampling, roots and logging. Build new things without them.