Context7 MCP入門2026|AIに最新ドキュメントを読ませる方法
目次
Context7 MCPを追加すると、Claudeが書くコードから「古いAPIを呼び出す」エラーが消える。Next.js 14で廃止された関数を呼ぶ、Prismaの古い構文を使う、Tailwind v3とv4を混ぜる。こうしたハルシネーションが起きる原因は単純で、LLMの学習データが半年〜1年前の時点で止まっているからだ。
Context7はUpstash(Redis as a Serviceを提供している会社)が2025年4月に公開したMCPサーバー。主要OSSライブラリの最新ドキュメントをインデックス化し、AIコーディングアシスタントのプロンプトに直接注入する。Claude、Cursor、VS Code、Windsurfなど30以上のクライアントで動く。
2026年4月時点の月間訪問数は約1,210万。MCPカテゴリのトップクラスだ。ただし2026年1月に無料枠が大幅削減されたため、導入時は料金プランを先に確認しておく必要がある。
Context7が解決する「古いコード問題」
Claudeに「Next.js 14のMiddlewareでJWT認証を書いて」と依頼すると、何が起きるか。
よくあるパターン: 13系のAPIを使った古いコードが返ってくる。動かない。エラーメッセージで検索して、公式ドキュメントを見て、手動で書き直す。AIに頼った意味がない。しかもエラーの原因をLLMに聞いても、同じく古い知識からハルシネーションを重ねて返してくる。動かないコードの診断を、動かないコードを生成した同じAIにやらせることになる。
原因はLLMの学習カットオフだ。2026年4月時点で最新のClaude Opus 4.6でも、学習データは2025年中頃で止まっている。その後にリリースされたフレームワークの変更は、内部知識としては持っていない。
プロンプトに「use context7」と付けると、裏で2ステップ走る。
resolve-library-id: ライブラリ名(例: next.js)から正規ID(/vercel/next.js)を特定するquery-docs: 正規IDで最新ドキュメントを取得し、プロンプトに差し込む
結果、LLMは「今週アップデートされた公式ドキュメント」を参照して答える。
インストール: 1コマンドで終わる
Context7は2025年末にctx7 setupという全自動インストーラを出した。これがすべてを片付ける。
npx ctx7 setup
このコマンドがやること:
- ブラウザでOAuth認証を起動 → Context7アカウント作成(未登録なら)
- APIキーを発行
- ローカルにインストール済みのMCPクライアント(Claude Code、Cursor、Windsurf等)を検出
- 各クライアントの設定ファイルに自動追記
特定のツールだけに絞りたい場合はフラグを渡す。
npx ctx7 setup --claude
npx ctx7 setup --cursor
npx ctx7 setup --opencode
この方式を使えば、以降の手動設定セクションは読まなくていい。設定ファイルの中身を理解したい人だけ次に進む。
Claude Codeでの設定
競合記事の大半がCursor視点で書かれているが、Claude CodeでもContext7は普通に動く。むしろAnthropic公式のclaude mcp addコマンドが使えるので設定が綺麗だ。
2つの接続方式がある。stdio transport(ローカルでnpxを起動する方式)とHTTP transport(Upstashのクラウドエンドポイントに直接つなぐ方式)。
stdio transport(ローカル実行)
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
HTTP transport(推奨)
claude mcp add --scope user --header "CONTEXT7_API_KEY: YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
どちらを選ぶか。迷うなら最初からHTTPにする。stdio版はnpxが古いNode.jsを掴んで起動しないことがある。筆者も初日にこれで詰まった。HTTP transportなら起動待ちも環境依存のトラブルもない。
設定後、claude mcp listでContext7が表示されれば接続は完了している。
プロジェクト単位の設定(.mcp.json)
チーム開発で設定を共有したいなら、プロジェクトルートに.mcp.jsonを置く。
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_API_KEY"
}
}
}
}
APIキーは.envファイルから読ませた方が安全だ。.mcp.jsonをgit commitするなら、キーは環境変数に逃がす。設定はここまでで終わり。あとはプロンプトから呼ぶだけだ。
使い方: プロンプトに「use context7」
設定が済めば、あとはプロンプトの末尾にuse context7を付けるだけだ。
Next.js 14のMiddlewareでJWT認証をチェックする実装を書いて。use context7
Claudeが裏でresolve-library-id("next.js") → /vercel/next.jsの特定 → query-docsでドキュメント取得 → それを元にコード生成、という流れを走らせる。ユーザーからは完全に透過的だ。
特定のバージョンを指定する
レガシープロジェクトで古いバージョンのAPIを使いたい場合は、ライブラリIDを明示する。
Next.js 14.3の Middlewareの書き方を教えて。use library /vercel/next.js/v14.3.0-canary.87
CLIから直接叩く
AIを介さずドキュメントだけ取得したい場合は、CLIコマンドが使える。
ctx7 library next.js "middleware jwt"
ctx7 docs /vercel/next.js "middleware jwt"
IDEで調べる代わりのリファレンスツールとして使える。
対応ライブラリの範囲
Upstashが主要OSSのドキュメントをほぼカバーしている。React、Next.js、Vue、Svelte、Prisma、Drizzle、Supabase、Cloudflare Workers、MongoDB、Express、FastAPI、Django、Spring Boot、Tailwind。Context7のトップページで検索できる。
ただしマイナーライブラリやプロプライエタリSDKはカバーしていない。「社内ツールのドキュメント」には使えない。その場合は別の方法が必要だ(後述)。
料金: 2026年1月の無料枠削減に注意
ここが最大の落とし穴だ。Context7は2025年のリリース当初、月6,000コールの無料枠を配っていた。個人利用なら十分すぎる量だった。
それが2026年1月に月1,000コールまで削られた。当初の発表は月500コールだったが、ユーザーからの反発で1,000に落ち着いた経緯がある。削減率にして約83%。
| プラン | 月額 | APIコール | 追加料金 |
|---|---|---|---|
| Free | $0 | 1,000/月 + 20/日のボーナス | - |
| Pro | $10/seat | 5,000/月 | $10/1,000コール |
| Enterprise | 要問い合わせ | 5,000/seat/月〜 | $10/1,000コール/seat |
追加で、時間あたり60リクエストのレート制限がかかる。連続で叩きまくると一時的にブロックされる。
月1,000コールがどれくらいか。個人開発で1日あたり5〜10コードを書かせる程度なら、30コール/日 × 30日 = 900コール前後。ギリギリ収まる。だが毎日Claude Codeで本格的に開発しているなら、1,000コールは月前半で使い切る。
筆者の感覚だと、本気で使うユーザーはPro($10/月)一択になっている。5,000コールなら個人利用ではほぼ枯渇しない。逆に「たまにドキュメント参照したい」程度ならFreeで十分持つ。
注意: APIキーなしだと厳しいレート制限
APIキーを設定しないと「anonymous」扱いになり、1時間あたり数回で止まる。公式ダッシュボード(context7.com/dashboard)からキーを発行して設定することを忘れないこと。キー発行自体は無料だ。
GitMCP・DeepWikiとの使い分け
「最新ドキュメントをAIに読ませる」というジャンルには、Context7以外の選択肢がある。
| 項目 | Context7 | GitMCP | DeepWiki |
|---|---|---|---|
| 提供元 | Upstash | OSSコミュニティ | Cognition (Devin) |
| 対象 | インデックス済みOSS | 任意の公開GitHubリポジトリ | GitHubリポジトリをwiki化 |
| 料金 | 無料1,000/月以降有料 | 完全無料 | Cognition提供条件 |
| 強み | 精度・バージョン特化・多言語 | 任意リポジトリ対応・無料 | 構造理解・アーキ可視化 |
| 弱み | 無料枠が狭い、未登録ライブラリは× | 公開リポジトリ限定 | 軽量な用途にはオーバースペック |
どれを使うかは次の基準で選べる。
- 有名OSSの正確なドキュメントが欲しい → Context7。精度重視
- マイナーなGitHubリポジトリを読ませたい → GitMCP。任意リポジトリ対応かつ無料
- リポジトリの構造やアーキテクチャを理解させたい → DeepWiki
- 社内の非公開コード → 上記3つはどれも使えない。ローカル用のMCPを自作する
筆者は.mcp.jsonにContext7とGitMCPを両方登録している。Context7が「ライブラリ未登録」で返したらGitMCPに切り替える、という手順だけ頭に入れておけば詰まらない。Claudeがどちらを呼ぶか迷うことは少ない。プロンプトに「use gitmcp」「use context7」とツール名を明示すれば確実に選んでくれる。
よくある質問
Q. プロンプトに毎回「use context7」と書くのは面倒。自動発動できる?
できる。Claude CodeではCLAUDE.mdに「ライブラリの使い方を調べるときは必ずContext7 MCPを使うこと」と書いておけば、関連するタスクで自動発動する。Cursorなら.cursorrulesに同じ内容を書けばよい。
Q. 無料枠を使い切ったらどうなる?
月間1,000コールを超えると通常のAPIコールはブロックされるが、毎日20コールのボーナスが追加で付与される。月末まで完全にゼロにはならない仕組みだ。本気で使うならProプラン($10/月で5,000コール)を検討する。
Q. APIキーの安全な管理方法は?
.mcp.jsonに直接書くと、git commitで誤って公開するリスクがある。.envに入れて.gitignoreで除外するのが基本。チーム開発なら1Password CLIやop readでシークレットマネージャーから動的に取得する。
Q. 対応していないライブラリはどうする?
Context7のトップページから「ライブラリ追加リクエスト」を送れる。公式ドキュメントが整備されているOSSなら、数日〜数週間でインデックスに追加される。急ぎならGitMCPで直接リポジトリを指定する方が早い。
Q. Cursor内蔵の @Docs 機能と何が違う?
Cursor @Docsはユーザーが手動でドキュメントURLを追加する方式で、インデックス化は自分でやる必要がある。Context7はUpstash側が全ライブラリをインデックス済みなので、ゼロ設定で使える。ただし@Docsはプライベートなドキュメントも入れられる点が強みだ。
まとめ
- インストール:
npx ctx7 setupの1コマンドで完結 - 使い方: プロンプト末尾に
use context7を付ける。それだけ - 料金: 無料1,000コール/月(2026年1月に削減)。本気で使うならPro $10/月
- 向いているケース: 有名OSSの最新APIを正確に使わせたいとき
- 向かないケース: マイナーライブラリ、社内コード(GitMCPや自作MCPで補う)
自分はContext7をデフォルトにしてGitMCPをフォールバックに置く構成にした。無料の1,000コールを超えたらGitMCPに切り替えるだけで済む。Proへの課金は、月30日以上本格開発するなら迷わず払う水準だ。$10で古いAPIエラーの検索時間が消えるなら、計算は合う。
動作確認は1分で終わる。Next.js 14のMiddlewareを書いて。use context7を投げ、返ってきたコードのimport文を確認する。next/serverからNextRequestを取っていれば最新仕様。13系以前の書き方が混ざっていれば、Context7が呼ばれていないかキャッシュを引いている可能性がある。
関連記事
-
Claude Code MCPおすすめサーバー完全ガイド
Context7以外にも試したいMCPサーバーのまとめ。
-
MCPとは?Model Context Protocol完全解説
MCPの仕組み自体をまず理解したい場合。
-
MCPサーバー自作ガイド|プロトコルから実装まで
社内コード用のMCPを自作したい場合のチュートリアル。
-
Claude Codeの使い方2026|導入・設定・Cursor比較の実践ガイド
Claude Code本体の基本セットアップから。
-
CursorとClaude Codeの設定ファイル完全ガイド
CLAUDE.md / .cursorrulesの書き方でContext7の自動発動を設定する。