MCP 2.0? What Changed, What Remained, and How it Impacts Practitioners
MCP's 2026-07-28 revision is a deliberately breaking update that removes protocol sessions, the initialize handshake, and long-lived server-initiated streams, transforming MCP into a stateless, load-balanced HTTP workload The protocol now mandates a single OAuth profile with zero-prior-relationship connection support, making authentication the primary differentiator from plain REST APIs State was not eliminated but relocated from transport-level session IDs to server-minted handles embedded in t
Analysis
TL;DR
- MCP's 2026-07-28 revision is a deliberately breaking update that removes protocol sessions, the initialize handshake, and long-lived server-initiated streams, transforming MCP into a stateless, load-balanced HTTP workload
- The protocol now mandates a single OAuth profile with zero-prior-relationship connection support, making authentication the primary differentiator from plain REST APIs
- State was not eliminated but relocated from transport-level session IDs to server-minted handles embedded in tool arguments, creating new prompt injection attack surfaces
- The revision introduces a structural correctness risk: with stream resumability removed and the new MRTR retry pattern, side-effecting tools (e.g., refunds) can execute multiple times unless application-level idempotency keys are explicitly implemented
- MCP is now best understood as an HTTP profile plus ecosystem rather than a fundamentally different architecture, with major AI clients (Claude, ChatGPT, Copilot, VS Code) already supporting it
Why It Matters
This revision fundamentally shifts MCP from a protocol requiring custom infrastructure to one that fits within existing enterprise API gateways, WAFs, and observability pipelines—making adoption significantly easier for regulated enterprises while introducing non-trivial correctness and security risks that platform teams must address proactively.
Technical Details
- Stateless architecture: The
initializehandshake andMcp-Session-Idare removed; every request now carries its own protocol version and capabilities, enabling deployment behind plain load balancers without session stores (GitHub reportedly deleted their Redis tier) - HTTP-first design: Method and tool names are mirrored into required
Mcp-MethodandMcp-NameHTTP headers, with opt-inx-mcp-headerfor tool parameter mirroring, allowing gateways to route, rate-limit, and log without JSON-RPC body parsing - MRTR (Mid-Request Tool Response) pattern: Replaces server-initiated streams; servers return
input_requiredfor confirmations/forms, and clients re-send the full original request under a new ID with answers attached—no idempotency key or dedup semantics defined by the protocol - Mandatory OAuth profile: Resource server pattern with protected resource metadata, resource indicators, mandatory issuer validation, and portable client identity via Client ID Metadata Documents where
client_idis an HTTPS URL hosting metadata - Tool annotation risk vocabulary:
readOnlyHint,destructiveHint,idempotentHint, andopenWorldHintenable composition-aware auto-approval policies that OpenAPI cannot express - MCP Apps: Servers can deliver interactive HTML rendered in sandboxed iframes within Claude, ChatGPT, Copilot, or VS Code under host-constructed CSP, with tool calls flowing through the same audit path as model outputs
- Cache scope hints: New mandatory
cacheScopeincludes apublicscope permitting shared intermediary caching—misclassification on authenticated per-tenant data creates cross-tenant disclosure vulnerabilities
Industry Insight
- Adopt MCP as an ecosystem decision, not an architectural one: The "just REST" critique is technically valid but misses that the novel auth profile, risk vocabulary, and cross-client reach make adoption strategically valuable—treat it like OpenID Connect, not a database selection
- Implement idempotency keys before scaling: The MRTR retry pattern means every side-effecting tool must carry an application-level idempotency key derived from business operations, not request IDs; this is now a hard requirement in regulated enterprise standards and should be enforced before estate growth makes audits costly
- Cache classification and handle binding are new reviewer responsibilities: The
publiccache scope on authenticated tool lists can create silent cross-tenant data leaks, and server-minted handles traveling through model context are vulnerable to prompt injection—both require explicit classification reviews and principal-bound handle validation in server standards
Disclaimer: The above content is generated by AI and is for reference only.