Skip to content

Releases: upstash/context7

@upstash/context7-pi@0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 May 12:32
7e956e5

Minor Changes

  • f91b40c: Initial release. Adds an official Context7 extension for the pi coding agent — registers resolve-library-id and query-docs tools, ships the context7-docs skill, and exposes a /c7-docs slash command. Wire format, error messages, and tool descriptions are copied verbatim from @upstash/context7-mcp so pi and MCP clients give the LLM identical instructions and output. Self-contained — no Context7 runtime dependencies. Works out of the box at IP-based rate limits; set CONTEXT7_API_KEY for the higher tier. Install with pi install npm:@upstash/context7-pi.

ctx7@0.4.4

Choose a tag to compare

@github-actions github-actions released this 22 May 16:20
ee0bb7a

Patch Changes

  • 7cacc94: Add --json flag to ctx7 skills list for machine-parseable output. Emits { skills: [{ name, path, source }] } where path is absolute and source is the agent type (universal, claude, cursor, antigravity). Matches the existing --json pattern on ctx7 library and ctx7 docs.

@upstash/context7-mcp@3.0.0

Choose a tag to compare

@github-actions github-actions released this 22 May 16:20
ee0bb7a

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

Choose a tag to compare

@github-actions github-actions released this 21 May 09:46
1ed71d7

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

Choose a tag to compare

@github-actions github-actions released this 21 May 09:46
1ed71d7

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

Choose a tag to compare

@github-actions github-actions released this 11 May 19:51
13f3ef0

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

Choose a tag to compare

@github-actions github-actions released this 11 May 19:51
13f3ef0

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

Choose a tag to compare

@github-actions github-actions released this 04 May 17:37
85c3a0c

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

Choose a tag to compare

@github-actions github-actions released this 04 May 17:37
85c3a0c

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

Choose a tag to compare

@github-actions github-actions released this 29 Apr 13:15
8782725

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).