skip to content
The Weighted Average

Agentic Engineering

Stateless MCP Makes Agent Infrastructure Boring

MCP drops sessions after reaching 400M monthly SDK downloads, cutting scale friction while starting a 12-month migration clock.

Colorful HTML code displayed on a computer monitor
Colorful HTML code displayed on a computer monitor. Photograph by Florian Olivo

The Model Context Protocol has traded its sessions for ordinary HTTP after passing 400 million monthly SDK downloads. That is the right architectural decision, but it is also a breaking one: teams running remote MCP servers should begin a dual-version migration now rather than treating the 2026-07-28 specification as a routine library bump.

The protocol finally learned the web’s oldest trick

The new MCP specification release makes every request self-describing. Protocol version, client identity, and capabilities now travel with the request, while the old initialize exchange and Mcp-Session-Id header disappear. Any request can land on any instance behind a round-robin load balancer. For a platform team, that removes sticky routing, shared session storage, and a class of failures caused when the pod holding a conversation vanishes.

This sounds like plumbing because it is plumbing. That is precisely the achievement. MCP has become important enough that boring deployment matters more than clever transport semantics. Anthropic says the protocol now exceeds 400 million monthly SDK downloads, up 4× this year, while Claude’s own directory lists more than 950 MCP servers. The previous architecture forced operators to preserve transport state even when the underlying tool was naturally stateless. The new design makes an MCP service look more like the HTTP workloads infrastructure teams already know how to scale.

The economic implication is not merely fewer Redis bills. A stateless service can spread traffic across commodity instances, scale to zero at the edge, and recover from node loss without reconstructing a hidden protocol session. That lowers the operational premium attached to every agent integration. It also strengthens the thesis from the earlier argument that mature CLI surfaces can outperform fashionable agent protocols: MCP wins only when it becomes as composable and inspectable as the infrastructure it seeks to replace.

The release adds routing leverage too. Method and tool names now ride in Mcp-Method and Mcp-Name headers, allowing gateways, rate limiters, and web application firewalls to classify calls without parsing JSON bodies. Tool and resource lists gain deterministic ordering and cache hints, which can reduce catalog fetching and stabilize upstream prompt caches. Those are small changes individually; together they turn an agent connector from a bespoke tunnel into governable web traffic.

Long-running work no longer needs to hold a fragile stream open. Tasks move into an official extension with polling and updates, while multi-round-trip requests let a server ask for approval or missing input and return a resumable input_required result. MCP Apps becomes another versioned extension rather than expanding the protocol core. This keeps the center narrow while giving interactive interfaces and durable jobs somewhere to evolve.

There is one useful performance clue in the announcement. Manufact says its new client-server SDK split made mcp-use 25% faster while cutting package size by 83%. Divide the old package footprint by the new 17% remainder and the deployment is roughly 5.9× smaller. That figure will not transfer cleanly to every stack, but it shows the direction: the protocol’s maturation can improve both runtime topology and shipping weight rather than merely moving complexity around.

Migrate the transport, not your application state

Stateless MCP does not abolish state. It makes state explicit. A tool that must remember a workflow can mint a handle and require the model to pass it back as an ordinary argument. That is healthier than transport magic because traces can show the handle, retries can reason about it, and operators can choose a store with durability appropriate to the task. It also means teams must audit every tool that quietly depended on session identity before swapping SDK versions.

The official changelog lists nine major changes, including removal of stream resumability. If a response stream breaks, the client reissues the operation with a new request ID. That creates an idempotency problem for tools with side effects: “charge card,” “deploy release,” and “delete account” cannot simply execute twice. The migration checklist therefore starts with explicit operation keys and replay-safe handlers, not with upgrading a package.json entry.

Compatibility is the second trap. Older clients and 2026-07-28 servers do not share the same handshake. The new server/discover call can advertise versions, but production operators still need telemetry showing which clients use which protocol before retiring an endpoint. The project now guarantees a minimum 12-month deprecation window, and maintainers told VentureBeat that most of the ecosystem upgrades within six to eight months. Treat that policy as a migration runway, not permission to wait eleven months.

Authorization deserves its own pass. Issuer validation now follows RFC 9207, credentials bind to the authorization server that minted them, and Dynamic Client Registration is deprecated in favor of client metadata documents. These changes reduce mix-up risk, but no protocol can rescue an agent handed a human administrator’s standing credentials. The same least-privilege lesson behind Google’s agent discovery layer applies here: discovery and connectivity amplify whatever authorization model sits beneath them.

Who should switch? Teams operating remote MCP fleets behind Kubernetes, serverless platforms, or edge runtimes should start immediately because they capture the clearest reliability gain. What does it cost? Budget one compatibility cycle to inventory session assumptions, add idempotency keys, run old and new endpoints together, and validate OAuth issuer handling. Small local-stdio integrations can wait for their framework to stabilize because load-balancer economics do not apply.

What could break the verdict is ecosystem lag. If high-value clients stay pinned to the previous protocol, dual support may cost more than session infrastructure saved. Evidence that would change the call is concrete: a major SDK retracting support, persistent cross-version failure rates, or payload growth that materially raises edge costs. Until then, the operator move is prosaic and decisive—make every side effect replay-safe, expose application state explicitly, and let MCP become boring enough to trust.

The reported Nvidia-Hut 8 infrastructure loop shows how the physical AI stack is becoming more vertically concentrated. Stateless MCP pushes the software layer in the opposite direction: toward interchangeable servers, open extensions, and infrastructure that can fail without taking the agent’s context with it. Builders should prefer that kind of boring.

Sources