Developer Tools & APIs

MCP 2026-07-28: Stateless Core, Hardened Auth, and Official Extensions Land Across Claude

The fifth MCP spec drops stateful sessions for a request/response core, hardens OAuth/OIDC auth, and graduates MCP Apps and Tasks as versioned extensions.

developer tools apis category

The fifth release of the Model Context Protocol spec is out, and it is the most significant since launch. MCP 2026-07-28 replaces the protocol’s stateful, session-oriented design with a stateless request/response core, brings OAuth 2.1 and OIDC authorization up to production-grade, and formally graduates MCP Apps and Tasks as official versioned extensions. Anthropic is rolling out support across Claude products, with AWS Bedrock AgentCore and Cloudflare Workers shipping support from day zero.

Why the old design needed to change

MCP was originally built around a specific setup: a single AI client, like Claude Desktop, talking to a local server process over stdio. A persistent, stateful connection made complete sense there. The client opened a socket, ran an initialize handshake that returned an Mcp-Session-Id, and both sides remembered each other for the life of the session.

That model breaks down the moment you try to deploy an MCP server on modern serverless or edge infrastructure. Serverless functions are stateless by design. Load balancers distribute requests across instances. There is nowhere to keep a session alive. The result was that production MCP deployments required sticky sessions, persistent processes, or proxy workarounds that most teams would rather not maintain.

The 2026-07-28 spec removes the initialize handshake entirely. Every request is now self-contained. MCP servers can run on Lambda, on Cloudflare Workers, on any container platform, without special session management infrastructure.

What happens to state that servers actually need?

Removing sessions does not mean throwing away state management — it means making state explicit and visible to the model. Servers that need continuity across calls can mint explicit handles: a basket_id, a browser_id, a taskId. The model receives that handle as an ordinary tool return value and passes it back as an argument on subsequent calls.

This turns out to be more useful than hidden session state. The model can reason about handles, compose them across tools, and pass them between steps in a workflow. State becomes part of the conversation rather than something happening invisibly underneath it.

Multi-Round-Trip Requests replace server-pushed elicitation

The old approach for getting user input mid-task involved holding a long-running HTTP stream open and pushing a request down it. The new mechanism, Multi-Round-Trip Requests (MRTR), is more practical. A server returns input_required along with an opaque requestState token. The client collects the input and retries the request with the answers attached. No held connections, no streaming infrastructure required.

Auth is now production-grade

MCP servers are formally OAuth 2.1 resource servers in this spec. The 2025-11-25 release introduced the concept; 2026-07-28 tightens it considerably. Clients are required to perform robust issuer validation per RFC 9207, and support for both OAuth 2.0 and OIDC discovery is proposed as mandatory.

For enterprise deployments, this matters a lot. MCP servers can now connect to identity providers like Microsoft Entra or Okta without workarounds. Anthropic’s Enterprise-Managed Authorization feature builds on this: admins authorize a connector once through their IdP, users inherit access through their existing group memberships, and it is active on first login. Seven providers support this at launch, including Asana, Atlassian, Figma, Linear, and Supabase, with Slack coming shortly.

MCP Apps and Tasks are now official extensions

MCP Apps and Tasks ship under a new versioned extensions framework, giving them a formal home in the protocol without requiring core spec changes every time a capability evolves.

MCP Apps let servers render interactive UI directly inside a Claude conversation. Users can see what a connector is doing and interact with it inline rather than switching to a separate tab.

Tasks, contributed by AWS, adds first-class support for long-running, reliable agent work. Task handles are designed to survive connection drops: if a client disconnects and reconnects, or a different client instance picks up the work, it can resume polling with the same taskId. This makes multi-step agent workflows meaningfully crash-resilient.

What this means for you

If you build MCP servers: This is a wire-incompatible change. Many servers will need real refactors, not just an SDK bump. The initialize handshake is gone, the session ID header is gone, and any server-side session state needs to migrate to explicit handles or the Tasks extension. The good news is that gateways like Bedrock AgentCore can serve multiple protocol versions simultaneously during the transition, so you do not have to migrate everything at once.

If you use Bedrock AgentCore: Adopting 2026-07-28 is a configuration change. Add the new version to your gateway’s supportedVersions with a single UpdateGateway API call. No gateway recreation, no changes to individual target configurations.

If you deploy on Cloudflare Workers: Agents SDK v0.20.0 adds full client and server support. Workers can serve tools, prompts, resources, and elicitation without an MCP transport session or a Durable Object. The client manager will probe for 2026-07-28 support on connect and fall back gracefully to the legacy handshake if the server has not yet migrated.

If you’re an enterprise IT admin: The auth hardening and Enterprise-Managed Authorization features are the headline here. Centralised provisioning through your existing IdP, with zero-touch setup for end users, is now available across a growing list of major connectors.

If you’re a Claude user: MCP Apps will start surfacing interactive UI directly in conversations. The connectors directory already lists over 950 servers used by millions of people daily, and the new observability dashboard gives connector publishers visibility into how their tools perform across Claude product surfaces.

A note on what was deferred

File upload and binary transfer support, tracked as SEP-2631, did not make this release. It is in the pipeline. Roots, Sampling, Logging, and SSE are entering a 12-month deprecation window.

The full spec and updated Tier 1 SDKs for TypeScript and Python are available now. Both SDKs have crossed 1 billion total downloads, and the protocol is seeing close to 500 million monthly SDK downloads across the ecosystem, so the migration will have plenty of company.