Skip to main content
Get the Context7 MCP up and running in your favorite AI coding assistant in minutes.

Requirements

Before you begin:
  • MCP Client: Cursor, Claude Code, VS Code, Windsurf, or another MCP-compatible IDE
  • API Key (Recommended): For higher rate limits and private repositories. Get yours at context7.com/dashboard
SSE Protocol RemovedThe Server-Sent Events (SSE) transport protocol has been removed and is no longer available. Please use HTTP or stdio transport methods instead.
Recommended Post-Setup: Add a Rule to Auto-Invoke Context7After installing Context7 (see instructions below), enhance your workflow by adding a rule so you don’t have to type use context7 in every prompt. Define a simple rule in your MCP client’s rule section to automatically invoke Context7 on any code question:
  • For Windsurf, in .windsurfrules file
  • For Cursor, from Cursor Settings > Rules section
  • For Claude Code, in CLAUDE.md file
  • Or the equivalent in your MCP client
Example Rule:
Always use context7 when I need code generation, setup or
configuration steps, or library/API documentation. This means
you should automatically use the Context7 MCP tools to resolve
library id and get library docs without me having to
explicitly ask.
From then on, you’ll get Context7’s docs in any related conversation without typing anything extra. You can alter the rule to match your use cases.
For most users, we recommend:
  • Remote Server (HTTP) - Easier setup with no local dependencies
  • With API Key - Higher rate limits and access to private repositories

Quick Install

Via Smithery

Install the Context7 MCP automatically for any client via Smithery:
npx -y @smithery/cli@latest install @upstash/context7-mcp --client <CLIENT_NAME> --key <YOUR_SMITHERY_KEY>
Get your Smithery key from your account at smithery.ai.

Client-Specific Installation

Go to: SettingsCursor SettingsMCPAdd new global MCP serverIn Cursor 1.0 and later, use the one-click button below or manually edit ~/.cursor/mcp.json.Remote Server (Recommended):Install MCP Server
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:Install MCP Server
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server:
claude mcp add --transport http context7 https://mcp.context7.com/mcp \
  --header "CONTEXT7_API_KEY: YOUR_API_KEY"
