MCP Just Went Stateless — What the 2026 Spec Changes About Scaling on App Service

MCP Just Went Stateless — What the 2026 Spec Changes About Scaling on App Service

A couple of months ago I wrote about scaling MCP servers behind App Service’s built-in load balancer. The trick back then was to lean on stateless HTTP transport and turn off ARR affinity so any instance could serve any request. That post still works — but the MCP spec just caught up to it in a big way.

The 2026-07-28 release candidate is the largest revision of the Model Context Protocol since it launched, and the headline change is exactly the thing we were working around: MCP is now stateless at the protocol layer. The initialize handshake is gone, the Mcp-Session-Id header is gone, and the sticky-routing-and-shared-session-store dance that horizontal deployments used to need is no longer part of the protocol at all. Any MCP request can land on any instance — for real, no shared session store required.

The full post covers what the 2026 spec actually changes (SEP-2575 and SEP-2567), why “stateless protocol” doesn’t mean “stateless app,” the explicit-handle pattern that replaces protocol sessions, and a migration punch list for an existing MCP server on App Service. It comes with a companion sample: a FastAPI MCP server that speaks 2026-07-28 natively — no handshake, no session — running on three App Service instances behind the built-in load balancer, with a staging slot, App Insights, a spec-compliant client, and a k6 load test.

👉 Read the full article on Tech Community and grab the companion sample on GitHub. Want the 2025-11-25 version for comparison? That’s the original Part 1 sample.

Comments