Skip to content

Back to the catalog

The 2026-07-28 MCP Specification: Stateless Core, MRTR, Header-Based Routing
blog.modelcontextprotocol.ioarticle

The 2026-07-28 MCP Specification: Stateless Core, MRTR, Header-Based Routing

Official blog post from the MCP maintainers announcing the 2026-07-28 spec revision: the protocol moves from stateful/bidirectional to a stateless request/response core, replaces server-initiated calls (elicitation, sampling, roots) with Multi Round-Trip Requests (MRTR), and requires Mcp-Method/Mcp-Name headers so gateways can route and authorize without parsing JSON bodies. It also details significant authorization hardening — RFC 9207 issuer (iss) validation to close authorization-server mix-up attacks, binding client credentials to the issuer that minted them, and formal deprecation of Dynamic Client Registration in favor of Client ID Metadata Documents (CIMD) — alongside cacheable list responses and a new extensions framework (Tasks, MCP Apps, EMA).

TL;DR MCP's 2026-07-28 spec goes stateless with MRTR and header-based routing, and hardens OAuth by adding RFC 9207 issuer validation and deprecating Dynamic Client Registration for CIMD.
Also seen from another angle🧠 AI →

Organisations named here

  • RFC 9207
  • SEP-2243
  • SEP-2322
  • SEP-2352
  • SEP-2468
  • SEP-2549
  • SEP-2567
  • SEP-2575
  • SEP-2577
  • SEP-2663
  • SEP-837

Technologies named here

  • Model Context Protocol
  • Model Context Protocol specification
  • MCP TypeScript SDK
  • MRTR
  • Dynamic Client Registration
  • MCP Python SDK
  • Client ID Metadata Documents
  • MCP Go SDK
  • tasks/get and tasks/update RPCs
  • MCP C# SDK
  • MCP Rust SDK
  • subscriptions/listen stream
  • server/discover RPC
  • Legacy HTTP+SSE transport
  • Mcp-Session-Id header / initialize-initialized exchange
  • OAuth
  • OIDC
  • TypeScript
  • Python
  • Go
  • Rust

Techniques named here

  • Header-based routing
  • MRTR input_required flow
  • Cacheable list results with ttlMs and cacheScope