Context7 MCP Context7 4.4.4: our test log

Context7 MCP 4.4.4 started locally in 462 ms but its tool calls go to a hosted API: resolve-library-id took about 1.2 s per call and returned React documentation matches.

Tested by us on 2026-10-25. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.

Result at a glance

Context7 MCP test record
FieldValue
ResultPassed
Version testedContext7 4.4.4
Date and time2026-10-25, 22:39 CDT (America/Chicago)
TaskA small Python client written with the official MCP Python SDK (2.3.0) spawns the server as a child process over stdio, times the initialize handshake (cold start: spawn to initialize result), times one tools/list, then times 3 sequential tools/call requests (the count differs per test; this one used 3) and reports the median and 95th percentile. Numbers are milliseconds on the rig described on the methodology page.
Model usednone (no language model involved)
HardwareLinux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU
resolve-library-id (hosted lookup)cold start 462 ms; tools/list 5.9 ms (2 tools); 3 x resolve-library-id: median 1201.3 ms, p95 1201.3 ms

What we found

  • The local package is the thin client: it advertises 2 tools and forwards them to Upstash's hosted service, so the 1201.3 ms median (3 calls) includes a network round trip and the service's own work. This is not a local-only tool; documentation lookups leave your machine.
  • The call resolved the library name 'react' with the query 'useEffect cleanup' and returned a list that began with the official React docs (Context7 library ID /reactjs/react.dev). We did not evaluate the quality of the documentation snippets themselves.

What we ran, step by step

Commands run, wall-clock time and exit code
StepWall timeExit codeNotes
npm install on Node 20.19.2 (cold)3.3 s0Resolved 4.4.4; 63 MB in 115 packages; load 3.16.
npm install on Node 24.22.1 (cold)2.8 s0Resolved 4.4.4; 63 MB in 115 packages; load 2.17.
Latency run: resolve-library-id (hosted lookup)n/a0Context7 4.4.4 (protocol 2025-11-25). cold start 462 ms; tools/list 5.9 ms (2 tools); 3 x resolve-library-id: median 1201.3 ms, p95 1201.3 ms. Load 1.54.
Exact commands (paths shortened)
# npm install on Node 20.19.2 (cold)
npm install --no-audit --no-fund --cache /tmp/npmcache @upstash/context7-mcp

# npm install on Node 24.22.1 (cold)
npm install --no-audit --no-fund --cache /tmp/npmcache @upstash/context7-mcp

# Latency run: resolve-library-id (hosted lookup)
node work/npm/context7-mcp/node_modules/.bin/context7-mcp

Raw output (excerpts)

Output of the timed call (resolve-library-id (hosted lookup)), first 300 characters
resolve-library-id({"libraryName": "react", "query": "useEffect cleanup"})
Available Libraries:

- Title: React
- Context7-compatible library ID: /reactjs/react.dev
- Description: React.dev is the official documentation website for React, a JavaScript library for building user interfaces, providing guides, API references, and tutorials.
- Code Snippets: 4410
- Source Reput

Gotchas and things that broke

  • Unlike the other servers in our MCP tests, results depend on a third-party service and will vary with network and service state. No API key was used; rate limits for anonymous use were not tested.

What we did not test

  • Remote (HTTP) transport, authentication and concurrent clients: only local stdio with one client was measured.
  • Large payloads: calls used tiny inputs, so these latencies are protocol and process overhead, not throughput.
  • Anything about answer quality: no model was involved in the latency numbers.
  • These are single smoke-test runs; it is not a benchmark. The machine was shared with other jobs.
  • The second tool (fetching documentation by library ID) and API-key behaviour.

Reproduce it

Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.

npm install @upstash/context7-mcp
node node_modules/.bin/context7-mcp

How to read this test

Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.

See the testing rig for the hardware, the local model and the rules we follow, and the test hub for every other test.

  • FastMCP 4.1.3 and the official MCP Python SDK 2.3.0 (server side): The same three-tool server written with FastMCP 4.1.3 and with the official MCP Python SDK 2.3.0 answered calls equally fast (about 1 ms); FastMCP started in 643 to 735 ms against 461 to 516 ms for the SDK on repeats.
  • GitHub MCP Server: GitHub MCP Server 2.0.3 started over stdio in a median 266 ms and listed 46 tools in a median 15 ms; we did not make any authenticated call.
  • MCP Everything (reference) server: MCP Everything (reference) server answered over stdio in 356 ms cold (v1.0.0, Node 20) and 252 ms (v2.0.1, Node 24); median call 0.5 to 0.4 ms.
  • MCP Fetch server: The MCP Fetch server 2026.10.24 refused to fetch a local test page by default (a deliberate loopback block); with --allow-private-ips it fetched it in 698.3 ms median.
  • MCP Filesystem server: MCP Filesystem server answered over stdio in 279 ms cold (v1.0.0, Node 20) and 187 ms (v2.0.1, Node 24); median call 0.8 to 1.0 ms.
  • MCP Git server: The MCP Git server 2026.10.19 started in 512 ms, listed 12 tools and answered git_status in 3.2 ms median.

All test logs · How we test

Sources

Markdown version for agents: /tests/context7-mcp.md