Context7 MCP

by upstash

Integrations

  • Retrieves up-to-date documentation for Next.js features including the new after function and route protection with NextAuth

  • Supports Node.js as a runtime requirement (v18.0.0+) for the MCP server

  • Delivers up-to-date documentation and code examples for React library features

Context7 MCP - Up-to-date Code Docs For Any 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 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.

🛠️ Getting Started

Requirements

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

Installing via Smithery

To install Context7 MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @upstash/context7-mcp --client claude

Install in Cursor

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. You may also install in a specific project by creating .cursor/mcp.json in your project folder. 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-env", "--allow-net", "npm:@upstash/context7-mcp"] } } }

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 VS Code

Add this to your VS Code MCP config file. See VS Code MCP docs for more info.

{ "servers": { "Context7": { "type": "stdio", "command": "npx", "args": ["-y", "@upstash/context7-mcp@latest"] } } }

Install in Zed

It can be installed via Zed Extensions or you can add this to your Zed settings.json. See Zed Context Server docs for more info.

{ "context_servers": { "Context7": { "command": { "path": "npx", "args": ["-y", "@upstash/context7-mcp@latest"] }, "settings": {} } } }

Install in Claude Code

Run this command. See Claude Code MCP docs for more info.

claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

Install in Claude Desktop

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

Install in BoltAI

Open the "Settings" page of the app, navigate to "Plugins," and enter the following JSON:

{ "mcpServers": { "context7": { "args": ["-y", "@upstash/context7-mcp@latest"], "command": "npx" } } }

Once saved, enter in the chat get-library-docs followed by your Context7 documentation ID (e.g., get-library-docs /nuxt/ui). More information is available on BoltAI's Documentation site. For BoltAI on iOS, see this guide.

Using Docker

If you prefer to run the MCP server in a Docker container:

  1. Build the Docker Image:First, create a Dockerfile in the project root (or anywhere you prefer):
    FROM node:18-alpine WORKDIR /app # Install the latest version globally RUN npm install -g @upstash/context7-mcp@latest # Expose default port if needed (optional, depends on MCP client interaction) # EXPOSE 3000 # Default command to run the server CMD ["context7-mcp"]
    Then, build the image using a tag (e.g., context7-mcp). Make sure Docker Desktop (or the Docker daemon) is running. Run the following command in the same directory where you saved the Dockerfile:
    docker build -t context7-mcp .
  2. Configure Your MCP Client: Update your MCP client's configuration to use the Docker command. Example for a cline_mcp_settings.json:
    { "mcpServers": { "Сontext7": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "docker", "args": ["run", "-i", "--rm", "context7-mcp"], "transportType": "stdio" } } }
    Note: This is an example configuration. Please refer to the specific examples for your MCP client (like Cursor, VS Code, etc.) earlier in this README to adapt the structure (e.g., mcpServers vs servers). Also, ensure the image name in args matches the tag used during the docker build command.

Install in Windows

The configuration on Windows is slightly different compared to Linux or macOS (Cline is used in the example). The same principle applies to other editors; refer to the configuration of command and args.

{ "mcpServers": { "github.com/upstash/context7-mcp": { "command": "cmd", "args": [ "/c", "npx", "-y", "@upstash/context7-mcp@latest" ], "disabled": false, "autoApprove": [] } } }

Environment Variables

  • DEFAULT_MINIMUM_TOKENS: Set the minimum token count for documentation retrieval (default: 10000).

Examples:

{ "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp@latest"], "env": { "DEFAULT_MINIMUM_TOKENS": "10000" } } } }

Available Tools

  • 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 10000): Max number of tokens to return. Values less than the configured DEFAULT_MINIMUM_TOKENS value or the default value of 10000 are automatically increased to that value.

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.

ESM Resolution Issues

If you encounter an error like: Error: Cannot find module 'uriTemplate.js' try running with the --experimental-vm-modules flag:

{ "mcpServers": { "context7": { "command": "npx", "args": [ "-y", "--node-options=--experimental-vm-modules", "@upstash/context7-mcp@1.0.6" ] } } }

MCP Client Errors

  1. Try removing @latest from the package name.
  2. Try using bunx as an alternative.
  3. Try using deno as an alternative.
  4. Make sure you are using Node v18 or higher to have native fetch support with npx.

Disclaimer

Context7 projects are community-contributed and while we strive to maintain high quality, we cannot guarantee the accuracy, completeness, or security of all library documentation. Projects listed in Context7 are developed and maintained by their respective owners, not by Context7. If you encounter any suspicious, inappropriate, or potentially harmful content, please use the "Report" button on the project page to notify us immediately. We take all reports seriously and will review flagged content promptly to maintain the integrity and safety of our platform. By using Context7, you acknowledge that you do so at your own discretion and risk.

Context7 In Media

Star History

License

MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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.

  1. ❌ Without Context7
    1. ✅ With Context7
      1. 🛠️ Getting Started
        1. Requirements
        2. Installing via Smithery
        3. Install in Cursor
        4. Install in Windsurf
        5. Install in VS Code
        6. Install in Zed
        7. Install in Claude Code
        8. Install in Claude Desktop
        9. Install in BoltAI
        10. Using Docker
        11. Install in Windows
        12. Environment Variables
        13. Available Tools
      2. Development
        1. Local Configuration Example
        2. Testing with MCP Inspector
      3. Troubleshooting
        1. ERR_MODULE_NOT_FOUND
        2. ESM Resolution Issues
        3. MCP Client Errors
      4. Disclaimer
        1. Context7 In Media
          1. Star History
            1. License

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that gives LLMs the ability to interact with Ethereum networks, manage wallets, query blockchain data, and execute smart contract operations through a standardized interface.
                Last updated -
                31
                323
                2
                TypeScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol Server that enables LLMs to interact with and execute REST API calls through natural language prompts, supporting GET/PUT/POST/PATCH operations on configured APIs.
                Last updated -
                5
                Python
                Apache 2.0
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that connects LLMs to the Compiler Explorer API, enabling them to compile code, explore compiler features, and analyze optimizations across different compilers and languages.
                Last updated -
                Python
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables LLMs to interact with web pages, take screenshots, generate test code, scrape web pages, and execute JavaScript in a real browser environment.
                Last updated -
                29
                10
                1
                TypeScript
                MIT License

              View all related MCP servers

              ID: qvpit0siis