Releases: upstash/context7
@upstash/context7-mcp@3.2.1
Patch Changes
- 8123b51: Restore Node 18 support by pinning undici to ^6.26.0 and commander to ^13.1.0, which dropped the Node 20+ engine requirements that caused a "File is not defined" crash on startup.
ctx7@0.5.2
Patch Changes
- cb6aee1: Bump runtime dependencies:
commander13 -> 15 andora9.0 -> 9.4. - 428af3e: Recover Context7 library IDs that Git Bash mangles on Windows. Git Bash rewrites a leading-slash argument like
/facebook/reactinto a Windows path under the Git install dir (C:/Program Files/Git/facebook/react), causingctx7 docsto reject it as invalid; this mainly affected users running ctx7 through Claude Code. The CLI now detects and undoes the conversion before validation, accepts the//owner/repoescape, and points users at that workaround for install layouts it can't auto-detect. - c03bc9c: Store CLI files in XDG Base Directory locations instead of
~/.context7. Credentials move to$XDG_CONFIG_HOME/context7(default~/.config/context7), updater state to$XDG_STATE_HOME/context7(default~/.local/state/context7), andgeneratepreviews to$XDG_CACHE_HOME/context7(default~/.cache/context7). Existing files in~/.context7are migrated automatically on first use; migration is best-effort and falls back to reading the legacy file if it cannot complete. The credentials file is always re-asserted to0o600after migration or write so it is never group/world-readable. Relative or emptyXDG_*values are ignored per the spec.
@upstash/context7-sdk@0.3.1
Patch Changes
- f327589: Avoid throwing a raw
SyntaxErrorwhen the server returns a non-JSON error body.HttpClient.request()now wraps the error-pathres.json()in a.catch, so non-JSON responses (HTML 502s, plain-text 429s, Cloudflare challenge pages) fall back tores.statusTextand always surface as a typedContext7Error.
@upstash/context7-mcp@3.2.0
Minor Changes
- c921c8b: Replace the in-result sign-in nudge with an MCP form elicitation. When the backend signals (via
X-Context7-Auth-Prompt: 1) that an anonymous client has crossed the per-IP threshold, the MCP server now fires anelicitation/createrequest instead of appending instructions into the tool result.- Surfaces the
npx ctx7 setup --<client> --mcp[ --stdio] -ycommand in a client-rendered dialog rather than as model-visible text. The previous text-injection approach was treated as untrusted instruction content by some agents; elicitations are delivered out-of-band to the user so they bypass that path entirely. - Gated on the client advertising the
elicitationcapability — clients without it see no nudge, which is a safe no-op. - Presents a two-option radio: "I'll run the command to sign in" or "Continue anonymously with smaller limits".
- The server holds no suppression state: the backend emits the header at most once per MCP session, so the dialog is shown whenever the header is present. Frequency is owned entirely by the backend.
- Fire-and-forget: the elicitation does not block or alter the surrounding tool response.
- Surfaces the
Patch Changes
- cb6aee1: Bump runtime dependencies:
@modelcontextprotocol/sdk1.25 -> 1.29,undici6 -> 7, andzod4.3 -> 4.4. - fcdc36e: Advertise empty
promptsandresourcescapabilities with no-opprompts/list,resources/list, andresources/templates/listhandlers. Some MCP clients (e.g. opencode) call these unconditionally and treat-32601 Method not foundas a fatal connection error rather than honoring the negotiated capabilities, which previously prevented the server from loading.
ctx7@0.5.1
Patch Changes
- ea91d7d:
ctx7 loginnow always uses the device-code flow. The localhost-callback path is removed — every install (laptop, SSH, Codespace, Docker, CI) goes through the same boxed prompt and verification page. Drops the--deviceflag (it was the opt-in for what's now the default). Older CLI versions (≤ 0.5.0) continue to work against the unchanged auth endpoints, so pinned installs are unaffected.
ctx7@0.5.0
Minor Changes
-
5a180d5: Add OAuth 2.0 device authorization flow (RFC 8628) for
ctx7 loginandctx7 setup. Required for headless / remote hosts (SSH, Codespaces, Docker, CI) where the existing localhost-callback flow can't work — the browser was opening on the user's laptop while the callback listener ran on the remote host.The new flow prints a verification URL and short code, then polls a token endpoint. The user visits the URL on any device, signs in, and approves; the CLI receives the same
ctx7sk-…API key it would have gotten from the legacy flow. Device flow is selected automatically whenSSH_CONNECTIONis set or$DISPLAYis missing on Linux, and can be forced withctx7 login --device. Polling tolerates transient network errors and 5xx responses without ending the session.
ctx7@0.4.5
Patch Changes
- 2affada:
ctx7 setupnow properly supports--antigravity, installing skills to.agent/skills, aGEMINI.mdrule section (Antigravity reads Gemini-family config), and MCP config to Antigravity 2.0's documented global path~/.gemini/config/mcp_config.json(withhttpUrlfor HTTP, matching the Gemini convention). Antigravity has no documented project-level MCP file, sosetup --antigravity --project --mcpwrites to the global location. Also removes the--universalflag fromsetup, which was advertised but silently ignored — it never propagated through agent selection, so passing it (e.g.setup --cli --universal --project) caused setup to fall back to auto-detection and write to the wrong directory. - 268f52f:
ctx7 setup --api-key <KEY>(without--cli,--mcp, or-y) now prompts to choose between MCP server and CLI + Skills modes. Previously, passing--api-keyshort-circuited to MCP, locking users out of the CLI + Skills option even though that mode also accepts an API key. Explicit--mcp/--cli/--stdio/--oauth/-ystill skip the prompt as before. - 2e97dae: Add deprecation warning to skill commands
@upstash/context7-mcp@3.1.0
Minor Changes
- 1fb2d42: Add multi-tenant Microsoft Entra ID validation for MCP tokens. The server now detects inbound Entra v2 tokens by issuer pattern, fetches per-teamspace configuration (
tenantId,audience,requiredScope) from the Context7 app, and verifies the token against the matching tenant's JWKS, enforcing the required scope claim when configured. User resolution happens downstream in the Context7 app against a pre-provisioned user mapping table — the MCP server only validates. Per-tenant JWKS cache and a 5-minute in-memory config cache keyed by JWT audience reduce overhead under load.
@upstash/context7-pi@0.1.0
Minor Changes
- f91b40c: Initial release. Adds an official Context7 extension for the pi coding agent — registers
resolve-library-idandquery-docstools, ships thecontext7-docsskill, and exposes a/c7-docsslash command. Wire format, error messages, and tool descriptions are copied verbatim from@upstash/context7-mcpso 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; setCONTEXT7_API_KEYfor the higher tier. Install withpi install npm:@upstash/context7-pi.
ctx7@0.4.4
Patch Changes
- 7cacc94: Add
--jsonflag toctx7 skills listfor machine-parseable output. Emits{ skills: [{ name, path, source }] }wherepathis absolute andsourceis the agent type (universal,claude,cursor,antigravity). Matches the existing--jsonpattern onctx7 libraryandctx7 docs.