Streamable HTTP changedspecification/2026-07-28/basic/transports/streamable-http
Nearest release: v2.1.284, published 4 hours 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 28 Sep 2026 21:57 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 28 Sep 2026 22:07 UTC.
Upstream edited
Recorded here
Lines+19added
Lines−19removed
From line
282
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 282, old and new numbered
/
from line 282
282282
283283### Standard Request Headers
284284
285| Header Name | Source Field | Required For |
286| ------------ | ----------------------------- | ------------------------------------------------------ |
287| `Mcp-Method` | `method` | All requests |
288| `Mcp-Name` | `params.name` or `params.uri` | `tools/call`, `resources/read`, `prompts/get` requests |
285| Header Name | Source Field | Required For |
286| - | - | - |
287| `Mcp-Method` | `method` | All requests |
288| `Mcp-Name` | `params.name` or `params.uri` | `tools/call`, `resources/read`, `prompts/get` requests |
289289
290290These headers are **REQUIRED** for compliance.
291291
from line 506
506506
507507**Encoding examples:**
508508
509| Original Value | Reason | Encoded Header Value |
510| ---------------------- | ------------------------ | ----------------------------------------------------- |
511| `"us-west1"` | Plain ASCII | `Mcp-Param-Region: us-west1` |
512| `"Hello, 世界"` | Contains non-ASCII | `Mcp-Param-Greeting: =?base64?SGVsbG8sIOS4lueVjA==?=` |
513| `" padded "` | Leading/trailing spaces | `Mcp-Param-Text: =?base64?IHBhZGRlZCA=?=` |
514| `"line1\nline2"` | Contains newline | `Mcp-Param-Text: =?base64?bGluZTEKbGluZTI=?=` |
515| `"=?base64?literal?="` | Matches sentinel pattern | `Mcp-Param-Val: =?base64?PT9iYXNlNjQ/bGl0ZXJhbD89?=` |
509| Original Value | Reason | Encoded Header Value |
510| - | - | - |
511| `"us-west1"` | Plain ASCII | `Mcp-Param-Region: us-west1` |
512| `"Hello, 世界"` | Contains non-ASCII | `Mcp-Param-Greeting: =?base64?SGVsbG8sIOS4lueVjA==?=` |
513| `" padded "` | Leading/trailing spaces | `Mcp-Param-Text: =?base64?IHBhZGRlZCA=?=` |
514| `"line1\nline2"` | Contains newline | `Mcp-Param-Text: =?base64?bGluZTEKbGluZTI=?=` |
515| `"=?base64?literal?="` | Matches sentinel pattern | `Mcp-Param-Val: =?base64?PT9iYXNlNjQ/bGl0ZXJhbD89?=` |
516516
517517[rfc9110-values]: https://datatracker.ietf.org/doc/html/rfc9110#name-field-values
518518
from line 555
555555`400 Bad Request` HTTP status and JSON-RPC error code `-32020`
556556(`HeaderMismatch`) if any validation fails.
557557
558| Scenario | Client Behavior | Server Behavior |
559| ---------------------------------------- | ------------------------------ | ---------------------------------------- |
560| Parameter value provided | Client MUST include the header | Server MUST validate header matches body |
561| Parameter value is `null` | Client MUST omit the header | Server MUST NOT expect the header |
562| Parameter not in arguments | Client MUST omit the header | Server MUST NOT expect the header |
563| Client omits header but value is in body | Non-conforming client | Server MUST reject the request |
558| Scenario | Client Behavior | Server Behavior |
559| - | - | - |
560| Parameter value provided | Client MUST include the header | Server MUST validate header matches body |
561| Parameter value is `null` | Client MUST omit the header | Server MUST NOT expect the header |
562| Parameter not in arguments | Client MUST omit the header | Server MUST NOT expect the header |
563| Client omits header but value is in body | Non-conforming client | Server MUST reject the request |
564564
565565[http-semantics]: https://www.rfc-editor.org/rfc/rfc9110.html#name-field-names
566566
from line 593
593593return HTTP status `400 Bad Request` and **MUST** include a JSON-RPC error
594594response using the following error code:
595595
596| Code | Name | Description |
597| -------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
596| Code | Name | Description |
597| - | - | - |
598598| `-32020` | [`HeaderMismatch`](/specification/2026-07-28/schema#headermismatcherror) | The HTTP headers do not match the corresponding values in the request body, or required headers are missing/malformed. |
599599
600600This error code is allocated from the sub-range the MCP specification
No line in this hunk matches that.