Context7 - Up-to-date Docs for AI AgentsCAUTION
Context7 Platform -- Up-to-date docs for AI agents
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://cursor.com/en/install-mcp?name=context7&config=eyJ1cmwiOiJodHRwczovL21jcC5jb250ZXh0Ny5jb20vbWNwIn0%3D)
[](https://context7.com) [](https://www.npmjs.com/package/@upstash/context7-mcp) [](./LICENSE)
[](./i18n/README.zh-TW.md) [](./i18n/README.zh-CN.md) [](./i18n/README.ja.md) [](./i18n/README.ko.md) [](./i18n/README.es.md) [](./i18n/README.fr.md) [](./i18n/README.pt-BR.md) [](./i18n/README.it.md) [](./i18n/README.id-ID.md) [](./i18n/README.de.md) [](./i18n/README.ru.md) [](./i18n/README.uk.md) [](./i18n/README.tr.md) [](./i18n/README.ar.md) [** — Fetch current docs for any library. Use when writing code, verifying API signatures, or when training data may be outdated. - **[Setup](references/setup.md)** — Configure Context7 MCP for Claude Code / Cursor / OpenCode. ## Quick Reference ```bash # Documentation ctx7 library <name> <query> # Step 1: resolve library ID ctx7 docs <libraryId> <query> # Step 2: fetch docs # Setup ctx7 setup # Configure Context7 MCP (interactive) ctx7 login # Log in for higher rate limits ctx7 whoami # Check current login status ``` ## Authentication ```bash ctx7 login # Opens browser for OAuth ctx7 login --no-browser # Prints URL instead of opening browser ctx7 logout # Clear stored tokens ctx7 whoami # Show current login status (name + email) ``` Most commands work without login. Exception: `ctx7 setup` requires it unless `--api-key` or `--oauth` is passed. Login also unlocks higher rate limits on docs commands. Set an API key via environment variable to skip interactive login entirely: ```bash export CONTEXT7_API_KEY=your_key ``` ## Common Mistakes - Library IDs require a `/` prefix — `/facebook/react` not `facebook/react` - Always run `ctx7 library` first — `ctx7 docs react "hooks"` will fail without a valid ID
Trust audit
CAUTIONgrade C · trust 72/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
json: () => Promise.resolve({ data: { apiKey: "ctx7sk-generated-key" } }),const apiKey = "ctx7sk-advertised-header-test";
* apiKey: 'your-context7-api-key',
-----BEGIN OPENSSH PRIVATE KEY-----
.prettierignore
.prettierignore
.prettierignore
.prettierignore
.prettierignore
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), "../../../..");
const pkg = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf-8"));
config({ path: path.resolve(__dirname, "../../.env") });dotenv.config({ path: path.resolve(__dirname, "../../.env") });config({ path: path.resolve(__dirname, "../../.env") });resolve(`http://127.0.0.1:${address.port}/api`);metricsUrl = `http://127.0.0.1:${metricsPort}/metrics`;`OpenTelemetry metrics available at http://127.0.0.1:${defaultMetricsPort}/metrics`const response = await fetch(`http://127.0.0.1:${defaultMetricsPort}/metrics`);return new Request("http://127.0.0.1/mcp", {@inquirer/core, @inquirer/type, @changesets/cli, eslint-config-prettier
zod
@inquirer/prompts, boxen, commander, figlet, jsonc-parser, open, ora, picocolors
@opentelemetry/api, @opentelemetry/exporter-prometheus, @opentelemetry/instrumentation-runtime-node, @opentelemetry/resources, @opentelemetry/sdk-metrics, @types/express, commander, express
@opencode-ai/plugin, @opencode/plugin
Confirm that the custom server URL is `https://mcp.context7.com/mcp`, the header is named `Context7-API-Key`, and the saved value is the current API key. Then enable the server and start a new Cloud A
Gates applied: no_behavioural_pass.
0c2d9cbb7535full audit observations/trust-audit/skill/upstash__documentation-lookup.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-22 | 0c2d9cbb7535 | CAUTION | C | 72 | first audit |
Questions
What does the documentation-lookup — upstash/context7 skill do?
Context7 Platform -- Up-to-date docs for AI agents
Is documentation-lookup — upstash/context7 safe to install?
With care. The audit graded it C (72/100) and found 25 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can documentation-lookup — upstash/context7 access on my machine?
The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does documentation-lookup — upstash/context7 work with?
Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor, gemini-cli and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (0c2d9cbb7535), read on 2026-10-22. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/upstash/documentation-lookup/)
Not your listing, or something out of date? Claim or update your listing.