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.

ChangeWhat it means
Stateless coreno initialize handshake, no session id
Self-describing requestseach carries version, identity, capabilities
MRTRinput_required + retry replaces server-initiated calls
Header routingMcp-Method and Mcp-Name on every request
Cacheable liststtlMs and cacheScope on list results
Extensions frameworkTasks, 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.

what it unlocks
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.

#spec #stateless #2026

See this note on the whiteboard →