Deepwiki MCP Server について
Deepwiki MCP Server は、deepwiki.com のページをクロールして Markdown に変換する非公式の MCP サーバーです。Cursor などのエディターで DeepWiki のドキュメントを利用したい開発者を対象としています。README によると、DeepWiki がスクレイピングを制限したため現在は動作せず、公式の DeepWiki MCP サーバーの利用が推奨されています。
主な機能
- 01deepwiki.com ドメインの URL のみを処理
- 02ヘッダー、フッター、ナビゲーション、スクリプトを除去
- 03Markdown 向けにリンクを書き換え
- 04単一ドキュメントまたはページ単位の構造化データを返却
- 05並行数とクロールの深さを調整可能
活用シーン
- 01DeepWiki のドキュメントをエディターのコンテキストに取り込む
- 02ライブラリ名や短縮形のリポジトリ名からドキュメントを取得する
- 03Cursor 上のコーディングエージェントにリポジトリの説明を提供する
MCP 対応
本プロジェクトは MCP サーバーであり、開始 URL、出力モード、最大クロール深度を受け取る deepwiki_fetch ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Deepwiki MCP サーバー
⚠️ 重要なお知らせ:DeepWikiがスクレイピングをできないようにしたため、このサーバーは現在動作していません。当面は、https://docs.devin.ai/work-with-devin/deepwiki-mcp にある公式のDeepWiki MCPサーバーを使用することをおすすめします。
これは非公式のDeepwiki MCPサーバーです。
MCP経由でDeepwikiのURLを受け取り、関連するすべてのページをクロールしてMarkdownに変換し、単一のドキュメントまたはページごとのリストを返します。
機能
- 🔒 ドメインの安全性:deepwiki.comのURLのみを処理します
- 🧹 HTMLのサニタイズ:ヘッダー、フッター、ナビゲーション、スクリプト、広告を削除します
- 🔗 リンクの書き換え:Markdownで機能するようにリンクを調整します
- 📄 複数の出力形式:単一のドキュメントまたは構造化されたページを取得できます
- 🚀 パフォーマンス:並行処理数と深さを調整できる高速クロール
- NLP:ライブラリ名だけを検索します
使用方法
使用できるプロンプト:
deepwiki fetch how can i use gpt-image-1 with "vercel ai" sdk
deepwiki fetch how can i create new blocks in shadcn?
deepwiki fetch i want to understand how X works
ドキュメント全体を取得(デフォルト)
use deepwiki https://deepwiki.com/shadcn-ui/ui
use deepwiki multiple pages https://deepwiki.com/shadcn-ui/ui
単一ページ
use deepwiki fetch single page https://deepwiki.com/tailwindlabs/tailwindcss/2.2-theme-system
短縮形で取得
use deepwiki fetch tailwindlabs/tailwindcss
deepwiki fetch library
deepwiki fetch url
deepwiki fetch <name>/<repo>
deepwiki multiple pages ...
deepwiki single page url ...
Cursor
.cursor/mcp.json ファイルに以下を追加します。
{
"mcpServers": {
"mcp-deepwiki": {
"command": "npx",
"args": ["-y", "mcp-deepwiki@latest"]
}
}
}

