Overview changedspecification/draft/basic/transports/index
Nearest release: v2.1.309, published under an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+9added
Lines−9removed
From line
7
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits3to this page, all time
The whole hunk
from line 7, old and new numbered
/
from line 7
77**binding**: it defines how messages are framed and delivered, how request
88metadata is carried, and how cancellation and termination are signaled. It
99does not define what the messages mean: the
10[message patterns](/specification/draft/basic/patterns) are part of the core
10[message patterns](/specification/draft/basic/patterns.md) are part of the core
1111protocol and are the same on every binding. The binding pages specify the
1212standard transports:
1313
141. [stdio](/specification/draft/basic/transports/stdio): newline-delimited
141. [stdio](/specification/draft/basic/transports/stdio.md): newline-delimited
1515 messages over the standard streams of a client-launched subprocess.
162. [Streamable HTTP](/specification/draft/basic/transports/streamable-http):
162. [Streamable HTTP](/specification/draft/basic/transports/streamable-http.md):
1717 each message is an HTTP POST to a single MCP endpoint; replies arrive as
1818 a JSON object or a request-scoped SSE stream.
1919
from line 28
2828A binding **MUST** deliver client-sent *requests* and *notifications* to the
2929server, and server-sent *responses* and *notifications* to the client. No
3030other message direction exists: per the
31[message patterns](/specification/draft/basic/patterns), servers do not
31[message patterns](/specification/draft/basic/patterns.md), servers do not
3232initiate JSON-RPC requests and clients do not send JSON-RPC responses.
3333
3434## Request Metadata
from line 40
4040
4141A binding **MAY** additionally mirror selected body fields into envelope
4242metadata. The Streamable HTTP transport mirrors them into
43[HTTP headers](/specification/draft/basic/transports/streamable-http#request-metadata)
43[HTTP headers](/specification/draft/basic/transports/streamable-http.md#request-metadata)
4444so that intermediaries can route and inspect requests without parsing the
4545body. The body remains the source of truth; bindings that mirror metadata
4646define how mismatches are rejected.
from line 51
5151the client sends a `notifications/cancelled` notification; on Streamable
5252HTTP it closes the request's response stream. The protocol-level rules are
5353the same everywhere; see
54[Cancellation](/specification/draft/basic/patterns/cancellation).
54[Cancellation](/specification/draft/basic/patterns/cancellation.md).
5555
5656## Custom Transports
5757
from line 62
6262
6363Implementers who choose to support custom transports **MUST** preserve the
6464JSON-RPC message format, the
65[message patterns](/specification/draft/basic/patterns), and the per-request
65[message patterns](/specification/draft/basic/patterns.md), and the per-request
6666metadata model. Custom transports **SHOULD** document their connection
6767establishment, message framing, and cancellation patterns to aid
6868interoperability.
from line 69
6969
7070Custom transports that run over a reliable bidirectional byte stream (e.g.,
7171Unix domain sockets or TCP) **SHOULD** reuse the
72[stdio framing](/specification/draft/basic/transports/stdio) rather than
72[stdio framing](/specification/draft/basic/transports/stdio.md) rather than
7373defining a new one: the stdio binding is just newline-delimited JSON-RPC
7474over a byte stream, and only its process-lifecycle rules are specific to
7575standard streams.
from line 80
8080`initialize` handshake and allowed servers to initiate JSON-RPC requests.
8181Clients and servers that interoperate with those revisions detect the
8282counterpart's era and fall back as described in
83[Versioning: Backward Compatibility](/specification/draft/basic/versioning#backward-compatibility-with-initialization-based-versions),
83[Versioning: Backward Compatibility](/specification/draft/basic/versioning.md#backward-compatibility-with-initialization-based-versions),
8484which includes a compatibility matrix for implementors. Each binding page
8585describes its transport-specific detection mechanics.
8686
No line in this hunk matches that.