概要
Context7 MCP Server (@upstash/context7-mcp) は、Upstashが開発したMCPサーバである。
LLMのコンテキストウィンドウに最新のバージョン固有のライブラリドキュメントとコード例を直接注入することで、ハルシネーションを排除し、正確なコード生成を実現する。
LLMは学習データに基づいて回答するため、古いバージョンのAPIを使用したコードを生成したり、存在しない関数やメソッドを生成することがある。
Context7はこの問題を解決するために、プロンプトに use context7 と追記するだけで、対象ライブラリの最新ドキュメントを自動的に取得してコンテキストに統合する。
主な特徴は以下の通りである。
- 最新バージョン固有のドキュメントをリアルタイムで取得
- Next.js、React、Vue.js、TypeScript等、数千のライブラリに対応
- プロンプトへの
use context7追記だけで動作する簡単な操作性 - Claude Desktop、Claude Code、Cursor、VS Code、Windsurf等の主要MCPクライアントに対応
- Windows、MacOS、Linuxに対応
動作要件
前提条件
Context7 MCP Serverを使用するために必要な前提条件を以下に示す。
- Node.js v18以上
npxコマンドを使用してContext7 MCP Serverを実行するために必要
- インターネット接続
- ライブラリドキュメントをContext7サーバから取得するために必要
インストール
簡単セットアップ
ctx7 CLIを使用して、MCPクライアントへの設定を自動的に行うことができる。
全クライアントを対象にセットアップする場合は、以下のコマンドを実行する。
npx ctx7 setup
特定のMCPクライアントのみを対象にセットアップする場合は、以下に示すコマンドを実行する。
Claude Desktop向けのセットアップコマンドを以下に示す。
npx ctx7 setup --claude
Cursor向けのセットアップコマンドを以下に示す。
npx ctx7 setup --cursor
VS Code向けのセットアップコマンドを以下に示す。
npx ctx7 setup --code
Smithery経由のインストール
Smitheryを使用してContext7 MCP Serverをインストールする場合は、以下に示すコマンドを実行する。
npx -y @smithery/cli install @upstash/context7-mcp --client claude
設定
設定ファイルの場所
各MCPクライアントの設定ファイルの場所は以下の通りである。
Claude Desktopの設定ファイルを以下に示す。
- Linux
- ~/.config/Claude/claude_desktop_config.json
- MacOS
- ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows
- %APPDATA%\Claude\claude_desktop_config.json
Claude Codeの設定ファイルを以下に示す。
- ローカルスコープ
- .mcp.json (プロジェクトルート) :
claude mcp addコマンドで生成される。
- .mcp.json (プロジェクトルート) :
- ユーザスコープ
- ~/.claude.json (ホームディレクトリ)
Cursorの設定ファイルを以下に示す。
- グローバル設定
- ~/.cursor/mcp.json
- プロジェクト設定
- .cursor/mcp.json
VS Codeの設定ファイルを以下に示す。
- .vscode/mcp.json (プロジェクトルート)
Claude Desktopの設定
claude_desktop_config.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。
Claude Codeの設定
Claude Codeでは、claude mcp add コマンドを使用してContext7 MCP Serverを追加できる。
以下のコマンドでMCPサーバをClaude Codeに登録する。
claude mcp add context7 -- npx -y @upstash/context7-mcp@latest
Cursorの設定
~/.cursor/mcp.json または .cursor/mcp.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
VS Codeの設定
.vscode/mcp.json ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
APIキーを使用した設定
APIキーを使用する場合は、設定ファイルに以下に示す内容を設定する。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
}
}
}
APIキーは、Context7ダッシュボードから取得できる。
APIキーは作成時のみ表示されるため、作成後は安全な場所に保管すること。
環境変数とオプション
環境変数一覧
下表に、Context7 MCP Serverの動作をカスタマイズするための環境変数を示す。
| 環境変数 | 説明 |
|---|---|
DEFAULT_MINIMUM_TOKENS |
ドキュメント取得時のトークン数の最小値を指定する。 デフォルト値は 10000 である。 |
CONTEXT7_API_KEY |
Context7 APIの認証用キーを指定する。 Context7ダッシュボードから取得できる。 CLIフラグ --api-key おオプションでも指定可能
|
環境変数を設定ファイルに記述する場合の例を以下に示す。
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"DEFAULT_MINIMUM_TOKENS": "20000",
"CONTEXT7_API_KEY": "YOUR_API_KEY"
}
}
}
}
提供ツール
Context7 MCP Serverは、ライブラリドキュメントを取得するための2つのツールを提供する。
ツール一覧
下表に、Context7 MCP Serverが提供するツールを示す。
| ツール名 | 説明 |
|---|---|
resolve-library-id |
ライブラリの一般名をContext7互換のライブラリIDに変換する。 例: "next.js" --> "/vercel/next.js" |
query-docs |
ライブラリIDを使用してドキュメントを取得する。 パラメータ: libraryId、queryトークン制限: デフォルト 5000〜10000 |
使用方法
Context7 MCP Serverを設定後、プロンプトに use context7 と追記するだけで、
AIアシスタントが自動的にContext7ツールを呼び出し、最新のドキュメントをコンテキストに統合する。
基本的な使用例
基本的なプロンプトの書き方を以下に示す。
- Next.js 14でルーティングとサーバコンポーネントを使用する場合
# プロンプト例 : Create a Next.js 14 project with routing and server components. use context7
- zodのスキーマ定義でバリデーションを行う場合
# プロンプト例 : zod v4のスキーマ定義で文字列かつ最低5文字以上という制約を持たせたい。use context7
ライブラリIDを指定した使用例
ライブラリIDを直接指定することにより、曖昧さなく対象ライブラリのドキュメントを取得できる。
- Supabaseのライブラリを指定する場合
# プロンプト例 : use library /supabase/supabase for API and docs.
複数ライブラリを指定した使用例
複数のライブラリを同時に指定することもできる。
- MongoDBとExpress.jsを組み合わせてREST APIを構築する場合
# プロンプト例 : Create a REST API using MongoDB and Express.js with JWT authentication. use context7
対応ライブラリ
Context7が対応している主なライブラリを以下に示す。
| カテゴリ | 技術 |
|---|---|
| フロントエンド | Next.js、React、Vue.js、Astro |
| バックエンド | Node.js、Express.js、Django、FastAPI |
| データベース | MongoDB、Supabase、PostgreSQL |
| バリデーション | Zod |
| 言語 | TypeScript |
その他、数千のライブラリに対応している。
詳細を知りたい場合は、context7.comを参照すること。
トラブルシューティング
一般的な問題
下表に、一般的なエラーと対処法を示す。
| 問題 | 対処法 |
|---|---|
ERR_MODULE_NOT_FOUND エラーが発生する |
npx の代わりに bunx または deno を使用する。@latest サフィックスを削除して試す。
|
Cannot find module エラーが発生する |
Node.js v18以上がインストールされているか確認する。 |
| APIキーエラー (403) が発生する | Context7ダッシュボードで新しいAPIキーを生成する。 APIキーは作成時のみ表示されるため、再生成が必要な場合がある。 |
| ドキュメントの取得に失敗する | resolve-library-id ツールでライブラリIDを確認する。context7.com でライブラリが対応しているか確認する。 |
| 接続問題が発生する | Node.jsのバージョンを確認する。npm cache clean --force コマンドでnpmキャッシュをクリアする。
|