Context7 MCP server
Endpoint: https://mcp.context7.com/ · Authentication: No auth
Context7 provides up-to-date, version-specific library documentation and code examples directly from the source.
How do I authenticate?
Add the endpoint directly in your client. The catalog records no authentication requirement; no OAuth sign-in or API key is configured in this setup. The live server may change.
Authentication and connection guideConnection specification
- Remote endpoint
https://mcp.context7.com/- Live-validated endpoint
https://mcp.context7.com/mcp- Browser access
- Direct browser connection verified
- Declared MCP transport
- Streamable HTTP
- Live-validated MCP transport
- Streamable HTTP — Observed by the latest catalog validation
- Declared authentication
- No authentication
- Detected authentication
- No authentication detected or retained from publisher evidence
- Protocol lifecycle
- Stateless MCP · 2026-07-28
- Authorization server
https://clerk.context7.com- Authorization server
https://context7.com- Category
- Documentation
Product documentation · Official listing documentation
More Documentation MCP servers · Browse all MCP servers · Test this endpoint in the MCP Playground
Connect it
Browser-verified endpoint: https://mcp.context7.com/mcp · Streamable HTTP. No authentication is required by the catalog listing.
Agent prompt for Claude Code or Codex
Add the Context7 MCP server to my MCP client configuration and verify that it works. What it is: Context7 provides up-to-date, version-specific library documentation and code examples directly from the source. Server URL: https://mcp.context7.com/mcp Transport: Streamable HTTP (remote MCP server, no local install). Authentication: none. The server accepts connections without credentials. Tools (2, as last observed by mcptest): query-docs, resolve-library-id. Reference: https://mcptest.io/servers/context7/ Steps: 1. Work out which MCP client I use (Claude Code, Codex, Cursor, VS Code or another) and add the server under the name "context7" in that client's MCP configuration, user scope unless I ask otherwise. Claude Code: claude mcp add --transport http --scope user 'context7' 'https://mcp.context7.com/mcp' Codex: codex mcp add 'context7' --url 'https://mcp.context7.com/mcp' Other clients: use the setup for that client on the reference page. 2. Never write a credential value into a file that could be committed; reference an environment variable or the client's secret store, and ask me for any value you need. 3. Verify: connect to the server and call tools/list. Confirm the tools above are listed, and report any sign-in step I still have to complete.
Claude Code setup
Run in a terminal. This user-scoped entry is available across projects.
claude mcp add --transport http --scope user 'context7' 'https://mcp.context7.com/mcp'Codex CLI setup
Run in a terminal; Codex stores the entry in ~/.codex/config.toml.
codex mcp add 'context7' --url 'https://mcp.context7.com/mcp'Cursor setup
Add to .cursor/mcp.json for this project, or ~/.cursor/mcp.json for all projects.
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp"
}
}
}VS Code setup
Add to .vscode/mcp.json, or run “MCP: Open User Configuration” for a private user-level entry.
{
"servers": {
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp"
}
}
}Claude setup
Add the endpoint above in Claude:
- Customize > Connectors > Add custom connector
- Team/Enterprise: Organization settings > Connectors > Add > Custom > Web
Claude Desktop setup
Add the endpoint above in Claude Desktop:
- Remote: Customize > Connectors (same as claude.ai)
- Local: Settings > Developer > Edit Config, or Settings > Extensions for .mcpb files
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows), local servers only
ChatGPT setup
Add the endpoint above in ChatGPT:
- ChatGPT web: Plugins > Add custom MCP server, then configure authentication and accept the risk warning
Windsurf setup
Add the endpoint above in Windsurf:
~/.config/devin/mcp_config.json(%APPDATA%\devin\mcp_config.jsonon Windows),serverUrlorurl- Cascade panel > ... > MCPs > Open MCP config file
Gemini CLI setup
Add the endpoint above in Gemini CLI:
gemini mcp add --transport http <name> <url>~/.gemini/settings.json(user) or.gemini/settings.json(project),mcpServers
MCP SDK setup
Add the endpoint above in MCP SDK:
- Programmatic:
new Client(...).connect(new StreamableHTTPClientTransport(url))
Client compatibility
| Client | Status | Why |
|---|---|---|
| Claude Code | Supported | Claude Code supports Streamable HTTP servers and servers without authentication. |
| Codex | Partial | Codex's documentation does not state support for servers without authentication. |
| Cursor | Supported | Cursor supports Streamable HTTP servers and servers without authentication. |
| VS Code | Supported | VS Code supports Streamable HTTP servers and servers without authentication. |
| Claude | Supported | Claude supports Streamable HTTP servers and servers without authentication. |
| Claude Desktop | Supported | Claude Desktop supports Streamable HTTP servers and servers without authentication. |
| ChatGPT | Supported | ChatGPT supports Streamable HTTP servers and servers without authentication. |
| Windsurf | Partial | Windsurf's documentation does not state support for servers without authentication. |
| Gemini CLI | Supported | Gemini CLI supports Streamable HTTP servers and servers without authentication. |
| MCP SDK | Supported | MCP SDK supports Streamable HTTP servers and servers without authentication. |
Computed from this server's validated transport, protocol and authentication against documented client support. Checks the catalog has not observed are not counted.
Latest validation evidence
- Validation status
- Online when last tested
- Validation checked at
- Oct 26, 2026 at 2:07 PM
- Validation detail
- Negotiated stateless MCP 2026-07-28 at https://mcp.context7.com/mcp; detected transport streamable-http; authentication none
Tool inventory
What the catalog validator observed on at https://mcp.context7.com/mcp without credentials. The live server may have changed since; connect in the Playground for the current list.
Tools provided by Context7 2
Some details were sanitized for public display.
query-docsNo outputSchemaRetrieves and queries up-to-date documentation and code examples from Context7 for any programming library or framework. You must call 'Resolve Context7 Library ID' tool first to obtain the exact Context7-compatible library ID required to use this tool, UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query. Do not call this tool more than 3 times per question. If you know the programming language the user is working in, pass it as `language` so the results match their setup.
Input
language?: string, libraryId: string, query: stringlanguage?: stringoptionalProgramming language the user is writing code in, such as 'Python', 'TypeScript', 'Go', or 'C#'. Ranks code examples in that language first. Leave it out when the language is unknown or does not apply.
libraryId: stringrequiredExact Context7-compatible library ID (e.g., '/mongodb/docs', '/vercel/next.js', '/supabase/supabase', '/vercel/next.js/v16.2.9') retrieved from 'resolve-library-id' or directly from user query in the format '/org/project' or '/org/project/version'.
query: stringrequiredWhat to look up in the library's documentation, scoped to a single concept. Be specific and include relevant details, but keep each query to one topic — if the user's question spans multiple distinct concepts, make a separate call per concept instead of combining them, unless the question is about how the concepts interact. Good: 'How to set up authentication with JWT in Express.js' or 'React useEffect cleanup function examples'. Bad (too vague): 'auth' or 'hooks'. Bad (too broad): 'routing and auth and caching in Next.js'. The query is sent to the Context7 API for processing. Do not include a
resolve-library-idNo outputSchemaResolves a package/product name to a Context7-compatible library ID and returns matching libraries. You MUST call this function before 'Query Documentation' tool to obtain a valid Context7-compatible library ID UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query. Each result includes: - Library ID: Context7-compatible identifier (format: /org/project) - Name: Library or package name - Description: Short summary - Code Snippets: Number of available code examples - Source Reputation: Authority indicator (High, Medium, Low, or Unk
Input
libraryName: string, query: stringlibraryName: stringrequiredLibrary name to search for and retrieve a Context7-compatible library ID. Use the official library name with proper punctuation — e.g., 'Next.js' instead of 'nextjs', 'Customer.io' instead of 'customerio', 'Three.js' instead of 'threejs'.
query: stringrequiredWhat to look up in the library's documentation. This is used to rank library results by relevance to what the user is trying to accomplish. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.