WHY this matters
The MCP draft spec landed a breaking change: servers MUST now use the MRTR (Multi Round-Trip Request) pattern for server-to-client requests. The old server-initiated request pattern is no longer supported.
Servers MUST send server-to-client requests (such as `roots/list`, `sampling/createMessage`, or `elicitation/create`) using the MRTR pattern. The previous pattern of server-initiated requests is no longer supported. This is a breaking change.
What else changed
- MCP is now explicitly stateless — servers MUST NOT rely on prior requests over the same connection to establish context. Every request must be self-contained via
_meta.
versioning.md replaces "Lifecycle" — protocol version is now declared per-request, no handshake
- New pattern pages: MRTR, subscriptions, cancellation, progress
- Removed: "LLM Sampling Controls" from security requirements, "Logging" from client features
Impact
Any MCP server implementation that currently uses server-initiated requests directly needs to migrate to the MRTR pattern.
Source
PR #1009 — docs/mcp-spec-stateless-patterns-20260603-1942
Assign: @lroolle
WHY this matters
The MCP draft spec landed a breaking change: servers MUST now use the MRTR (Multi Round-Trip Request) pattern for server-to-client requests. The old server-initiated request pattern is no longer supported.
What else changed
_meta.versioning.mdreplaces "Lifecycle" — protocol version is now declared per-request, no handshakeImpact
Any MCP server implementation that currently uses server-initiated requests directly needs to migrate to the MRTR pattern.
Source
PR #1009 — docs/mcp-spec-stateless-patterns-20260603-1942
Assign: @lroolle