Local Server:
claude mcp add context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
Add to your VS Code MCP config:Remote Server:
"mcp": {
  "servers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
"mcp": {
  "servers": {
    "context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server:
{
  "mcpServers": {
    "context7": {
      "serverUrl": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Without API Key:
amp mcp add context7 https://mcp.context7.com/mcp
With API Key:
amp mcp add context7 --header "CONTEXT7_API_KEY=YOUR_API_KEY" https://mcp.context7.com/mcp
Install through the Cline MCP Server Marketplace:
  1. Open Cline
  2. Click the hamburger menu (☰) → MCP Servers
  3. Search for Context7 in the Marketplace tab
  4. Click Install
Or manually edit the configuration:
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp",
      "type": "streamableHttp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install via Zed Extensions or add to settings.json:
{
  "context_servers": {
    "Context7": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Via UI:
  1. Hamburger menu → SettingsTools
  2. Click + Add MCP
  3. Enter command: npx -y @upstash/context7-mcp@latest
  4. Name: Context7
Manual Configuration:
"augment.advanced": {
  "mcpServers": [
    {
      "name": "context7",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  ]
}
Remote Server:
{
  "mcpServers": {
    "context7": {
      "type": "streamable-http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
You can configure the Context7 MCP server in Kilo Code using either the UI or by editing your project’s MCP configuration file.Kilo Code supports two configuration levels:
  • Global MCP Configuration — stored in mcp_settings.json
  • Project-level MCP Configuration — stored in .kilocode/mcp.json (recommended)
Via Kilo Code UI:
  1. Open Kilo Code
  2. Click the Settings icon in the top-right corner
  3. Navigate to Settings → MCP Servers
  4. Click Add Server
  5. Choose HTTP Server (Streamable HTTP Transport)
  6. Enter URL: https://mcp.context7.com/mcp
  7. Add Header - Key: Authorization, Value: Bearer YOUR_API_KEY
  8. Click Save
Manual Configuration (.kilocode/mcp.json):
{
  "mcpServers": {
    "context7": {
      "type": "streamable-http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      },
      "alwaysAllow": [],
      "disabled": false
    }
  }
}
Remote Server:
{
  "mcpServers": {
    "context7": {
      "serverUrl": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Open ~/.gemini/settings.json and add:Remote Server:
{
  "mcpServers": {
    "context7": {
      "httpUrl": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY",
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server: Settings → Connectors → Add Custom Connector
  • Name: Context7
  • URL: https://mcp.context7.com/mcp
Local Server (claude_desktop_config.json):
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server:
"mcp": {
  "context7": {
    "type": "remote",
    "url": "https://mcp.context7.com/mcp",
    "headers": {
      "CONTEXT7_API_KEY": "YOUR_API_KEY"
    },
    "enabled": true
  }
}
Local Server:
{
  "mcp": {
    "context7": {
      "type": "local",
      "command": ["npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
      "enabled": true
    }
  }
}
Remote Server:
[mcp_servers.context7]
url = "https://mcp.context7.com/mcp"
http_headers = { "CONTEXT7_API_KEY" = "YOUR_API_KEY" }
Local Server:
[mcp_servers.context7]
args = ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
command = "npx"
Windows: Use full paths if you encounter timeout errors:
[mcp_servers.context7]
command = "C:\\Program Files\\nodejs\\node.exe"
args = [
  "C:\\Users\\yourname\\AppData\\Roaming\\npm\\node_modules\\@upstash\\context7-mcp\\dist\\index.js",
  "--transport", "stdio", "--api-key", "YOUR_API_KEY"
]
macOS: Use full Node.js path if needed:
[mcp_servers.context7]
command = "/Users/yourname/.nvm/versions/node/v22.14.0/bin/node"
args = [
  "/Users/yourname/.nvm/versions/node/v22.14.0/lib/node_modules/@upstash/context7-mcp/dist/index.js",
  "--transport", "stdio", "--api-key", "YOUR_API_KEY"
]
  1. Go to SettingsToolsAI AssistantModel Context Protocol (MCP)
  2. Click + Add
  3. Select As JSON from the top-left dropdown
  4. Add configuration:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
  1. Click Apply
  1. Navigate KiroMCP Servers
  2. Click + Add
  3. Add configuration:
{
  "mcpServers": {
    "Context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}
Remote Server:
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Add MCP Server context7 to LM StudioOr manually: ProgramInstallEdit mcp.json:
{
  "mcpServers": {
    "Context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server:
{
  "inputs": [],
  "servers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
{
  "mcp": {
    "servers": {
      "context7": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
      }
    }
  }
}
Remote Server:
{
  "$schema": "https://charm.land/crush.json",
  "mcp": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Local Server:
{
  "$schema": "https://charm.land/crush.json",
  "mcp": {
    "context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Open Settings → Plugins, then add:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Use get-library-docs in the chat with your Context7 documentation ID.
Edit your config:
acli rovodev mcp
Remote Server:
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
  1. Go to Zencoder menu (…)
  2. Select Agent tools
  3. Click Add custom MCP
  4. Add configuration:
{
  "command": "npx",
  "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
}
  1. Open the Qodo Gen chat panel
  2. Click Connect more tools
  3. Click + Add new MCP
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
Remote Server:
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
See Qwen Coder MCP Configuration for details.
  1. Open the Qwen Coder settings file. The location is ~/.qwen/settings.json (where ~ is your home directory).
  2. Add the following to the mcpServers object in your settings.json file:
Remote Server:
{
  "mcpServers": {
    "context7": {
      "httpUrl": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY",
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
If the mcpServers object does not exist, create it.
  1. Navigate to PerplexitySettingsConnectors
  2. Click Add ConnectorAdvanced
  3. Server Name: Context7
  4. Add configuration:
{
  "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
  "command": "npx",
  "env": {}
}
  1. Navigate to SettingsAIManage MCP servers
  2. Click + Add
  3. Add configuration:
{
  "Context7": {
    "command": "npx",
    "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
    "env": {},
    "working_directory": null,
    "start_on_launch": true
  }
}
Add the following to your Copilot configuration at:Repository → Settings → Copilot → Coding agent → MCP configuration
{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      },
      "tools": ["get-library-docs", "resolve-library-id"]
    }
  }
}
  1. Open the Copilot CLI MCP config file. The location is ~/.copilot/mcp-config.json (where ~ is your home directory).
  2. Add the following to the mcpServers object in your mcp-config.json file:
Remote Server:
{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR_API_KEY"
      },
      "tools": [
        "get-library-docs",
        "resolve-library-id"
      ]
    }
  }
}
Local Server:
{
  "mcpServers": {
    "context7": {
      "type": "local",
      "command": "npx",
      "tools": [
        "get-library-docs",
        "resolve-library-id"
      ],
      "args": [
        "-y",
        "@upstash/context7-mcp",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}
If the mcp-config.json file does not exist, create it.
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}
On Windows, configuration differs slightly. Use cmd with /c:
{
  "mcpServers": {
    "context7": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Factory’s droid supports MCP servers through its CLI. See Factory MCP docs for more info.Remote Server Connection (HTTP):Run this command in your terminal:
droid mcp add context7 https://mcp.context7.com/mcp --type http --header "CONTEXT7_API_KEY: YOUR_API_KEY"
Or without an API key (basic usage with rate limits):
droid mcp add context7 https://mcp.context7.com/mcp --type http
Local Server Connection (Stdio):Run this command in your terminal:
droid mcp add context7 "npx -y @upstash/context7-mcp" --env CONTEXT7_API_KEY=YOUR_API_KEY
Once configured, Context7 tools will be available in your droid sessions. Type /mcp within droid to manage servers, authenticate, and view available tools.
Emdash is an orchestration layer for running multiple coding agents in parallel. Provider-agnostic, worktree-isolated, and local-first.What Emdash provides:
  • Global toggle: Settings → MCP → “Enable Context7 MCP”
  • Per-workspace enable: The Context7 button in the ProviderBar (off by default). First click enables it for that workspace. Clicking again disables it.
  • ProviderBar: The Context7 button shows status, a short explanation, and a link to docs
What you still need to do: Configure your coding agent (Codex, Claude Code, Cursor, etc.) to connect to Context7 MCP. Emdash does not modify your agent’s config. See the respective MCP configuration sections above for your agent.See the Emdash repository for more information.

Alternative Runtimes

Using Bun

{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}

Using Deno

{
  "mcpServers": {
    "context7": {
      "command": "deno",
      "args": [
        "run",
        "--allow-env=NO_DEPRECATION,TRACE_DEPRECATION",
        "--allow-net",
        "npm:@upstash/context7-mcp"
      ]
    }
  }
}

Using Docker

Create a Dockerfile:
FROM node:18-alpine
WORKDIR /app
RUN npm install -g @upstash/context7-mcp
CMD ["context7-mcp"]
Build and configure:
docker build -t context7-mcp .
{
  "mcpServers": {
    "context7": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "context7-mcp"]
    }
  }
}

Desktop Extension

Install the context7.mcpb file. See MCP bundles docs for details.

Verify Installation

Test your setup with the MCP Inspector:
npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp
Having trouble? Check our Troubleshooting Guide for common issues and solutions.

Next Steps

Now that Context7 is installed:
  • Learn usage patterns - See the How-To Guides to master Context7 features like auto-invoke, specific library IDs, and token control
  • Get an API key - Visit the Dashboard to create an API key for higher rate limits and access to private repositories
  • Explore the API - Read the API Guide for direct API integration and best practices