MCP's Final Spec Is Live — Claude Support Comes Later
MCP's final 2026-07-28 spec deprecates Sampling, Roots and Logging and adds Multi Round-Trip Requests. Claude's core support is still rolling out.
The Model Context Protocol's 2026-07-28 specification became final on July 28, 2026, and it goes further than the release candidate suggested: Roots, Sampling and Logging are now formally deprecated, replaced by a new Multi Round-Trip Requests (MRTR) pattern. Anthropic published its own rollout post the same day — but Claude only supports part of the new spec today; the stateless core and full OAuth alignment are still "rolling out soon," in Anthropic's own words.
What the final spec adds beyond the RC
CodingSalt covered the stateless core, MCP Apps and Tasks extension when the release candidate locked in May. The final text, published July 28, adds several changes that were not settled at RC stage:
- Roots, Sampling and Logging are deprecated (SEP-2577). These features still
work during the transition window, but new servers should pass files or
directories through tool parameters instead of Roots, call an LLM provider's API
directly instead of Sampling, and log to
stderror OpenTelemetry instead of the Logging capability. - Multi Round-Trip Requests (MRTR) (SEP-2322) replaces the server-initiated
calls those three features relied on. Every result now carries a required
resultTypefield —"complete"for a normal answer or"input_required"when the server needs more from the client. server/discoverbecomes a mandatory RPC so a server can advertise its supported protocol versions and capabilities up front, letting clients pick a version before sending real requests.subscriptions/listenreplaces the old HTTP GET endpoint plusresources/subscribe/unsubscribepair with one long-lived stream that clients opt into per notification type.- OAuth Dynamic Client Registration is deprecated in favor of Client ID
Metadata Documents, and authorization responses must carry an
issparameter per RFC 9207 to close a token-redemption ambiguity.
MRTR in practice
A server that used to call sampling/createMessage mid-tool-call now returns an
interim result instead of reaching back into the client:
{
"resultType": "input_required",
"inputRequests": [
{ "type": "sampling", "prompt": "Summarize this diff for a commit message" }
]
}The client fills in inputResponses and re-sends the original request — there is
no separate completion notification to correlate, which is also why the spec
removes notifications/elicitation/complete from the previous revision. Any server
code built around a fire-and-forget callback from the client needs to be rewritten
around this retry loop.
What Claude actually supports on day one
This is the gap developers building specifically for Claude should plan around. Per Anthropic's own rollout post, Claude currently supports:
- MCP Apps (interactive UI rendered inside conversations)
- Enterprise-managed authorization for organization-wide connector provisioning
- A connector observability dashboard
- A research-preview private network tunnel for connectors without public endpoints
- A connectors directory listing more than 950 MCP servers
The stateless protocol core, the formal extensions framework, and full OAuth 2.0/OIDC alignment are explicitly not on that list yet — Anthropic describes them as rolling out "soon" rather than shipped. If your server targets Claude specifically, the session-based transport you have today still works; if it targets the broader MCP ecosystem, plan for clients that pick up the stateless core faster than Claude does.
Adoption context
Anthropic's post cites 400 million monthly SDK downloads for MCP, a 4x increase over the past year, and describes millions of daily Claude users touching connectors. Beyond Anthropic, the protocol blog lists AWS integrating the stateless core into Bedrock AgentCore and making Tasks an official extension, Microsoft integrating it into Foundry, and Google Cloud committing to adopt it "across our ecosystem of developer tools." Figma, Intuit, Netlify, PostHog, Xero and Zoom are named as supporting the new spec as well.
What to do this week
- Grep your server for Roots, Sampling or Logging usage. None of it breaks today, but the 12-month deprecation clock started July 28.
- Don't rewrite for MRTR yet if you only target Claude. Claude's own core support is still pending; watch the Claude changelog before ripping out session-based code that currently works.
- If you serve multiple clients, prioritize
server/discover. It is the one addition every client, regardless of vendor, can use immediately for version negotiation. - Re-check OAuth client registration. If your authorization server relies on Dynamic Client Registration, start evaluating Client ID Metadata Documents now — it is a deprecation, not a hard break, but a 12-month window disappears fast for infrastructure teams.
Frequently asked questions
Does the final MCP 2026-07-28 spec differ from the release candidate?
Yes. Beyond the stateless core the RC previewed, the final spec deprecates the Roots, Sampling and Logging features in favor of a Multi Round-Trip Requests (MRTR) pattern, adds a required server/discover RPC, replaces the old GET/subscribe endpoints with a single subscriptions/listen stream, and deprecates OAuth Dynamic Client Registration in favor of Client ID Metadata Documents.
Does Claude support the new MCP spec today?
Partially. As of July 28, 2026, Claude supports MCP Apps, enterprise-managed authorization, connector observability and a research-preview private tunnel feature. The core stateless architecture, the extensions framework and full OAuth 2.0/OIDC alignment are, in Anthropic's own words, "rolling out across Claude products soon" rather than live on day one.
Will my existing MCP server break on July 28?
No. The spec's deprecation policy guarantees at least a 12-month window before any deprecated feature is removed, and clients built against the previous 2025-11-25 revision keep working. Servers that use Roots, Sampling or Logging keep functioning during the transition, but new code should target the replacement patterns.
What is a Multi Round-Trip Request?
MRTR is the mechanism that replaces server-initiated calls like sampling/createMessage, roots/list and elicitation/create. Instead of the server reaching back into the client mid-call, it returns a result with resultType: "input_required" listing what it still needs; the client retries the same request with that information filled in.