Patch Changes
- 187287c: Accept hallucinated argument names on
tools/callrequests by rewriting them to the canonical names before validation.userQueryandquestionare mapped toqueryon either tool; onquery-docs,context7CompatibleLibraryID,libraryID, andlibraryNameare mapped tolibraryId. Some LLM clients produce these alternative names — likely echoing phrasing from each tool's description — and previously triggeredInvalid input: expected string, received undefinederrors.libraryNameis only rewritten onquery-docscalls because it is the canonical arg forresolve-library-id. Tool input schemas published viatools/listare unchanged: canonical names remain the documented required fields, the rewrite is purely a server-side compatibility shim that runs only ontools/calland only when the canonical key is absent. - 78b9826: Exit the stdio MCP server when the parent process closes its stdio. Previously, if the parent (e.g. Claude Code) was force-killed shortly after a tool call, an idle undici keep-alive socket to the Context7 API would keep libuv's event loop alive past stdin EOF, leaving an orphaned
nodeprocess that consumed memory until the kernel tore the socket down (which on Cloudflare-fronted endpoints can take hours). The server now listens forend/closeon stdin andSIGHUPand exits cleanly. Fixes #2542.