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 context7
Create a script to delete the rows where the city is "" given PostgreSQL credentials. use context7
Context7 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 claude
Go 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@latest
Add 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
(required)
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. Values less than 5000 are automatically increased to 5000.
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@latest
If 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.
-
Try removing
@latest
from the package name. -
Try using
bunx
as an alternative. -
Try using
deno
as an alternative.
- Better Stack: "Free Tool Makes Cursor 10x Smarter"
- Cole Medin: "This is Hands Down the BEST MCP Server for AI Coding Assistants"
- Income stream surfers: "Context7 + SequentialThinking MCPs: Is This AGI?"
- Julian Goldie SEO: "Context7: New MCP AI Agent Update"
- JeredBlu: "Context 7 MCP: Get Documentation Instantly + VS Code Setup"
- Income stream surfers: "Context7: The New MCP Server That Will CHANGE AI Coding"
MIT