Repository navigation
v2.17.0
Minor Changes
-
#254
0e895f7Thanks @vkazanjian-b4i! - HTTP transport: MCP sessions that clients abandon without aDELETEno longer fill the 64-session limit for good (#253). A session with no request in flight and no open SSE stream expires after--httpSessionTtl(default 30 minutes), and at the cap a new client is admitted by evicting the least-recently-active such session — one holding its SSE stream only when nothing else is evictable, and never one with a request in flight. The eviction happens only once the new session is admitted, so aninitializethe server goes on to refuse costs no one their session. Expiry is checked lazily, when the session is next used or a new client initializes, so there is no timer and an expired session keeps its slot until then.Upgrade note — minor, not patch, because a client that used to keep its session can now lose it. A session left idle past the TTL, or evicted at the cap, answers
404 Session not found or expired, and the client has to re-initialize. A client that cannot do that should keep a request or its SSE stream open, or run with a larger--httpSessionTtl.
Patch Changes
-
#243
bdbb8c1Thanks @dependabot! - Update OpenTelemetry to 0.222:@opentelemetry/sdk-nodeand@opentelemetry/exporter-trace-otlp-httpgo from^0.221.0to^0.222.0, the only part of this bump that changes whatnpm i ssh-mcpresolves, since a caret on a 0.x version does not reach the next minor. The lockfile also moves@modelcontextprotocol/sdkto 1.30.1,@opentelemetry/resourcesto 2.11.0,smol-tomlto 1.9.0 andzodto 4.6.5, all inside ranges this package already declared.npm audit --omit=devreports nothing. -
#254
0e895f7Thanks @vkazanjian-b4i! - HTTP transport: an MCP request that fails inside the server, such as when creating the session's server throws, now gets a500JSON-RPC internal error and a line on stderr, instead of no answer and an unhandled promise rejection.