context7 mcp
A Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.
A Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.
LLMs rely on outdated or generic information about the libraries you use. You get:
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.
use context7
No tab-switching, no hallucinated APIs that don't exist, no outdated code generations.
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"]
}
}
}
{
"mcpServers": {
"context7": {
"command": "bunx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
{
"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
(optional): Search and rerank resultsget-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 returnClone 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.
MIT