DeepWiki MCPをClaude Codeで使う — 公開リポジトリのドキュメントを検索・引用する
DeepWiki MCPサーバーをClaude Codeに追加する手順と、GitHub公開リポジトリのドキュメントを検索・引用する使い方をまとめます。認証不要で誰でも接続できます。
DeepWiki MCPは、GitHubの公開リポジトリ向けに自動生成されたドキュメントを、Claude Codeから直接検索・引用できるようにするリモートMCPサーバーです。認証設定が要らず、claude mcp addの1コマンドで接続できます。この記事では接続手順に加えて、-t httpを付け忘れたときの実際の挙動、.mcp.jsonに手で書くときの落とし穴、3つのツールの使い分け、制限事項を扱います。
DeepWiki MCPとは
DeepWikiは、AIコーディングエージェント「Devin」のエコシステムの一部として提供されているサービスです。GitHubの公開リポジトリに対して、アーキテクチャ図・ドキュメント・ソースコードへのリンクを自動生成し、deepwiki.comで閲覧できます。React・TensorFlow・LangChainのような有名OSSはすでに索引済みで、任意の公開リポジトリのURLを送って索引させることもできます。
DeepWiki MCPは、このドキュメント化データをプログラムから呼び出すための窓口です。無料・リモート・認証不要でホスティングされています。
- ベースURL:
https://mcp.deepwiki.com/ - 料金: 無料
- 認証: 不要
- 対象: GitHubの公開リポジトリのみ
公開DeepWikiとDeepWiki MCPが提供するのは、基本的なドキュメントとQ&Aの機能です。高度なコード検索や計画立案を含むAsk Devinの全機能は、Devinアプリ側のものです。MCPで得られるのは、あくまでwikiに基づく回答という位置づけになります。
プライベートリポジトリは対象外です。非公開コードを扱いたい場合は、Devinアカウントを作成しAPIキーで認証する別サーバー「Devin MCP server」を使います。Claude Code側の前提は、claude mcp addが使えることと、mcp.deepwiki.comへ外向きに接続できることだけです。Devinのアカウントや料金プランは要りません。Claude Code自体の導入はClaude Codeの全体像にあります。
使える3つのツール
DeepWiki MCPサーバーが公開するツールは3つで、いずれもGitHubリポジトリを指定して呼び出します。
DeepWiki MCPの3ツール
read_wiki_structure
リポジトリのドキュメントトピック一覧を取得します。初めて触るOSSの全体像を俯瞰する入口です。
read_wiki_contents
トピックに対応するドキュメント本文を取得します。一覧で見つけた箇所を掘り下げるときに使います。
ask_question
リポジトリについて自由文で質問し、コードの文脈に基づいた回答を得ます。ファイルの場所が分からない段階で役立ちます。
ask_questionはDeepWiki側が回答を生成するので、Claude Codeがリポジトリ全体を自力で読み込まなくても、要点を先につかめます。
Claude Codeへの接続手順
追加はclaude mcp add1つで済みます。ここでは、HTTPサーバーをユーザースコープ(全プロジェクト共通)で登録する形を使います。
接続から動作確認まで
- 1
コマンドを実行する
下のコマンドを実行します。
-sは--scope、-tは--transportの短縮形です。スコープを省くとローカル(そのプロジェクトのみ)登録になるので、複数プロジェクトで使うなら-s userを付けます。 - 2
接続状態を見る
claude mcp listか、セッション内の/mcpでdeepwikiが一覧に出ます。接続エラーが出ていなければ準備完了です。 - 3
リポジトリ名を添えて指示する
指示に
facebook/reactのような名前を入れると、狙ったリポジトリを指定しやすくなります。
claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcp/mcp-t httpを付け忘れるとどうなるか
v2.1.289のclaude mcp addを空のディレクトリでprojectスコープ指定で実行すると、-t httpを付けた場合はHTTPサーバーとして追加されます。
claude mcp add -s project -t http deepwiki https://mcp.deepwiki.com/mcp出力と、生成された.mcp.jsonは次のとおりです。
Added HTTP MCP server deepwiki with URL: https://mcp.deepwiki.com/mcp to project config{
"mcpServers": {
"deepwiki": {
"type": "http",
"url": "https://mcp.deepwiki.com/mcp"
}
}
}-tを省くと、URLがコマンド名として扱われます。
claude mcp add -s project deepwiki https://mcp.deepwiki.com/mcpWarning: The command "https://mcp.deepwiki.com/mcp" looks like a URL, but is being interpreted as a stdio server as --transport was not specified.
If this is an HTTP server, use: claude mcp add --transport http deepwiki https://mcp.deepwiki.com/mcp
If this is an SSE server, use: claude mcp add --transport sse deepwiki https://mcp.deepwiki.com/mcp
Added stdio MCP server deepwiki with command: https://mcp.deepwiki.com/mcp to project config警告は出ますが、登録そのものは成功します。生成される.mcp.jsonは"type": "stdio"で、commandにURLが入ります。起動できない設定が残るので、エラーに気づいたら警告の案内どおり-t http付きで入れ直します。
.mcp.jsonに手で書くとき
urlだけを書いてtypeを省くと、Claude Codeはstdioサーバーとみなして読み飛ばします。次のエラーが出ます。
MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entryv2.1.202より前は、同じ設定ミスがcommand: expected string, received undefinedと表示されました。古いバージョンでこの文言を見たら、原因はtypeの書き忘れです。typeには、MCP仕様の呼び名であるstreamable-httpもhttpの別名として書けます。
実際の使い方 — 公開リポジトリを検索・引用する
接続後は、指示にリポジトリ名を含めるだけでツールが呼ばれます。
- 「
facebook/reactのフックの実装をDeepWikiで調べて、useEffectのクリーンアップの挙動を教えて」 - 「
langchain-ai/langchainのドキュメント構成をread_wiki_structureで一覧して」 - 「依存に追加しようとしている
upstash/context7が何をするツールか、DeepWikiで確認して」
どのツールを呼ぶかは、Claude Codeが指示の内容から選びます。自分の公開リポジトリは、deepwiki.comでURLを送って索引させることができます。有名OSSなら、この手間はほとんど要りません。
依存先ライブラリの使い方を調べる場面では、ローカルにクローンしなくても公開リポジトリのドキュメントをその場で引用できます。DeepWikiの文章は自動生成なので、引用した内容は一次ソースであるGitHubリポジトリ本体の記載とも突き合わせておくと安全です。
未知のOSSを調べるとき、DeepWiki MCPなしなら、WebFetchでREADMEや個別ファイルを取得するか、リポジトリをクローンしてソースを読むことになります。DeepWiki MCPを挟むと、要約・構造化済みのドキュメントが返るので、ソース全体を読まずに済む場面が増えます。目的の情報がどのファイルにあるか分からないうちは、ask_questionで見当をつけてから該当ファイルを開く順序が効率的です。
2回目以降のセッションでは、/mcpのdeepwikiがcached 2h ago · connects on first use · 5 toolsのような表示になることがあります。前回のツール一覧を保存した発見キャッシュから読み込んだ状態で、実際の接続はClaudeが最初にツールを呼ぶときです。ツールは最初のメッセージから使えるので、何もしなくて構いません。この表示はv2.1.221以降で出ます。数字はサーバーが持つツールの数なので、DeepWikiでは3になります。v2.1.238以降は、段階提供で有効になっていない限り発見キャッシュが既定でオフです。MCP_DISCOVERY_CACHE=1で有効に、MCP_DISCOVERY_CACHE=0で無効にできます。
DeepWiki MCPが向く場面・向かない場面
| 場面 | 向き不向き | 理由 |
|---|---|---|
| 初めて触るOSSの全体構成を把握したい | 向き不向き◎ | 理由read_wiki_structureでトピック一覧を素早く俯瞰できる |
| 依存先ライブラリの使い方を素早く質問したい | 向き不向き◎ | 理由ask_questionがコードに基づいた回答を返す |
| すでにローカルにクローン済みのコードを読みたい | 向き不向き△ | 理由ファイル読み込みで足りることが多く、MCP経由の必要性は薄い |
| 自社のプライベートリポジトリを調べたい | 向き不向き× | 理由公開リポジトリ専用。非公開コードはDevin MCP serverが別途必要 |
通信方式とクライアントごとの設定差
DeepWiki MCPが対応するワイヤープロトコルは2つです。Streamable HTTPの/mcpはCloudflare・OpenAI・Claudeで使え、新規接続ではこちらが推奨されています。SSEの/sseはレガシーで、廃止が進んでいます。
Claude Codeの--transport httpは、まずHTTPで接続を試し、サーバーが受け付けないときだけSSEへ切り替えます。この自動切り替えにはv2.1.265以降が必要です。それより前のバージョンでSSEへ直接つなぐなら--transport sseを指定します。DeepWikiは/mcpが使えるので、この切り替えに頼る場面はほぼありません。
JSON設定に接続先を直接書くときは、クライアントごとにURLのフィールド名が違います。
| クライアント | URLを書くフィールド | 備考 |
|---|---|---|
| Devin Desktop | URLを書くフィールドserverUrl | 備考他クライアントと異なる専用名。間違えるとサーバーが黙って無視される |
| Cursorなど多くのクライアント | URLを書くフィールドurl | 備考標準的な書き方 |
Claude Code(.mcp.jsonを手動編集) | URLを書くフィールドurl + type: "http" | 備考typeを省くとstdio扱いで読み飛ばされる |
claude mcp add -t httpなら、前の節で見たとおりtypeが自動で入ります。.mcp.jsonの書き方やスコープの使い分けはClaude Code MCP設定ガイドにあります。
制限事項とよくあるつまずき
- 公開リポジトリのみ: プライベートリポジトリは対象外です。別サーバーのDevin MCP serverとDevinアカウントが要ります
- ツールは参照と質問の3つだけ: リポジトリを変更するツールはありません
typeの書き忘れ:.mcp.jsonを直接編集してtype: "http"を省くと、上のエラーで読み飛ばされます-t httpの付け忘れ: stdioとして登録され、警告が出ます。入れ直しが必要です/sseは新規に使わない: レガシーなので/mcpで登録します
deepwikiが失敗扱いになったときは、接続の再試行が働いています。HTTPやSSEのサーバーは、5xx・接続拒否・タイムアウトのような一時的なエラーなら、初回接続を最大3回まで再試行します。それでも失敗するとfailedになります。
ツールの呼び出し中に応答も進捗通知もないまま5分たつと、HTTPサーバーではエラーで中断されます。長い質問をask_questionに投げて返ってこないときは、この待ち時間が関係します。
他のMCPサーバーとの通信方式・認証方式の違いは、AIコーディングエージェントのMCP対応状況を比較する記事にまとまっています。MCPサーバーの読み込みを絞りたいときは--mcp-configと--strict-mcp-configの使い分け、OAuthが必要な別サーバーをCLIから扱うときはclaude mcp login/logoutの使い方が参考になります。
まとめ
公開リポジトリの調査だけが目的なら、claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcpで足ります。-t httpを落とさないことが、つまずきの大半を避ける要点です。社内のプライベートリポジトリは対象外なので、Devinアカウントと専用サーバーを使う別経路になります。セルフホストのGitリポジトリを操作したい場合はGitea MCPサーバーの使い方を参照してください。