MCPツールの統合
このパッケージは deepwiki_fetch という名前のツールを登録します。このツールは、MCP互換の任意のクライアントで使用できます。
{
"action": "deepwiki_fetch",
"params": {
"url": "https://deepwiki.com/user/repo",
"mode": "aggregate",
"maxDepth": "1"
}
}
パラメーター
url(必須):Deepwikiリポジトリの開始URLmode(任意):出力モード。"aggregate"は単一のMarkdownドキュメント(デフォルト)、"pages"は構造化されたページデータですmaxDepth(任意):クロールするページの最大深度(デフォルト:10)
レスポンス形式
成功レスポンス(集約モード)
{
"status": "ok",
"data": "# Page Title\n\nPage content...\n\n---\n\n# Another Page\n\nMore content...",
"totalPages": 5,
"totalBytes": 25000,
"elapsedMs": 1200
}
成功レスポンス(ページモード)
{
"status": "ok",
"data": [
{
"path": "index",
"markdown": "# Home Page\n\nWelcome to the repository."
},
{
"path": "section/page1",
"markdown": "# First Page\n\nThis is the first page content."
}
],
"totalPages": 2,
"totalBytes": 12000,
"elapsedMs": 800
}
エラーレスポンス
{
"status": "error",
"code": "DOMAIN_NOT_ALLOWED",
"message": "Only deepwiki.com domains are allowed"
}
部分的な成功レスポンス
{
"status": "partial",
"data": "# Page Title\n\nPage content...",
"errors": [
{
"url": "https://deepwiki.com/user/repo/page2",
"reason": "HTTP error: 404"
}
],
"totalPages": 1,
"totalBytes": 5000,
"elapsedMs": 950
}
進行状況イベント
ツールを使用すると、クロール中に進行状況イベントを受け取ります。
Fetched https://deepwiki.com/user/repo: 12500 bytes in 450ms (status: 200)
Fetched https://deepwiki.com/user/repo/page1: 8750 bytes in 320ms (status: 200)
Fetched https://deepwiki.com/user/repo/page2: 6200 bytes in 280ms (status: 200)
ローカル開発 - インストール
ローカルでの使用
{
"mcpServers": {
"mcp-deepwiki": {
"command": "node",
"args": ["./bin/cli.mjs"]
}
}
}
ソースから
# Clone the repository
git clone https://github.com/regenrek/deepwiki-mcp.git
cd deepwiki-mcp
# Install dependencies
npm install
# Build the package
npm run build
直接API呼び出し
HTTPトランスポートの場合、APIを直接呼び出すことができます。
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"id": "req-1",
"action": "deepwiki_fetch",
"params": {
"url": "https://deepwiki.com/user/repo",
"mode": "aggregate"
}
}'
設定
環境変数
DEEPWIKI_MAX_CONCURRENCY:同時リクエストの最大数(デフォルト:5)DEEPWIKI_REQUEST_TIMEOUT:リクエストのタイムアウト(ミリ秒、デフォルト:30000)DEEPWIKI_MAX_RETRIES:失敗したリクエストの最大再試行回数(デフォルト:3)DEEPWIKI_RETRY_DELAY:再試行のバックオフにおける基本遅延(ミリ秒、デフォルト:250)
これらを設定するには、プロジェクトのルートに .env ファイルを作成します。
DEEPWIKI_MAX_CONCURRENCY=10
DEEPWIKI_REQUEST_TIMEOUT=60000
DEEPWIKI_MAX_RETRIES=5
DEEPWIKI_RETRY_DELAY=500
Dockerのデプロイ(未テスト)
Dockerイメージをビルドして実行します。
# Build the image
docker build -t mcp-deepwiki .
# Run with stdio transport (for development)
docker run -it --rm mcp-deepwiki
# Run with HTTP transport (for production)
docker run -d -p 3000:3000 mcp-deepwiki --http --port 3000
# Run with environment variables
docker run -d -p 3000:3000 \
-e DEEPWIKI_MAX_CONCURRENCY=10 \
-e DEEPWIKI_REQUEST_TIMEOUT=60000 \
mcp-deepwiki --http --port 3000
開発
# Install dependencies
pnpm install
# Run in development mode with stdio
pnpm run dev-stdio
# Run tests
pnpm test
# Run linter
pnpm run lint
# Build the package
pnpm run build
トラブルシューティング
よくある問題
-
アクセス拒否:CLIの実行時にEACCESエラーが発生する場合は、バイナリに実行権限があることを確認してください。
chmod +x ./node_modules/.bin/mcp-deepwiki -
接続拒否:ポートが使用可能で、ファイアウォールによってブロックされていないことを確認してください。
# Check if port is in use lsof -i :3000 -
タイムアウトエラー:大規模なリポジトリの場合は、タイムアウトと並行処理数を増やすことを検討してください。
DEEPWIKI_REQUEST_TIMEOUT=60000 DEEPWIKI_MAX_CONCURRENCY=10 npx mcp-deepwiki
貢献
貢献を歓迎します!詳細については、CONTRIBUTING.mdをご覧ください。
ライセンス
MIT
リンク
- X/Twitter: @kregenrek
- Bluesky:@kevinkern.dev
コース
- Cursor AIを学ぶ:Ultimate Cursor Course
- AIを使ったソフトウェアの構築を学ぶ:instructa.ai
その他のプロジェクト:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。