Context7 is an MCP server that provides up-to-date code documentation for LLMs and AI code editors. It ensures that AI models have access to the latest library information, preventing outdated code examples, hallucinated APIs, and generic answers. This improves the accuracy and relevance of AI-generated code and suggestions.

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 (or set up a rule to auto-invoke):
Create a Next.js middleware that checks for a valid JWT in cookies
and redirects unauthenticated users to `/login`. use context7
Configure a Cloudflare Worker script to cache
JSON API responses for five minutes. use context7
Context7 fetches up-to-date code examples and documentation right into your LLM's context. No tab-switching, no hallucinated APIs that don't exist, no outdated code generation.
<details> <summary><b>Install in Cursor</b></summary>[!NOTE] API Key Recommended: Get a free API key at context7.com/dashboard for higher rate limits.
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.
Since Cursor 1.0, you can click the install button below for instant one-click installation.
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
}
}
}
</details>
<details>
<summary><b>Install in Claude Code</b></summary>
Run this command. See Claude Code MCP docs for more info.
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
claude mcp add --scope user --header "CONTEXT7_API_KEY: YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
</details> <details> <summary><b>Install in Opencode</b></summary>Remove
--scope userto install for the current project only.
Add this to your Opencode configuration file. See Opencode MCP docs for more info.
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_API_KEY"
},
"enabled": true
}
}
{
"mcp": {
"context7": {
"type": "local",
"command": ["npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
"enabled": true
}
}
}
</details>
<details>
<summary><b>Install with ctx7 setup</b></summary>
Set up Context7 MCP for your coding agents:
npx ctx7 setup
Authenticates via OAuth, generates an API key, and configures the MCP server and rule for your agents. Use --cursor, --claude, or --opencode to target a specific agent.
Context7 MCP server supports OAuth 2.0 authentication for MCP clients that implement the MCP OAuth specification.
To use OAuth, change the endpoint from /mcp to /mcp/oauth in your client configuration:
- "url": "https://mcp.context7.com/mcp"
+ "url": "https://mcp.context7.com/mcp/oauth"
OAuth is only available for remote HTTP connections. For local MCP connections using stdio transport, use API key authentication instead.
</details>To avoid typing use context7 in every prompt, add a rule to your MCP client to automatically invoke Context7 for code-related questions:
Cursor Settings > RulesCLAUDE.mdExample rule:
Always use Context7 MCP when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.
If you already know exactly which library you want to use, add its Context7 ID to your prompt. That way, Context7 MCP server can skip the library-matching step and directly continue with retrieving docs.
Implement basic authentication with Supabase. use library /supabase/supabase for API and docs.
The slash syntax tells the MCP tool exactly which library to load docs for.
To get documentation for a specific library version, just mention the version in your prompt:
How do I set up Next.js 14 middleware? use context7
Context7 will automatically match the appropriate version.
Context7 MCP provides the following tools that LLMs can use:
resolve-library-id: Resolves a general library name into a Context7-compatible library ID.
query (required): The user's question or task (used to rank results by relevance)libraryName (required): The name of the library to search forquery-docs: Retrieves documentation for a library using a Context7-compatible library ID.
libraryId (required): Exact Context7-compatible library ID (e.g., /mongodb/docs, /vercel/next.js)query (required): The question or task to get relevant documentation for1- 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.
2- This repository hosts the MCP server’s source code. The supporting components — API backend, parsing engine, and crawling engine — are private and not part of this repository.
Stay updated and join our community:
MIT