context7-mcp
upstash/context7-mcpUpdated 21 days ago0591

RemoteLicense: MIT LicenseLanguage: JavaScript

Context7 MCP - Up-to-date Docs For Any Cursor Prompt

❌ Without Context7

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

✅ With Context7

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.

🛠️ Getting Started

Requirements

  • Node.js >= v18.0.0
  • Cursor, Windsurf, Claude Desktop or another MCP Client

Install in Cursor

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"]
    }
  }
}

Install in Windsurf

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"]
    }
  }
}

Install in VSCode

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"]
    }
  }
}

Available Tools

  • 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

Development

Clone the project and install dependencies:

bun i

Build:

bun run build

Local Configuration Example

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"]
    }
  }
}

Testing with MCP Inspector

npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp@latest

Troubleshooting

ERR_MODULE_NOT_FOUND

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.

License

MIT

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Run locally with the following command:
Terminal
Add the following config to your client:
JSON
{
  "mcpServers": {
    "context7": {
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ],
      "command": "npx"
    }
  }
}

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord