Skip to main content

CLI

The ctx7 CLI — fetch library documentation and configure Context7 MCP from your terminal
6 min read

The ctx7 CLI is the command-line interface for Context7. It does two things:

  • Fetch library documentation — resolve any library by name and query its up-to-date docs directly in your terminal, without opening a browser
  • Configure your AI coding agent — set up the Context7 MCP server (or a CLI-based docs skill) for Claude Code, Cursor, OpenCode, and more with a single command

The CLI is useful both as a standalone tool (fetching docs while you code) and as a setup utility (wiring up Context7 for your AI coding agent).

Installation#

Requires Node.js 18 or later.

Run ctx7 directly without installing anything. Useful for one-off commands or trying it out.


Query Library Documentation#

Fetching docs is a two-step process: first resolve the library name to get its Context7 ID, then use that ID to query documentation.

Step 1 — ctx7 library#

Searches the Context7 index by name and returns matching libraries. Pass a query describing what you're trying to do — this ranks results by relevance and helps when a library name is ambiguous or shared across multiple packages.

Each result includes:

FieldDescription
Library IDThe identifier to pass to ctx7 docs (format: /org/project)
Code SnippetsNumber of indexed code examples — higher means more documentation coverage
Source ReputationAuthority indicator: High, Medium, Low, or Unknown
Benchmark ScoreQuality score from 0 to 100
VersionsVersion-specific IDs when available (format: /org/project/version)

When multiple results come back, the best match is usually the one with the closest name, highest snippet count, and strongest reputation. If you need docs for a specific version, pick the matching version ID from the list.

Step 2 — ctx7 docs#

Takes a library ID and a natural-language question, and returns relevant code snippets and explanations from the indexed documentation.

Note

Library IDs always start with /. Running ctx7 docs react "hooks" will fail — always use the full ID returned by ctx7 library in Step 1.

Queries work best when they're specific. Describe what you're trying to accomplish rather than using single keywords — "How to set up authentication with JWT in Express.js" returns much better results than "auth".

The output contains two types of content: code snippets (titled, with language-tagged blocks) and info snippets (prose explanations with breadcrumb context). Both are formatted for readability in the terminal.


Setup#

Configure Context7 for your AI coding agent. On first run, prompts you to choose between two modes:

  • MCP server — registers the Context7 MCP server in your agent's config so it can call resolve-library-id and query-docs tools natively
  • CLI + Skills — installs a docs skill that guides your agent to fetch up-to-date library docs using ctx7 CLI commands (no MCP required)

ctx7 setup#

Setup options:

OptionDescription
--mcpMCP server mode
--cliCLI + Skills mode (no MCP server)
--claude / --cursor / --codex / --opencode / ...Target a specific agent
--stdioConfigure the MCP server as a local stdio process (default is HTTP)
-y, --yesSkip confirmation prompts
-p, --projectConfigure for the current project instead of globally
--api-key <key>Authenticate with an existing API key
--oauthUse the OAuth endpoint (MCP mode only)
--base-url <url>Use a custom Context7 deployment (for example, on-premise)

Agent flags and -y/--yes combine freely with --mcp or --stdio, so ctx7 setup --claude --stdio -y runs non-interactively. --stdio cannot be combined with --oauth or with --base-url; --base-url also does not support --cli (see On-premise setup).

Authentication options:

Without --api-key or --oauth, setup runs the OAuth device flow: it shows a verification link and short code that you open on any device to sign in, so it works the same locally or on a remote, headless, or SSH host. The device flow returns an API key that setup uses for authentication. --oauth is MCP-only — use it when an IDE handles the auth flow on your behalf.

On-premise setup#

Pass the root URL of your on-premise deployment with --base-url. Do not include /mcp or /api:

The CLI checks /api/auth/mcp before writing configuration. It either configures anonymous access or writes Authorization: Bearer <personal-key>. When authentication is enabled and no key was provided, interactive setup requests the key with masked input. Use --api-key or CONTEXT7_API_KEY for non-interactive automation. On-premise setup uses Streamable HTTP and bundled rule/skill content, so the target does not need to serve Context7 Cloud skill endpoints.

When --base-url targets a custom deployment, setup skips the npm update check and telemetry and does not fetch rules or skills from GitHub or Context7 Cloud. After the CLI package is installed, the only network request made by setup is to the configured deployment. In a restricted environment, mirror ctx7 and its dependencies in an internal npm registry and run the installed ctx7 binary instead of npx ctx7@latest.

--base-url currently supports MCP setup only. It cannot be combined with --oauth, --stdio, or --cli for a custom deployment.

What gets written — MCP mode:

FilePurpose
.mcp.json / .cursor/mcp.json / .opencode.jsonMCP server entry
Agent rules directoryRule file — instructs the agent to use Context7 for library docs
Agent skills directorycontext7-mcp skill

What gets written — CLI + Skills mode:

FilePurpose
Agent skills directorydocs skill — guides the agent to use ctx7 library and ctx7 docs commands

ctx7 remove#

Remove the setup written by ctx7 setup. By default this removes both MCP setup and CLI setup for the selected agent.

If you installed the CLI itself with npm install -g ctx7, remove that separately with npm uninstall -g ctx7. If you run Context7 with npx ctx7, there is no permanent CLI install to remove.


Authentication#

Most commands work without authentication. Log in to unlock higher rate limits on documentation commands.

Commands#

API Key#

Set an API key via environment variable to skip interactive login entirely — useful for CI or scripting:

When is authentication required?#

FeatureRequired
ctx7 library / ctx7 docsNo — login gives higher rate limits
Hosted ctx7 setupYes — unless --api-key is passed (--oauth also skips login for MCP mode)
On-premise ctx7 setup --mcp --base-url ...Only when MCP authentication is enabled on the deployment

Telemetry#

The CLI collects anonymous usage data to help improve the product. To disable:


Next Steps#