Why
MCP Release Candidate 2026-07-28 (final release Jul 28 2026; prior 2025-11-25; ~10-week SDK validation window) is a major, mostly-breaking update. Highlights: stateless core (Mcp-Session-Id removed), initialize/initialized handshake removed (protocol version + clientInfo + capabilities now in _meta on every request), new server/discover, routable Mcp-Method/Mcp-Name headers, InputRequiredResult replacing SSE server-push, -32002→-32602, Tasks-as-extension, full JSON Schema 2020-12, and 6 OAuth/OIDC hardening SEPs.
Ref: https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/
Phase 0 — stateless per-request transport (DONE as PRs; also fixes a live multi-client bug)
A fleet sweep (54 *-mcp repos) found 6 using a single shared Server+StreamableHTTPServerTransport reused across requests. Behind the gateway this means only the first user since container start gets tools; everyone else sees 0 until a restart. This is both a current prod bug AND RC step 1 (the RC removes sessions). All 6 fixed via per-request stateless transport + crash-hardening; PRs open, verified, awaiting merge:
45 repos already per-request (OK). 3 N/A (stdio-only / external-proxy): afkbot-mcp, brain-mcp, sentinelone-mcp.
Related follow-ups surfaced during Phase 0
Phase 1 — spec compliance (after Tier-1 SDK ships RC support)
Per HTTP server:
Phase 2 — gateway + auth
Deprecations to plan away from (annotation-only; functional >=1yr)
Reference: mcp-streamable-http-multi-client-init skill; superops/hudu/rocketcyber/autotask as per-request templates. Continuity: cases/mcp-2026-07-28-release-candidate.
Why
MCP Release Candidate
2026-07-28(final release Jul 28 2026; prior2025-11-25; ~10-week SDK validation window) is a major, mostly-breaking update. Highlights: stateless core (Mcp-Session-Idremoved),initialize/initializedhandshake removed (protocol version + clientInfo + capabilities now in_metaon every request), newserver/discover, routableMcp-Method/Mcp-Nameheaders,InputRequiredResultreplacing SSE server-push,-32002→-32602, Tasks-as-extension, full JSON Schema 2020-12, and 6 OAuth/OIDC hardening SEPs.Ref: https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/
Phase 0 — stateless per-request transport (DONE as PRs; also fixes a live multi-client bug)
A fleet sweep (54
*-mcprepos) found 6 using a single sharedServer+StreamableHTTPServerTransportreused across requests. Behind the gateway this means only the first user since container start gets tools; everyone else sees 0 until a restart. This is both a current prod bug AND RC step 1 (the RC removes sessions). All 6 fixed via per-request stateless transport + crash-hardening; PRs open, verified, awaiting merge:main(PRE-EXISTING toolchain:@types/node@26/typescript@6/eslint@10no flat config) — needs a separate toolchain PR; our fix adds 0 new errors45 repos already per-request (OK). 3 N/A (stdio-only / external-proxy): afkbot-mcp, brain-mcp, sentinelone-mcp.
Related follow-ups surfaced during Phase 0
@types/node@26,typescript@6,eslint@10missing flat config)state.currentDomainis module-global shared across clients (multi-tenant concurrency bug, pre-existing)main(unrelated to transport fix)Phase 1 — spec compliance (after Tier-1 SDK ships RC support)
Per HTTP server:
initialize/initializedhandshake; read protocol version + clientInfo + capabilities from_metaper requestserver/discoverMcp-Method/Mcp-Nameheaders; sendMCP-Protocol-Version: 2026-07-28InputRequiredResultinstead of SSE for server→client requests-32002→-32602for missing resourcesttlMs/cacheScopeon list/resource results_meta(traceparent/tracestate/baggage) where structured logging is usedPhase 2 — gateway + auth
iss/RFC9207), SEP-837 (application_typeDCR), SEP-2352 (cred binding/migration), SEP-2207 (refresh), SEP-2350/2351 (scope +.well-known)Deprecations to plan away from (annotation-only; functional >=1yr)
Reference:
mcp-streamable-http-multi-client-initskill;superops/hudu/rocketcyber/autotaskas per-request templates. Continuity:cases/mcp-2026-07-28-release-candidate.