MCP Grows Up: What the Stateless 2026 Spec Means for Enterprise Agent Fleets

When Anthropic donated the Model Context Protocol to the Agentic AI Foundation under the Linux Foundation in December 2025, the skeptics' read was that MCP had peaked. A nice integration standard for desktop assistants, donated precisely because it had stopped being strategic. Eight months later that read looks badly wrong. The ecosystem is now measured in tens of millions of monthly SDK downloads and over ten thousand public servers, and the 2026-07-28 specification, published just last week, is the release that finally makes MCP deployable the way enterprises actually deploy things: stateless, horizontally scaled, and behind an identity provider.

We've spent the last quarter rolling per-tenant authentication across an internal fleet of MCP servers (GitHub, Slack, email, three SQL engines, object storage, search), so this release lands on ground we've been fighting over ourselves. This post is our field read on what actually changed and what it unblocks.

The problem with sessions nobody wanted to own

The original MCP design carried an implicit assumption from its desktop origins: one user, one client, one long-lived stateful session per server. That model is fine on a laptop. It is quietly hostile to everything about server-side operation.

A stateful session means some process holds your session. That means sticky routing, which means you can't blue-green deploy a busy MCP server without draining connections, can't autoscale it behind a normal load balancer, and can't fail over without every attached agent re-handshaking mid-task. Teams worked around all of this with session-affinity hacks, single-replica servers, and aggressive reconnect logic in clients. Every one of those workarounds was load-bearing infrastructure built on an assumption the protocol never promised to keep.

The 2026-07-28 spec removes the assumption instead of patching around it. The protocol core is now stateless. Every request carries what the server needs, list results are cacheable, and routing metadata moved into headers where gateways and meshes can actually see it. Multi round-trip requests handle the genuinely interactive flows (elicitation, sampling) without forcing everything else to pay the statefulness tax.

The uncomfortable truth of the last two years: most "MCP scaling problems" were session-affinity problems wearing a trench coat.

For operators the practical consequences are immediate. An MCP server becomes deployable like any other stateless HTTP service, with replicas behind a load balancer, rolling deploys, and per-request observability. The API-gateway vendors saw this coming. Gartner projects three-quarters of them will ship MCP features by end of year, and header-based routing is exactly the hook they needed.

Identity was the real blocker

Statelessness gets the headlines, but authorization is what kept MCP out of enterprise procurement reviews. The old flow, where each user OAuths each server from each client, is tolerable for one developer and five servers. It is disqualifying for five thousand employees, a security team that needs central revocation, and a compliance auditor who asks "who has access to what, and who granted it?"

The Enterprise-Managed Authorization extension, now stable and adopted by Anthropic, Microsoft, and Okta among others, inverts the flow. The organization provisions MCP server access through its identity provider, and users arrive with their servers already connected. No per-app consent screens, central grant and revocation, and the source of truth is the IdP rather than a scatter of refresh tokens on laptops.

If you build MCP servers rather than just consume them, this changes your job description. The server is no longer authenticating a user; it's operating inside a tenancy model. Our own rollout taught us that per-tenant auth is where the real engineering lives, and the pattern that survived contact with production is worth spelling out.

Credentials resolve per tenant, per request. The server holds no ambient credentials. Every request arrives with tenant identity established upstream, and the server resolves the tenant's own token (their GitHub app installation, their database role, their Slack workspace token) from a vault at request time. Stateless auth composes perfectly with the stateless core, since any replica can serve any tenant.

The client passes identity in headers, never in tool arguments. Baking tenant IDs into tool parameters invites the model to hallucinate someone else's tenant. Identity is transport-layer metadata. The model never sees it, so the model can never mangle it.

And scopes narrow at every hop. The IdP grants the user access to the server, the server holds a tenant credential scoped to the integration, and individual tools declare what they need. A read_issues tool that executes with an org-admin token is a confused-deputy incident with a release date.

None of this was expressible cleanly in the old spec. All of it is natural in the new one.

What this unblocks for agent platforms

The reason to care isn't protocol aesthetics. MCP is becoming the connectivity layer under agent fleets, and fleets amplify whatever the connectivity layer gets wrong.

A single agent making one bad tool call is an incident. A platform running thousands of workflow executions an hour through shared MCP infrastructure turns every protocol weakness into a systemic one. Session pinning becomes a throughput ceiling. Per-user OAuth becomes an onboarding funnel that leaks. Unversioned server behavior becomes a silent breaking change across every workflow at once. The 2026 spec's less glamorous features (cacheable list results, the formal extensions framework, authorization hardening) are all fleet features. Cacheable tool lists alone matter more than they sound, because agent runtimes re-enumerate tools constantly, and at fleet scale that chatter was a real cost line.

Our working model for where this settles is that MCP servers become boring infrastructure, in the best sense. Stateless services with IdP-managed access, deployed like microservices, metered like APIs, versioned like contracts. The interesting engineering moves up a layer, to the runtimes that decide which tools an agent may see for a given task, the policy engines that gate calls before execution, and the observability that ties a tool invocation back to the workflow, tenant, and dollar that produced it.

Migration notes from the trenches

If you operate MCP servers today, here's the path we'd recommend, roughly in order of return on effort.

  1. Kill server-side session state first, even before adopting the new spec wholesale. Most servers hold session state out of habit rather than need. Push it to the client or derive it per request, and get this done before you scale horizontally rather than after.
  2. Move tenant identity to headers now. Your gateway can enforce and log header-borne identity today, and it aligns you with where routing is going.
  3. Adopt Enterprise-Managed Authorization where your IdP supports it. The onboarding delta is dramatic. Connected-on-first-login is the difference between MCP as a power-user feature and MCP as default infrastructure.
  4. Treat the extensions framework as your compatibility strategy. Vendor-specific behavior that used to live in forked semantics now has a sanctioned home. Use it, because unsanctioned forks are how ecosystems fragment.

The protocol wars of 2025, MCP against half a dozen agent-integration standards, ended quietly with a governance transfer and a steady grind of unglamorous spec work. What's left is the part enterprises actually needed: a stateless, identity-aware, gateway-friendly connectivity layer that their existing infrastructure teams already know how to run. That doesn't make MCP less ambitious. The ambitious part is just beginning.


ArthaVortex builds and operates multi-tenant agent infrastructure, including a fleet of internally hardened MCP servers. If you're wrestling with per-tenant auth or MCP at scale, talk to us.