This page is what happened when we ran it. The project itself — code, maintenance, community — has its own review: full repo review →
Context7
Context7 is a documentation-lookup MCP server from Upstash. It gives a coding agent two tools: one that turns a library name into a Context7 library ID, and one that queries current docs for that library. It runs over stdio via npx, needs no credentials to start, and reported itself as Context7 version 4.0.2 when we booted it.
How we started it
npx -y @upstash/context7-mcpUse it. Two tools, ~1,215 estimated tokens of tools/list (chars/4, measured 2026-08-19), and it answers the single most common failure mode in agent coding: the model writing against a library version that stopped existing two years ago. The cost against it is cold start. We measured 7,776 ms from spawn to initialize, which is slow enough to notice on every fresh session, and the resolve-library-id description alone is 2,006 characters of instructions the model reads before it does anything useful.
Use it if
Skip it if
The bill for your context window
| Tool | Est. tokens | Described? | Required params |
|---|---|---|---|
| resolve-library-id | ~759 | yes (2006 chars) | 2 |
| query-docs | ~455 | yes (429 chars) | 2 |
At ~1,215 estimated tokens for the full tools/list (chars/4 estimate, measured 2026-08-19) this lands below the median of the servers we booted in this batch, and well under the heaviest one, whose tool list costs more than an order of magnitude more before the agent has asked a single question. The distribution inside is lopsided, though. resolve-library-id carries ~759 of those tokens against query-docs's ~455, because its description is 2,006 characters of rules about how to pick between similarly named libraries and how to report the choice back. That is a lot of prose for a name lookup, but it is prose doing real work: without it the model picks the wrong React. Both tools take two required parameters, so there is no sprawling parameter schema padding the count. This is close to the shape you want, where the token cost tracks instructions the model actually needs rather than a menu of endpoints.
Setup reality
There is almost nothing to it, which is rare in this batch. Command is npx -y @upstash/context7-mcp over stdio. The harness ran it as an unprivileged user with a scrubbed environment and it came up anyway: no env vars were requested, and the only thing it wrote to stderr was a line announcing itself as running on stdio. It negotiated protocol 2025-06-18. The README documents an optional API key for higher rate limits and a remote HTTP endpoint if you'd rather not run the process locally, but neither is required to get the two tools listed. Your real setup work is telling your agent when to reach for it, since nothing about the tool names suggests 'check this before writing imports'.
Questions people ask
Does Context7 need an API key?
Not to run. We started it with a clean environment and no credentials and it listed both tools normally, requesting no env vars. The README describes an optional key for higher rate limits, so heavy use may push you toward one.
Why does it only have two tools?
Because the job is two steps: resolve a library name to an ID, then query docs for that ID. Keeping it at two is why the tools/list estimate lands near 1,215 tokens instead of the five figures some servers spend on the same context budget.
Is 7,776 ms to start normal?
It is on the slow side of what we measured. Most of that is npx resolving and fetching the package on first run; a warm npm cache shortens it. It matters most if you restart agent processes frequently.
Can it document my private packages?
No. It resolves public libraries that Context7 has indexed. Point it at an internal package name and resolve-library-id will either miss or, worse, confidently match a public library with a similar name.
Other docs servers we started
| Server | Vendor | Boots | Context tax |
|---|---|---|---|
| should-i-use (ours) | MrKeyoor | ✓ | ~666 tokens |
How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.