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 context7How do I invalidate a query in React Query? use context7How do I protect a route with NextAuth? use context7Context7 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@latest"]
}
}
}Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}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@latest"]
}
}
}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 iBuild:
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@latestMIT