Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · mcp

Key Changes changedspecification/2026-07-28/changelog

Nearest release: v2.1.305, published under an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 20 Oct 2026 20:02 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 22 Oct 2026 20:37 UTC.

Upstream edited
Recorded here
Lines+10added
Lines−10removed
From line 1 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits3to this page, all time

The whole hunk

from line 1, old and new numbered
/
lines
from line 1
11# Key Changes
22 
33This document lists changes made to the Model Context Protocol (MCP) specification since
4the previous revision, [2025-11-25](/specification/2025-11-25).
4the previous revision, [2025-11-25](/specification/2025-11-25.md).
55 
66## Major changes
77 
from line 19
1919 
20207. Multi Round-Trip Requests (MRTR) pattern introduced which replaces the previous approach of sending server-initiated requests, such as `roots/list`, `sampling/createMessage`, or `elicitation/create`. Servers return an `InputRequiredResult` (`resultType: "input_required"`) whose `inputRequests` field carries the requests for the additional information needed to process the request. Clients respond with `inputResponses` on a retry of the original request providing the requested information. ([SEP-2322](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2322)).
2121 
228. All results now carry a required `resultType` field: `"complete"` for ordinary results and `"input_required"` for [multi round-trip request](/specification/2026-07-28/basic/patterns/mrtr) interim results. Clients **MUST** treat results from earlier-protocol servers that omit the field as `"complete"` ([SEP-2322](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2322)).
228. All results now carry a required `resultType` field: `"complete"` for ordinary results and `"input_required"` for [multi round-trip request](/specification/2026-07-28/basic/patterns/mrtr.md) interim results. Clients **MUST** treat results from earlier-protocol servers that omit the field as `"complete"` ([SEP-2322](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2322)).
2323 
24249. Remove SSE stream resumability and message redelivery (the `Last-Event-ID` header and SSE event IDs) from the Streamable HTTP transport. A broken response stream loses the in-flight request; clients **MUST** re-issue it as a new request with a new request ID ([SEP-2575](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2575)).
2525 
2626## Minor changes
2727 
281. Add `extensions` field to `ClientCapabilities` and `ServerCapabilities` to support optional [extensions](/docs/extensions/overview) beyond the core protocol.
281. Add `extensions` field to `ClientCapabilities` and `ServerCapabilities` to support optional [extensions](/docs/extensions/overview.md) beyond the core protocol.
29292. Document OpenTelemetry trace context propagation conventions for `_meta` keys (`traceparent`, `tracestate`, `baggage`) ([SEP-414](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/414)).
30303. Servers **SHOULD** return tools from `tools/list` in a deterministic order to enable client-side caching and improve LLM prompt cache hit rates.
31314. Require standard MCP request headers (`Mcp-Method`, `Mcp-Name`) on Streamable HTTP POST requests, and add support for custom headers from tool parameters via `x-mcp-header` ([SEP-2243](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2243)).
from line 49
494911. Remove the `notifications/elicitation/complete` notification and the
5050 `elicitationId` field of URL mode elicitation requests, both introduced in
5151 `2025-11-25`. Under the
52 [Multi Round-Trip Requests](/specification/2026-07-28/basic/patterns/mrtr) pattern, the
52 [Multi Round-Trip Requests](/specification/2026-07-28/basic/patterns/mrtr.md) pattern, the
5353 client learns the outcome of an out-of-band interaction by retrying the original
5454 request, so a server-initiated completion signal — and the identifier used to
5555 correlate it — no longer fit the protocol. Servers needing to correlate an
5656 elicitation across retries encode their own identifier in `requestState`.
5712. Define an [error code allocation policy](/specification/2026-07-28/basic/index#error-codes)
5712. Define an [error code allocation policy](/specification/2026-07-28/basic/index.md#error-codes)
5858 partitioning the JSON-RPC server-error range: `-32000` to `-32019` remains
5959 implementation-defined (existing SDK usage is grandfathered), `-32020` to `-32099` is
6060 reserved for the MCP specification. Renumber the error codes introduced in this draft
from line 64
6464 
6565## Deprecated
6666 
67Features listed here remain part of the specification but are scheduled for removal under the [feature lifecycle and deprecation policy](/community/feature-lifecycle). New implementations should not adopt them. The [deprecated features registry](/specification/2026-07-28/deprecated) tracks every feature currently in the Deprecated state.
67Features listed here remain part of the specification but are scheduled for removal under the [feature lifecycle and deprecation policy](/community/feature-lifecycle.md). New implementations should not adopt them. The [deprecated features registry](/specification/2026-07-28/deprecated.md) tracks every feature currently in the Deprecated state.
6868 
69691. Deprecate the Roots, Sampling, and Logging features
7070 ([SEP-2577](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577)).
from line 78
78782. Reclassify the HTTP+SSE transport (deprecated since protocol version
7979 `2025-03-26`) as Deprecated under the feature lifecycle policy
8080 ([SEP-2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596)).
81 Migrate to [Streamable HTTP](/specification/2026-07-28/basic/transports/streamable-http).
81 Migrate to [Streamable HTTP](/specification/2026-07-28/basic/transports/streamable-http.md).
8282 
83833. Reclassify the `includeContext` values `"thisServer"` and `"allServers"`
8484 (soft-deprecated since protocol version `2025-11-25`) as Deprecated
from line 89
89894. Deprecate the OAuth 2.0 Dynamic Client Registration Protocol
9090 ([RFC7591](https://datatracker.ietf.org/doc/html/rfc7591)) as a client registration
9191 mechanism in favor of
92 [Client ID Metadata Documents](/specification/2026-07-28/basic/authorization/client-registration#client-id-metadata-documents)
92 [Client ID Metadata Documents](/specification/2026-07-28/basic/authorization/client-registration.md#client-id-metadata-documents)
9393 ([PR #2858](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2858)).
9494 It remains available for backwards compatibility with authorization servers that do
9595 not support Client ID Metadata Documents.
from line 101
101101## Governance and process updates
102102 
1031031. Adopt a specification
104 [feature lifecycle and deprecation policy](/community/feature-lifecycle)
104 [feature lifecycle and deprecation policy](/community/feature-lifecycle.md)
105105 defining the Active, Deprecated, and Removed feature states, a minimum
106106 twelve-month deprecation window, and a
107 [registry of deprecated features](/specification/2026-07-28/deprecated)
107 [registry of deprecated features](/specification/2026-07-28/deprecated.md)
108108 ([SEP-2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596)).
109109 
110110## Process changes
Feedback