Streamable HTTP changedspecification/draft/basic/transports/streamable-http
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+25added
Lines−25removed
From line
13
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits4to this page, all time
The whole hunk
from line 13, old and new numbered
/
from line 13
1313> * Removal of the GET stream endpoint.
1414> * Removal of protocol-level sessions.
1515>
16> See the [changelog](/specification/draft/changelog) and
16> See the [changelog](/specification/draft/changelog.md) and
1717> [Backward Compatibility](#backward-compatibility) below.
1818
1919In the **Streamable HTTP** transport, the server operates as an independent
from line 40
4040as the **MCP endpoint**) that supports POST. For example, this could be a URL
4141like `https://example.com/mcp`.
4242
43[http-sse]: /specification/2024-11-05/basic/transports#http-with-sse
43[http-sse]: /specification/2024-11-05/basic/transports.md#http-with-sse
4444
4545[sse]: https://en.wikipedia.org/wiki/Server-sent_events
4646
from line 88
8888> This revision of the core protocol defines no client-to-server
8989> *notifications* over Streamable HTTP. The only client-sent notification in
9090> the core protocol, `notifications/cancelled`, is used only on the
91> [stdio](/specification/draft/basic/transports/stdio) transport; on
91> [stdio](/specification/draft/basic/transports/stdio.md) transport; on
9292> Streamable HTTP, closing the SSE response stream is itself the cancellation
9393> signal and no `notifications/cancelled` message is expected (see
9494> \[Cancellation]\[cancellation]). The notification rules above describe the
from line 145
145145
146146Resumable SSE streams via `Last-Event-ID` are not supported.
147147
148[notifications-progress]: /specification/draft/basic/patterns/progress
148[notifications-progress]: /specification/draft/basic/patterns/progress.md
149149
150[notifications-message]: /specification/draft/server/utilities/logging
150[notifications-message]: /specification/draft/server/utilities/logging.md
151151
152[input-required-result]: /specification/draft/schema#inputrequiredresult
152[input-required-result]: /specification/draft/schema.md#inputrequiredresult
153153
154[mrtr]: /specification/draft/basic/patterns/mrtr
154[mrtr]: /specification/draft/basic/patterns/mrtr.md
155155
156[sep-2322]: /seps/2322-MRTR
156[sep-2322]: /seps/2322-MRTR.md
157157
158[subscriptions-listen]: /specification/draft/basic/patterns/subscriptions
158[subscriptions-listen]: /specification/draft/basic/patterns/subscriptions.md
159159
160160## Message Flow
161161
from line 233
233233any further messages for it. See
234234[Cancellation][cancellation] for the full rules.
235235
236[cancellation]: /specification/draft/basic/patterns/cancellation
236[cancellation]: /specification/draft/basic/patterns/cancellation.md
237237
238238## Request Metadata
239239
from line 274
274274server that does not support such clients **MUST** reject a request without
275275the header per [Server Validation](#server-validation).
276276
277[unsupported-version]: /specification/draft/schema#unsupportedprotocolversionerror
277[unsupported-version]: /specification/draft/schema.md#unsupportedprotocolversionerror
278278
279[lifecycle-version]: /specification/draft/basic/versioning#protocol-version-negotiation
279[lifecycle-version]: /specification/draft/basic/versioning.md#protocol-version-negotiation
280280
281281### Standard Request Headers
282282
from line 361
361361`x-mcp-header` annotations, conforming clients **MUST** mirror the
362362designated parameter values into HTTP headers.
363363
364[tool-definitions]: /specification/draft/server/tools#x-mcp-header
364[tool-definitions]: /specification/draft/server/tools.md#x-mcp-header
365365
366366#### Schema Extension
367367
from line 598
598598
599599This error code is allocated from the sub-range the MCP specification
600600reserves for protocol-defined errors. See
601[Error Codes](/specification/draft/basic/index#error-codes).
601[Error Codes](/specification/draft/basic/index.md#error-codes).
602602
603603**Example error response:**
604604
from line 679
679679Servers and clients that need to interoperate with counterparts speaking
680680those protocol versions implement the behavior described in the corresponding
681681revision (for example,
682[2025-11-25: Streamable HTTP](/specification/2025-11-25/basic/transports#streamable-http)),
682[2025-11-25: Streamable HTTP](/specification/2025-11-25/basic/transports.md#streamable-http)),
683683in addition to the version-negotiation fallback described above.
684684
685685### HTTP+SSE Transport (2024-11-05)
from line 689
689689> **Deprecated**: The \[HTTP+SSE transport]\[http-sse] from protocol version
690690> 2024-11-05 has been deprecated since protocol version `2025-03-26` and is
691691> classified as Deprecated under the [feature lifecycle
692> policy](/community/feature-lifecycle#deprecating-a-feature)
692> policy](/community/feature-lifecycle.md#deprecating-a-feature)
693693> ([SEP-2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596)).
694694> New implementations **SHOULD NOT** adopt it; existing implementations
695695> **SHOULD** migrate to [Streamable
696> HTTP](/specification/draft/basic/transports/streamable-http). It is eligible
696> HTTP](/specification/draft/basic/transports/streamable-http.md). It is eligible
697697> for removal in a future revision; see the [deprecated features
698> registry](/specification/draft/deprecated).
698> registry](/specification/draft/deprecated.md).
699699
700700Clients and servers can maintain backward compatibility with the
701701deprecated [HTTP+SSE transport][http-sse] (from
from line 726
726726 server running the old HTTP+SSE transport, and should use that
727727 transport for all subsequent communication.
728728
729[lifecycle-compat]: /specification/draft/basic/versioning#backward-compatibility-with-initialization-based-versions
729[lifecycle-compat]: /specification/draft/basic/versioning.md#backward-compatibility-with-initialization-based-versions
730730
No line in this hunk matches that.