Spec shipsTue Jul 28 · T-11 days SDK freezeThu Jul 30 · T-13 days Breaking6 changes Sprint math1.83 days / migration DeprecationsRoots · Sampling · Logging Window12 months → mid-2027 New headersMcp-Method · Mcp-Name Error code-32002 → -32602
Protocol-Spec · Breaking-Change Countdown · 12-Day Rotation Gap

The MCP Protocol Just Locked an 11-Day Breaking Change — and Every MCP Server TTL Operates Has to Migrate

The 2026-07-28 release candidate crystallized the biggest Model Context Protocol revision since launch. Six breaking changes land in 11 days: stateless core (the initialize/initialized handshake and Mcp-Session-Id header are gone), two new required HTTP headers (Mcp-Method and Mcp-Name), a JSON-RPC error-code migration from -32002 to -32602, hardened cache semantics, a W3C trace-context lockdown, and a formal 12-month deprecation window for Roots, Sampling, and Logging. Sprint math: 11 days ÷ 6 breaking changes = 1.83 days per migration. With the 2-day Tier-1 SDK validation buffer, the working budget is 2.17 days per migration. Every MCP server a small lab operates needs an audit pass before the spec ships.

Lead mechanismA version-locked spec ships a hard breaking-change window for production MCP server fleets Market frameStateless core + Extensions framework replaces session-stateful routing; explicit handles replace server-side state AudienceInfra leads · platform engineers · MCP server authors · agent fleet operators · AI buyers

Five Numbers That Define the Day

Sprint math is shown inline where a headline number is derived from a calendar window.

Days until spec ships
11
2026-07-28 − 2026-07-17 = 11 days · Tue Jul 28 RC locked May 21
Breaking changes in this RC
6
stateless core · 2 new HTTP headers · error code · cache · trace · 12-mo deprecations
Sprint budget per migration
1.83
11 days ÷ 6 breaking changes · or 2.17 with 2-day SDK buffer (13 ÷ 6)
SDK validation window
13 days
2026-07-30 − 2026-07-17 · Tier-1 SDKs must ship RC support
Deprecation horizon
Mid-2027
Roots · Sampling · Logging → ≥12-month removal window after spec ships

Pattern #12 — Graduates vs Deprecations

Stable-vs-deprecated within the same spec. Green = graduates or stays stable. Red = formal deprecation or removal. The bifurcating frame turns a calendar deadline into a concrete per-feature checklist.

Graduates  ·  stable on the 2026-07-28 RC

What locks into the canonical protocol

FeatureStatusReplacement / detailTimeline
Tasks (SEP-1686)experimental → extensiontools/call returns a handle; client drives tasks/get, tasks/update, tasks/cancellocked in RC
Stateless corestableinitialize/initialized handshake removed; Mcp-Session-Id header removed; any server instance can answer any requestshipped in RC
Explicit-handle patternstableTools return identifiers (basket_id, browser_id); the model threads them back as arguments. State becomes visible to the model, not hidden in server-side storageformal in RC
OAuth 2.1 + OIDC (6 SEPs)stableRFC 9207 issuer validation; Dynamic Client Registration with application_type; credential binding to issuer; refresh-token guidance; scope step-up accumulation; .well-known discoverylocked in RC
MCP Apps (SEP-1865)graduateServer-rendered HTML UIs in sandboxed iframes; tools declare templates so hosts can prefetch, cache, and security-review before renderships in RC
JSON Schema 2020-12stableComposition (oneOf/anyOf/allOf), conditionals (if/then/else), and schema references ($ref) are now first-classlocked in RC
Six features graduate or lock as stable. Every green row is a code path that gets simpler, not harder.
Deprecations  ·  removed or formally sunset

What gets cut, obsoleted, or put on a 12-month clock

FeatureStatusReplacement / detailTimeline
Sticky-session routingobsoleteStateless core means any server instance can answer. Round-robin load balancers replace session affinityimmediate (RC)
L7 DPI on sessionobsoleteNo Mcp-Session-Id to inspect; gateway routing moves to Mcp-Method and Mcp-Name headersimmediate (RC)
RootsdeprecatedMove filesystem-scope negotiation to a host-owned declaration surface; no server-side API replacement≥12 months · mid-2027
SamplingdeprecatedServer-initiated model completions are replaced by client-driven tool calls + handles≥12 months · mid-2027
LoggingdeprecatedServer-to-client log shipping replaced by structured out-of-band telemetry≥12 months · mid-2027
tasks/listremovedNo session = no safe cross-instance listing. Clients track task handles themselvesimmediate (RC)
Custom error code -32002removed"Resource not found" migrates to the standard JSON-RPC -32602 "Invalid Params"immediate (RC)
Three obsolete-now, three on a 12-month clock. The error-code migration and the tasks/list removal are immediate; Roots, Sampling, and Logging have a window to design replacements before mid-2027.

