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 prompt in Cursor:
Create a basic Next.js project with app router. use context7Create a script to delete the rows where the city is "" given PostgreSQL credentials. use context7Context7 fetches up-to-date code examples and documentation right into your LLM's context.
- 1️⃣ Write your prompt 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
To install Context7 MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @upstash/context7-mcp --client claudeGo to: Settings -> Cursor Settings -> MCP -> Add new global MCP server
Pasting the following configuration into your Cursor ~/.cursor/mcp.json file is the recommended approach. See Cursor MCP docs for more info.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}Alternative: Use Bun
{
"mcpServers": {
"context7": {
"command": "bunx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}Alternative: Use Deno
{
"mcpServers": {
"context7": {
"command": "deno",
"args": ["run", "--allow-net", "npm:@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@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"]
}
}
}Run this command. See Claude Code MCP docs for more info.
claude mcp add context7 -- npx -y @upstash/context7-mcp@latestAdd this to your Claude Desktop claude_desktop_config.json file. See Claude Desktop MCP docs for more info.
{
"mcpServers": {
"Context7": {
"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@latestIf you see this error, try using bunx instead of npx.
{
"mcpServers": {
"context7": {
"command": "bunx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}This often resolves module resolution issues, especially in environments where npx does not properly install or resolve packages.
MIT