Skip to content

Releases: upstash/context7

@upstash/context7-mcp@3.0.0

22 May 16:20
ee0bb7a

Choose a tag to compare

Major Changes

  • af6a7b5: Convert the stateless MCP implementation to a stateful one using Redis for session management.

Patch Changes

  • 3d73145: Reduce Redis writes on refresh by checking the remaining TTL first and only issuing EXPIRE when the session is within one day of expiry.

ctx7@0.4.3

21 May 09:46
1ed71d7

Choose a tag to compare

Patch Changes

  • dea0e43: Declare @inquirer/core as a direct dependency of the CLI. It was previously imported in selectOrInput.ts but only resolvable as a transitive of @inquirer/prompts, which caused ctx7 to fail at startup with ERR_MODULE_NOT_FOUND under pnpm's isolated node linker.
  • 34fda7d: Add --stdio flag to ctx7 setup to configure Context7 as a local stdio MCP server.
  • 61de754: Harden skill name handling during ctx7 skills install and ctx7 skills remove. Skill names from remote SKILL.md files are now restricted to a safe character set, and the install sinks assert the target directory is a direct child of the skills root before writing.

@upstash/context7-mcp@2.3.0

21 May 09:46
1ed71d7

Choose a tag to compare

Minor Changes

  • 34fda7d: Prompt anonymous users to sign in. After the backend signals (via the X-Context7-Auth-Prompt: 1 response header on /v2/libs/search or /v2/context) that an anonymous client has crossed the per-IP threshold, the MCP server appends a one-time sign-in invitation to the tool result.
    • Both stdio and HTTP transports surface the same nudge: a tool-result notice asking the assistant to run npx ctx7 setup --<client> --mcp -y (with --stdio appended when the MCP server is running on stdio) after explicit user confirmation. The CLI handles OAuth and writes credentials into the MCP client's config; the user restarts their MCP server / editor to pick up the new credentials.
    • Detects the calling client from X-Context7-Client-IDE / User-Agent and selects the matching CLI flag (--cursor, --claude, --codex, --opencode, --gemini); falls back to interactive setup when unknown.
    • HTTP transport remains stateless — the threshold is tracked by the backend (per-IP, 24h TTL), the MCP server only reacts to the signal.

ctx7@0.4.2

11 May 19:51
13f3ef0

Choose a tag to compare

Patch Changes

  • 6c71e4d: Handle malformed MCP config files gracefully during ctx7 remove agent detection. Previously, an unparseable JSON config at any agent's well-known path (e.g. a hand-edited ~/.claude.json) would crash the command with an unhandled SyntaxError before it could do anything. The detector now skips the offending file and logs a warning naming the path and parse error so the user can fix it, while detection continues for the remaining agents.
  • 4056850: Respect CLAUDE_CONFIG_DIR env var when resolving Claude Code's global config, rules, skills, and detection paths

@upstash/context7-mcp@2.2.5

11 May 19:51
13f3ef0

Choose a tag to compare

Patch Changes

  • 187287c: Accept hallucinated argument names on tools/call requests by rewriting them to the canonical names before validation. userQuery and question are mapped to query on either tool; on query-docs, context7CompatibleLibraryID, libraryID, and libraryName are mapped to libraryId. Some LLM clients produce these alternative names — likely echoing phrasing from each tool's description — and previously triggered Invalid input: expected string, received undefined errors. libraryName is only rewritten on query-docs calls because it is the canonical arg for resolve-library-id. Tool input schemas published via tools/list are unchanged: canonical names remain the documented required fields, the rewrite is purely a server-side compatibility shim that runs only on tools/call and 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 node process that consumed memory until the kernel tore the socket down (which on Cloudflare-fronted endpoints can take hours). The server now listens for end/close on stdin and SIGHUP and exits cleanly. Fixes #2542.

ctx7@0.4.1

04 May 17:37
85c3a0c

Choose a tag to compare

Patch Changes

  • 1aa3430: Remove research mode entirely from the MCP server and CLI. The query-docs MCP tool no longer accepts or forwards a researchMode parameter, and the CLI no longer exposes a --research flag on ctx7 docs.

@upstash/context7-mcp@2.2.4

04 May 17:37
85c3a0c

Choose a tag to compare

Patch Changes

  • d0e4a48: Create a fresh McpServer per HTTP request. Sharing one across requests let any concurrent transport.close clear the shared Protocol._transport, which broke sendNotification for in-flight long-running tool calls.
  • 1aa3430: Remove research mode entirely from the MCP server and CLI. The query-docs MCP tool no longer accepts or forwards a researchMode parameter, and the CLI no longer exposes a --research flag on ctx7 docs.

@upstash/context7-mcp@2.2.3

29 Apr 13:15
8782725

Choose a tag to compare

Patch Changes

  • 772da3a: Stream MCP tool responses over SSE so HTTP headers flush before client fetch timeouts. Switching enableJsonResponse to false makes the SDK return the HTTP response synchronously after request validation, so headers are sent in milliseconds instead of being buffered until the tool completes. This fixes clients that cap the underlying fetch waiting for headers (e.g., Claude Code's 60s wrapFetchWithTimeout).

@upstash/context7-mcp@2.2.2

28 Apr 21:18
04b70c4

Choose a tag to compare

Patch Changes

  • 8274bd0: Add missing tool annotations
  • ff6c1be: Remove the researchMode parameter from the query-docs tool's input schema. The underlying API still supports research mode, but several MCP clients hit per-request timeouts (60s defaults) on long-running research calls in ways that can't always be solved server-side. Hiding the parameter prevents agents from invoking it through MCP until the timeout story is reliable across clients.

@upstash/context7-mcp@2.2.1

27 Apr 14:59
b4bf49f

Choose a tag to compare

Patch Changes

  • 1b0c211: Add endpoint for OpenAI Apps SDK domain verification.