MCP Apps (SEP-1865) — Template → Prefetch → Render

The new UI surface ships a three-step lifecycle so hosts can security-review before anything renders.

Step 1
Template declaration
Tools ship HTML/UI metadata at registration time. Hosts see the surface before any model call touches it.
Step 2
Prefetch + cache
Hosts prefetch declared assets, run policy checks, and cache the UI shell. Latency at render time drops to near-zero.
Step 3
Sandboxed render
UI runs inside a sandboxed iframe. User actions return through the same JSON-RPC base protocol — no parallel transport.

Sprint Math — How the 11-Day Window Translates

The headline budget is the calendar divided by the audit checklist. Two flavors: tight (just the 11 days) and SDK-aware (13 days including the 2-day Tier-1 SDK validation buffer).

Tight (11 days)
1.83 d
SDK-aware (13 days)
2.17 d
Headers (2 changes)
2 items
Immediate deprecations
3 items
12-mo deprecations
3 items
Other (error/cache/trace)
3 items
The two new headers (Mcp-Method, Mcp-Name) account for 2 of the 6 breaking changes. The remaining 4 split across stateless core, error-code migration, cache semantics, and trace-context lockdown.
For TTL-operated MCP servers: every server in the fleet needs a single migration pass that (a) drops sticky-session routing, (b) adds the two HTTP headers, (c) updates any -32002 error-code references to -32602, (d) designs replacements for Roots, Sampling, and Logging before mid-2027, and (e) pins Tier-1 SDKs to RC-supporting versions. Without an SDK that has RC support, the migration plan is not shippable.

Six Moves for Builder Teams This Week

What changes in code, in deployment, and in operations before the spec ships.

1

Audit every production MCP server for session-store dependencies

Any code path that relies on Mcp-Session-Id, session affinity, or server-side session storage is a regression. Stateless core means no session = no problem, but the migration has to land before the spec ships.

2

Add the two new HTTP headers end-to-end

Mcp-Method carries the JSON-RPC method. Mcp-Name carries the tool or resource identifier. Servers reject requests where the headers and body disagree. Update SDK clients, gateway routing, and any custom middleware.

3

Plan the explicit-handle migration for stateful tools

Tools that need continuity return a handle. The model threads the handle back as an argument on the next call. State moves from server-side storage into the conversation context — visible, debuggable, and horizontally scalable.

4

Migrate -32002 to -32602 across error-handling paths

"Resource not found" is no longer a custom error code. It moves to the standard JSON-RPC -32602 "Invalid Params." Any test, alert, or dashboard keyed on the old code needs an update.

5

Design Roots, Sampling, and Logging replacements before mid-2027

The 12-month window is generous but the design work should start now. Host-owned declaration surfaces replace Roots. Client-driven tool calls replace Sampling. Structured out-of-band telemetry replaces server-to-client log shipping.

6

Pin Tier-1 SDKs to RC-supporting versions

Python and TypeScript SDKs need to be on versions that speak the new headers, the new error codes, and the stateless core. Do not ship a migration plan against an SDK that does not yet have RC support.

Cross-Channel Convergence

How today's story maps to the channels we already run.

Story elementDaily ResearchQuantTrending RadarScoutEcho
MCP 2026-07-28 RC (lead)✓ primary · 4 sourcesno briefingno digest
Stateless core + explicit handles✓ primaryno briefingno digest
MCP Apps (SEP-1865) sandboxes✓ primaryno briefingno digest
Roots / Sampling / Logging deprecation✓ primaryno briefingno digest
NORTHTEKDevs/genome MCP server✓ signalno briefingno digest
Fireworks $1.5B / Asia Q2 $42.8B✓ primaryno briefingno digest

Tiny Little Lab Read

Stateless core is the migration. For two years, MCP server operators built session affinity, sticky-session routing, and L7 deep-packet inspection on top of Mcp-Session-Id. The 2026-07-28 RC makes that entire layer obsolete in a single release. State moves into the conversation context as explicit handles; routing moves to two new HTTP headers; the error code standardizes. The 11-day window is not a research deadline — it is a calendar deadline for production code paths. The teams that audit their MCP server fleets this week and ship before Jul 28 will be running stateless by default. The teams that do not will be patching a deprecated protocol for the next 12 months. Sprint budget: 1.83 days per migration. There is room, but only if the work starts now.
Forge Daily · Friday, July 17, 2026 · cluster: infrastructure / protocol-spec · 12-day rotation gapMarket intelligence for builders and AI operators · Tiny Little Lab