Skip to content

MCP draft spec: MRTR breaking change — server-initiated requests pattern deprecated #349

Description

@claude-yolo

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions