c7-mcp-server
The Context7 MCP Server is designed to allow MCP-compatible clients to interact with the Context7 API. It provides tools for querying information and retrieving metadata, facilitating seamless integration and communication with the API.
Context7 MCP Server (c7-mcp-server
)
A Model Context Protocol (MCP) server that acts as a bridge to the Context7 API.
This server allows MCP-compatible clients (like Claude Desktop, IDE plugins, custom applications) to easily interact with Context7's features, including querying documentation context, searching for projects, and retrieving project metadata. It exposes the c7-mcp-server
command when installed globally.
⚠️ Important: All data provided through this server comes directly from the official Context7 API (https://context7.com
). This server simply provides an MCP interface to that API and does not generate or host any content itself.
Features
Exposes Context7 functionalities via standard MCP capabilities:
- Tools:
c7_query
: Query the Context7 API for information on a specific topic within a project. Accepts project name, query text, optional format (txt/json), and optional token limit.c7_search
: Search for available Context7 projects by keyword. Returns a list of matching projects (title and usable name).c7_info
: Get metadata about a specific Context7 project (like source repository, last update, etc.).
- Resources:
c7_projects_list
: Provides a list of all available (valid) Context7 projects via the URIcontext7://projects/list
.
Installation
Prerequisites
Option 1: Install from npm (Recommended for Users)
Once published, install the server globally:
npm install -g c7-mcp-server
This will make the c7-mcp-server
command available system-wide, allowing MCP clients to launch it.
Option 2: Install from Source (for Development)
- Clone the repository:
git clone <your-repo-url> cd c7-mcp-server
- Install dependencies:
npm install # or if using Bun # bun install
- Build the server:
npm run build
- Link the command locally:
npm link # or if using Bun # bun link
This will make the c7-mcp-server
command available on your local machine for testing and development.
Usage
This server is designed to be run by an MCP client application, not typically directly by an end-user (except for testing). The client launches the c7-mcp-server
command, and they communicate over standard input/output (stdio) using the MCP protocol.
Configuring with Clients (Example: Claude Desktop)
To use this server with a client like Claude Desktop, you need to add it to the client's configuration file.
-
Ensure
c7-mcp-server
is installed globally (npm install -g c7-mcp-server
) or linked locally (npm link
). -
Edit the client's configuration file (e.g.,
claude_desktop_config.json
):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add an entry under
mcpServers
:{ "mcpServers": { "context7": { "command": "c7-mcp-server", // The command name installed/linked "args": [] // No arguments needed by default for stdio transport // "env": {} // Add environment variables if needed } // ... other servers ... } }
-
Restart the client application (e.g., Claude Desktop). The client will now launch
c7-mcp-server
in the background and connect to it.
Testing with MCP Inspector
You can test the server directly using the MCP Inspector:
-
Make sure
c7-mcp-server
is installed globally or linked locally. -
Run the inspector, telling it to execute your server command:
npx @modelcontextprotocol/inspector c7-mcp-server
-
The Inspector UI will open in your browser, connected to your server. Use the "Tools" and "Resources" tabs to interact with the server's capabilities. Check the "Notifications" pane for logs/errors from the server.
MCP Capabilities Details
Tools
-
c7_query
- Description: Query the Context7 API for information on a specific topic within a project.
- Parameters (
object
):projectname
(string, required): The exact project name (e.g.,nextjs
).query
(string, required): The topic/question to query.format
(enum:"txt"
|"json"
, optional, default:"txt"
): Output format.tokens
(number, optional): Maximum number of tokens for the response.
- Returns: Text content containing the result from Context7 (either plain text or a JSON string).
-
c7_search
- Description: Search for available Context7 projects by keyword.
- Parameters (
object
):term
(string, required): The keyword to search for in project titles.
- Returns: Text content containing a JSON string array of matching projects, each with
title
andname
(the usable project name).
-
c7_info
- Description: Display metadata about a specific Context7 project.
- Parameters (
object
):projectname
(string, required): The exact project name.
- Returns: Text content containing a JSON string representation of the project's full metadata.
Resources
c7_projects_list
- URI:
context7://projects/list
- Description: Provides a list of all available and valid Context7 projects.
- Returns: Content with
mimeType: "application/json"
containing a JSON string array of project objects.
- URI:
Development
- Clone the repository.
- Install dependencies (
npm install
orbun install
). - Build the server (
npm run build
). Usenpm run dev
for automatic rebuild and start during development. - Link for local testing (
npm link
orbun link
). - Test using the MCP Inspector (
npx @modelcontextprotocol/inspector c7-mcp-server
). - Make your changes in the
src/
directory and rebuild.