cliffhall
7a74b5eba1
fix: forward the negotiated protocol version to the remote backend transport
...
The web client's SDK Client owns the `initialize` handshake, so the
`setProtocolVersion()` call it makes after initialize lands on
RemoteClientTransport — a pass-through to the Node backend, not the real
HTTP transport. The backend's StreamableHTTPClientTransport therefore never
learned the negotiated version and stamped no `Mcp-Protocol-Version` on any
request after initialize, starting with `notifications/initialized`. A
stateful server that requires the header rejects that notification with
HTTP 400.
RemoteClientTransport now records the version and rides it on every
`/api/mcp/send`; the backend applies it to its transport before the send, so
that request and everything the transport issues afterwards (the standalone
SSE GET, the session DELETE) carry the header. The version is validated
against a token pattern on the backend so a client can't push arbitrary
bytes into an upstream header.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119LaPQ3v4NyBK3ZTdM9j84
2026-08-10 20:44:37 -04:00
..
__tests__
fix: surface list-fetch failures instead of swallowing them
2026-08-08 16:48:48 -04:00
import
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -04:00
node
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -04:00
remote
fix: forward the negotiated protocol version to the remote backend transport
2026-08-10 20:44:37 -04:00
state
fix: only attribute a decode rejection to a Protocol entry
2026-08-08 17:26:36 -04:00
apps.ts
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
config.ts
chore: close quality-gate coverage gaps ( #1689 ) ( #1766 )
2026-07-24 17:20:12 -04:00
elicitationCreateMessage.ts
fix(core): register peer-request handlers before connect ( #1797 ) ( #1798 )
2026-07-27 11:32:23 -04:00
extensions.ts
Extensions: Connection Info both eras + io.modelcontextprotocol/ui advertisement (Phase 3 of #1633 ) ( #1744 )
2026-07-23 10:11:36 -04:00
fetchTracking.ts
Network: modern Mcp-* headers, new error codes, cancellation-as-abort ( #1628 ) ( #1722 )
2026-07-18 17:32:05 -04:00
index.ts
Guided-auth removal, OAuth smoke testing, and TUI/CLI support ( #1531 )
2026-06-29 15:35:51 -04:00
inspectorClient.ts
fix: read the list error via useSyncExternalStore; clear correlation maps
2026-08-08 17:41:27 -04:00
inspectorClientEventTarget.ts
fix: surface list-fetch failures instead of swallowing them
2026-08-08 16:48:48 -04:00
inspectorClientProtocol.ts
fix: surface list-fetch failures instead of swallowing them
2026-08-08 16:48:48 -04:00
messageTrackingTransport.ts
Tasks: io.modelcontextprotocol/tasks extension on modern servers (era fork) ( #1731 )
2026-07-21 19:17:04 -04:00
modernTaskSchemas.ts
Tasks: io.modelcontextprotocol/tasks extension on modern servers (era fork) ( #1731 )
2026-07-21 19:17:04 -04:00
oauthManager.ts
OAuth: re-key store to (server, issuer) + SEP-837/2350/2352 auth UX ( #1694 )
2026-07-16 16:52:53 -04:00
samplingCreateMessage.ts
fix(core): register peer-request handlers before connect ( #1797 ) ( #1798 )
2026-07-27 11:32:23 -04:00
serverList.ts
fix(core): register peer-request handlers before connect ( #1797 ) ( #1798 )
2026-07-27 11:32:23 -04:00
sessionStorage.ts
feat(core): port v1.5 hook layer ( #1243 ) ( #1300 )
2026-05-13 17:43:07 -04:00
taskNotificationSchemas.ts
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
toolCallCancelledError.ts
fix(web): send a cancellation notification when cancelling an ordinary tool call ( #1458 ) ( #1463 )
2026-06-13 22:23:02 -04:00
toolOutputValidation.ts
Refactor / justify codebase-wide 'as unknown as' casts ( #1690 ) ( #1756 )
2026-07-24 09:34:32 -04:00
typedEventTarget.ts
Test/1396 harden managed state connect tests ( #1508 )
2026-06-24 10:46:09 -04:00
types.ts
fix: surface list-fetch failures instead of swallowing them
2026-08-08 16:48:48 -04:00
urlElicitation.ts
Address @claude review: format core/, typed output-validation error, document progress heuristic
2026-07-15 11:08:54 -04:00