Express converts all header names to lowercase, which prevents custom headers with uppercase characters from being properly passed to the target service. This fix ensures that custom headers preserve their original capitalization when forwarded through the proxy.
* In server/src/index.ts
- add delete handler for /mcp endpoint
- gets the server transport for the sessionId
- calls terminateSession on it
- removes the webapp and server transports for the sessionId from the maps
- returns status 200 to the client.
* In client/src/lib/hooks/useConnection.ts
- import Transport
- add useState for clientTransport, type Transport or null initialized to null
- in connect() function
- move creation of client transport down a ways, just before calling client.connect with it
- immendiately efter calling client.connect, call setClientTransport with the connected transport (has to happen after, so that what's saved has the abort controller, etc. otherwise it doesn't work to save it prior.
- in disconnect() function
- immediately call clientTransport.terminateSession if transportType is "streamable-http"
- setClientTransport to null
* In server/src/index.ts
- add serverTransports map
- remove backingServerTransport var
- in /mcp POST handler, when a new connection is being made
- create a server transport
- map the server transport using the session id from the web app connection
- pass serverTransport to the mcpProxy instead of backingServerTransport
- in /stdio GET handler, when a new connection is being made
- create a server transport
- map the server transport using the session id from the web app connection
- pass serverTransport to the mcpProxy instead of backingServerTransport
- in /sse GET handler, when a new connection is being made
- create a server transport
- map the server transport using the session id from the web app connection
- pass serverTransport to the mcpProxy instead of backingServerTransport
* In main.yml
- reversed a change from last release that did an explicit build, because the prepare script was no longer in package.json
* In package.json
- replaced prepare script, which will cause automatic build after npm install
- set version to 0.11.0
- set versions of inspector-cli, inspector-client, and inspector-server to ^0.11.0
* In package.lock.json
- updated versions of inspector, inspector-cli, inspector-client, and inspector-server to ^0.11.0
* In cli/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* In client/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* In server/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* In index.ts,
- refactor transport webAppTransports to be a map with the session id as key and transport as value.
* Implement /mcp GET and POST endpoints using StreamableHTTPServerTransport and doing the new session in the POST (opposite from SSE) handler.
* In package.json
- update the SDK to 1.10.2
* In useConnection.ts
- import StreamableHTTPClientTransport
- NOTE: while we NEED to do this, it causes useConnection.test.ts to fail with " ReferenceError: TransformStream is not defined"
- in connect method
- instantiate the appropriate transport
* In server/index.js
- add get/post handlers for /mcp
- amend console log on SSE connect, with deprecation message
- add /stdio GET handler and refactored /sse GET handler to not also do stdio. Each transport has its own handler now
- add appropriate headers to streamable-http request
* In /client/src/lib/hooks/useConnection.ts
- in connect function
- create server url properly based on new transport type.
* cli/package.json
* client/package.json
* server/package.json
* package.json
- also bump npm dependencies for cli, client, and server to 0.10.0
* package-lock.json
* cli/package.json
* client/package.json
* server/package.json
* package.json
- also bump npm dependencies for cli, client, and server to 0.10.0
* package-lock.json
* In package.json
- Use inspector-[client|server] version 0.8.2
* In [client|server]/package.json
- New version to 0.8.2
- Use typescript SDK version 1.9.0
* In package-lock.json
- above changes
- sdk dependency's version increased: node_modules/@modelcontextprotocol/sdk/node_modules/pkce-challenge
* In client/package.json
- version bumped to 0.8.1
- typescript SDK version 0.8.0 (latest)
* In server/package.json
- version bumped to 0.8.1
- typescript SDK version 0.8.0 (latest)
* In client/package.json
- version bumped to 0.8.1
- inspector-client bumped to 0.8.1
- inspector-server bumped to 0.8.1