InterviewsVector

The Model Context Protocol drops its stateful past for a stateless core

MCP's 2026-07-28 spec turns a bidirectional, session-based protocol into a stateless request/response one — remote MCP servers can now run behind a plain load balancer.

What happened

On 28 July 2026 the Model Context Protocol published its 2026-07-28 specification, replacing the stateful, session-based core with a stateless request/response model. It retires the initialize/initialized handshake and the Mcp-Session-Id header, adds Mcp-Method / Mcp-Name header-based routing, cacheable tool/prompt/resource lists (ttlMs, cacheScope) and Multi Round-Trip Requests. Roots, Sampling and Logging are deprecated with a 12-month minimum window.

Why it matters

Statefulness was MCP's scaling ceiling: remote servers needed sticky sessions, a shared session store, and gateways that parsed JSON bodies to route. Statelessness lets a remote MCP server sit behind round-robin load balancing and lets gateways authorize on headers — a real operational simplification, but a breaking one.

Staff engineer take

This is a protocol maturing from 'local tool bridge' to 'distributed service.' The deprecations keep working for at least a year, so the Staff decision is migration sequencing — plan the move to header-routed gateways and Client ID Metadata Documents deliberately rather than chasing the spec on day one.

Interview connection

Why does making a protocol stateless make it easier to scale horizontally, and what do you give up? Frame it around MCP's move away from sticky sessions.

Probes distributed-systems reasoning about state, routing and caching.