Replaces the cli.mdx redirect stub with a full CLI reference covering library
documentation, setup, authentication, and all skills commands. Trims skills.mdx
to conceptual content only with a reference back to the CLI page. Updates the
ctx7-cli skill's docs reference with selection algorithm and query quality
guidance from the MCP tool prompts.
Restructures the ctx7-cli skill from a single flat file into a folder with
reference files, and adds coverage for the skills management commands, setup,
and authentication that were previously undocumented.
* feat(cli): add resolve and query commands for library documentation
Expose Context7's resolve-library and query-docs API as CLI commands,
enabling agents and developers to fetch documentation directly from
the terminal without MCP setup.
- `ctx7 resolve <library> [query]` - resolve library name to Context7 ID
- `ctx7 query <libraryId> <query>` - fetch documentation for a library
- Both support --json for structured output
- TTY-aware: spinners and colors in terminal, clean output when piped
- Auth: CONTEXT7_API_KEY env var > OAuth token > unauthenticated
* refactor(cli): rename resolve/query to library/docs commands
Rename commands for a more natural CLI interface:
- `ctx7 library <name> [query]` instead of `ctx7 resolve`
- `ctx7 docs <libraryId> <query>` instead of `ctx7 query`
* fix(cli): show benchmark score and all versions in library results
* chore: add changeset for library and docs commands
* style(cli): fix lint formatting in api.ts
* refactor(cli): remove redundant spinner success messages
The output itself is self-evident, no need for "Found 5 libraries"
or "Documentation retrieved" messages.
* fix: reject GET requests on MCP endpoints to eliminate idle SSE timeouts
Stateless MCP server does not send server-initiated notifications, so
GET SSE streams sit idle until NGINX proxy_read_timeout (3600s) kills them.
Humio data shows ~4M GET timeouts vs 69 actual POST tool calls over 2 days,
accounting for 99.997% of all 5XX errors.
Returning 405 is spec-compliant per MCP StreamableHTTP (2025-03-26).
* chore: add changeset for MCP GET rejection fix
* refactor: move GET rejection into handleMcpRequest and fix error code
- Consolidate GET check into handleMcpRequest to avoid duplication
- Fix JSON-RPC error code from -32601 (method not found) to -32000 (server error)
* Add on-premise deployment docs
Hidden page covering what's included, setup steps, configuration
reference, MCP client connection, and architecture diagram.
* Update on-premise docs: switch from tar.gz to GHCR registry pull
Replace curl+docker load approach with standard docker login + docker pull
using a license-gated registry token from context7.com.
* Fix on-premise docs: separate auth step, clarify docker compose pull
- Split into distinct "Authenticate" and "Configure and start" steps
- Remove redundant docker pull (docker compose up -d handles it)
- Add driver: local to volumes declaration
- Clarify that docker login credentials persist for docker compose
* docs: mention docker pull as alternative to docker compose pull
* docs: use -p flag instead of --password-stdin for docker login
* Move on-premise docs to enterprise/, add configuration details
- Move on-premise.mdx from docs root to docs/enterprise/
- Add setup wizard documentation
- Add AI provider settings with OpenRouter and local model examples
- Add embedding settings with incompatibility warning
- Add access control section with permission toggles
- Add volume persistence warning
- Remove env vars for AI/git config (now UI-configured)
* Docs: clarify git tokens, add health check example, group operations
* Docs: extract LICENSE_KEY variable for easier configuration
* Add ChatGPT web and desktop app MCP client examples
Add installation instructions for connecting Context7 as an MCP
connector in ChatGPT (Web) and ChatGPT (Desktop) via Developer Mode.
https://claude.ai/code/session_01GRs4CVcBFNZt1otbGqZKH3
* Add ChatGPT web and desktop app MCP client examples
Add installation instructions for connecting Context7 as an MCP
connector in ChatGPT (Web) and ChatGPT (Desktop) via Developer Mode.
Uses the /mcp/oauth endpoint for seamless OAuth authorization since
ChatGPT connectors natively support OAuth and don't allow custom headers.
https://claude.ai/code/session_01GRs4CVcBFNZt1otbGqZKH3
* Update README.md to reflect changes in Developer Mode and app terminology
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat(cli): install documentation-lookup skill during ctx7 setup
The setup command now installs the Context7 documentation-lookup skill
alongside the MCP server and rule for each agent.
Skill paths per agent:
- Claude: .claude/skills/documentation-lookup/SKILL.md
- Cursor: .cursor/skills/documentation-lookup/SKILL.md
- OpenCode: .agents/skills/documentation-lookup/SKILL.md (universal)
* chore: add changeset for skill install in setup
* add `ctx7 setup` command for configuring MCP and rules
Adds an interactive setup command that configures the Context7 MCP server
and agent rules for Claude Code, Cursor, and OpenCode. Authenticates via
OAuth, generates an API key, and writes per-agent config files.<noreply@anthropic.com>
* revert auth.ts client ID change
* add changeset for setup command
* fix lint: format import line
* feat(cli): adopt .agents/skills as universal install target
Install to .agents/skills/ by default as the shared standard directory.
Universal agents (Amp, Codex, OpenCode, Gemini CLI, GitHub Copilot) all
read from this path natively. Vendor-specific agents (Claude Code, Cursor,
Antigravity) get symlinks pointing back to .agents/skills/.
- Add "universal" as a first-class IDE type across all path maps
- Auto-detect .agents/ and vendor dirs: detected → confirm, nothing
detected → checkbox picker with Universal pre-checked
- Update list/remove commands to check universal + vendor-specific dirs
- Update DEFAULT_CONFIG.defaultIde from "claude" to "universal"
- Show labeled install summary (Universal, Claude Code, etc.) with paths
* feat(cli): consolidate agent flags into single --universal option
Replace --codex, --opencode, and --amp flags with a single --universal flag that points to .agents/skills/. This simplifies the CLI interface since these agents all share the same installation path.
* refactor(cli): simplify IDE types and remove UNIVERSAL_AGENTS Set
- Simplify IDE type from 7 types to 4 (remove codex, opencode, amp)
- Remove UNIVERSAL_AGENTS Set and replace with direct equality checks
- Update documentation to add --universal flag examples throughout
- Consolidate Supported Clients table to show single Universal row
All universal agents (Amp, Codex, Gemini CLI, GitHub Copilot, OpenCode, etc.)
are now represented by the single "universal" type since they're functionally
identical and use the same .agents/skills/ directory.
* docs(skills): update CLI flags to use --universal
- Replace --codex, --opencode, --amp flags with single --universal flag
- Update all command examples (install, list, remove, suggest, generate)
- Consolidate Supported Clients table with Universal at top
- Reorder tables to prioritize Universal agents
* docs: expand skills documentation with CLI commands and features
Add comprehensive documentation for the Context7 skills feature including:
- What skills are and why to use them
- Trust score system explanation (0-10 scale)
- Security features (prompt injection detection)
- Complete CLI command reference (install, search, list, info, remove)
- Skill generation workflow and authentication
- Supported clients table with directories
- SKILL.md file format specification
- Command shortcuts reference
- Troubleshooting section
* docs: add skills suggest command documentation
Document the new `ctx7 skills suggest` command that automatically
discovers relevant skills based on project dependencies (package.json,
requirements.txt, pyproject.toml). Also adds `ssg` shortcut alias.
* docs: improve skills examples and add npx prefix to commands
- Update popular skills table with better descriptions of what each skill does
- Add quick start commands after registry section
- Add npx prefix to all CLI examples for easier copy-paste
- Remove generation limits section
* fix: remove incorrect content