mrkeyoor.com_
Tue 01 Sept 16:14 UTC

This page is what happened when we ran it. The project itself — code, maintenance, community — has its own review: full repo review →

DocsMCP servermeasured 19 Aug 2026

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.

BootBOOTS ✓We started it and initialize came back in 7.8s.
Tools2tools/list payload 4,864 bytes
Context tax~1,215estimated tokens for the whole tools/list, chars/4 estimate
Resources / prompts0 / 0counts returned by resources/list and prompts/list
Measured19 Aug 2026one run of the harness, clean environment, no credentials · how we test

How we started it

npx -y @upstash/context7-mcp
Verdict

Use 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

Your agent keeps generating API calls that were removed in a major version and you'd rather it look them up than guess.
You work across many libraries in one repo and don't want a per-library docs server for each.
You want a docs tool that starts with no API key, no OAuth redirect, and no config file.
You are budgeting context and can only spare roughly a thousand tokens for documentation access.

Skip it if

Your stack is internal or private code, because Context7 indexes public libraries and will resolve nothing useful for your monorepo.
You spawn short-lived agent processes constantly; a 7,776 ms boot per process adds up faster than the docs help.
You already pipe docs in through a retrieval layer you control and don't want a second, opaque source of truth.
You need the server to expose resources or prompts; it registered zero of each.
Your environment blocks outbound network calls from tool processes, which is the entire mechanism here.

The bill for your context window

ToolEst. tokensDescribed?Required params
resolve-library-id~759yes (2006 chars)2
query-docs~455yes (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

ServerVendorBootsContext 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.

← All measured MCP servers