LLMs rely on outdated or generic information about the libraries you use. You get:
- ❌ Code examples are outdated and based on year-old training data
- ❌ Hallucinated APIs don't even exist
- ❌ Generic answers for old package versions
Context7 MCP pulls up-to-date, version-specific documentation and code examples straight from the source — and places them directly into your prompt.
Add use context7
to your question in Cursor:
How do I use the new Next.js `after` function? use context7
How do I invalidate a query in React Query? use context7
How do I protect a route with NextAuth? use context7
Context7 fetches up-to-date documentation and working code examples right into your LLM’s context.
- 1️⃣ Ask your question naturally
- 2️⃣ Tell the LLM to
use context7
- 3️⃣ Get working code answers
No tab-switching, no hallucinated APIs that don't exist, no outdated code generations.
- Node.js >= v18.0.0
- Cursor, Windsurf, Claude Desktop or another MCP Client
Go to: Settings
-> Cursor Settings
-> MCP
-> Add new global MCP server
Paste this into your Cursor ~/.cursor/mcp.json
file. See Cursor MCP docs for more info.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
Add this to your VSCode MCP config file. See VSCode MCP docs for more info.
{
"servers": {
"Context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
resolve-library-id
: Resolves a general library name into a Context7-compatible library ID.libraryName
(optional): Search and rerank results
get-library-docs
: Fetches documentation for a library using a Context7-compatible library ID.context7CompatibleLibraryID
(required)topic
(optional): Focus the docs on a specific topic (e.g., "routing", "hooks")tokens
(optional, default 5000): Max number of tokens to return
Clone the project and install dependencies:
bun i
Build:
bun run build
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"]
}
}
}
npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp
MIT