mcpField
D
Deepwiki MCP Server

Deepwiki MCP Server

ローカル
github.com/instructaブラウザ自動化1775 週間前に更新

Deepwiki MCP Server について

Nowledgeは公開URLの関連ページをクロールしてMarkdownに変換するMCPサーバーです。ドキュメントやウェブ情報を調べる開発者などを対象に、統合文書またはページ単位の結果を返し、クロール深度と並行数を設定できます。

主な機能

  1. 01公開ウェブページのクロール
  2. 02コンテンツのMarkdown変換
  3. 03統合形式またはページ別の結果
  4. 04クロール深度と並行数の調整
  5. 05ライブラリ名やキーワードで検索

活用シーン

  1. 01ウェブサイト全体のドキュメント収集
  2. 02単一ページのMarkdown取得
  3. 03名前からライブラリのドキュメントを検索

MCP 対応

MCPクライアント向けに`nowledge_fetch`ツールを登録します。開始URLを受け取り、統合Markdownまたはページ構造化データを返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"nowledge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Nowledge MCP サーバー

これは公式の Nowledge MCP サーバーです。

MCP 経由でウェブ URL を受け取り、関連するページをすべてクロールして Markdown に変換し、単一のドキュメントまたはページごとのリストを返します。

機能

  • 🌐 ウェブ全体の取得:公開されているあらゆるウェブ URL からコンテンツを取得します
  • 🧹 HTML のサニタイズ:ヘッダー、フッター、ナビゲーション、スクリプト、広告を削除します
  • 🔗 リンクの書き換え:Markdown で機能するようにリンクを調整します
  • 📄 複数の出力形式:単一のドキュメントまたは構造化されたページを取得します
  • 🚀 パフォーマンス:並行処理数と深度を調整できる高速クロール
  • NLP:ライブラリ名またはキーワードで検索します

使用方法

使用できるプロンプト:

nowledge fetch how can i use gpt-image-1 with "vercel ai" sdk
nowledge fetch how can i create new blocks in shadcn?
nowledge fetch i want to understand how X works

ドキュメント全体を取得(デフォルト)

use nowledge https://some-website.com/shadcn-ui/ui
use nowledge multiple pages https://some-website.com/shadcn-ui/ui

単一ページ

use nowledge fetch single page https://some-website.com/tailwindlabs/tailwindcss/2.2-theme-system

短縮形で取得

use nowledge fetch tailwindlabs/tailwindcss
nowledge fetch library

nowledge fetch url
nowledge fetch <name>/<repo>

nowledge multiple pages ...
nowledge single page url ...

Cursor

これを .cursor/mcp.json ファイルに追加します。

{
  "mcpServers": {
    "mcp-nowledge": {
      "command": "npx",
      "args": ["-y", "mcp-nowledge@latest"]
    }
  }
}

Nowledge のロゴ

MCP ツールの統合

このパッケージは nowledge_fetch という名前のツールを登録します。このツールは、あらゆる MCP 対応クライアントで使用できます。

{
  "action": "nowledge_fetch",
  "params": {
    "url": "https://some-website.com/user/repo",
    "mode": "aggregate",
    "maxDepth": "1"
  }
}
パラメーター
  • url(必須):ウェブサイトまたはリポジトリの開始 URL
  • mode(任意):出力モード。「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": "FETCH_FAIL",
  "message": "Failed to fetch content from the web"
}
部分的な成功レスポンス
{
  "status": "partial",
  "data": "# Page Title\n\nPage content...",
  "errors": [
    {
      "url": "https://some-website.com/user/repo/page2",
      "reason": "HTTP error: 404"
    }
  ],
  "totalPages": 1,
  "totalBytes": 5000,
  "elapsedMs": 950
}
進行状況イベント

ツールを使用すると、クロール中に進行状況イベントを受け取ります。

Fetched https://some-website.com/user/repo: 12500 bytes in 450ms (status: 200)
Fetched https://some-website.com/user/repo/page1: 8750 bytes in 320ms (status: 200)
Fetched https://some-website.com/user/repo/page2: 6200 bytes in 280ms (status: 200)

ローカル開発 - インストール

ローカルでの使用
{
  "mcpServers": {
    "mcp-nowledge": {
      "command": "node",
      "args": ["./bin/cli.mjs"]
    }
  }
}
ソースから
# Clone the repository
git clone https://github.com/instructa/nowledge.git
cd nowledge

# 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": "nowledge_fetch",
    "params": {
      "url": "https://some-website.com/user/repo",
      "mode": "aggregate"
    }
  }'

設定

環境変数
  • NOWLEDGE_MAX_CONCURRENCY:同時リクエストの最大数(デフォルト:5)
  • NOWLEDGE_REQUEST_TIMEOUT:リクエストのタイムアウト(ミリ秒、デフォルト:30000)
  • NOWLEDGE_MAX_RETRIES:リクエスト失敗時の最大再試行回数(デフォルト:3)
  • NOWLEDGE_RETRY_DELAY:再試行時のバックオフの基本待機時間(ミリ秒、デフォルト:250)

これらを設定するには、プロジェクトのルートに .env ファイルを作成します。

NOWLEDGE_MAX_CONCURRENCY=10
NOWLEDGE_REQUEST_TIMEOUT=60000
NOWLEDGE_MAX_RETRIES=5
NOWLEDGE_RETRY_DELAY=500

Docker でのデプロイ(未テスト)

Docker イメージをビルドして実行します。

# Build the image
docker build -t mcp-nowledge .

# Run with stdio transport (for development)
docker run -it --rm mcp-nowledge

# Run with HTTP transport (for production)
docker run -d -p 3000:3000 mcp-nowledge --http --port 3000

# Run with environment variables
docker run -d -p 3000:3000 \
  -e NOWLEDGE_MAX_CONCURRENCY=10 \
  -e NOWLEDGE_REQUEST_TIMEOUT=60000 \
  mcp-nowledge --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

トラブルシューティング

よくある問題
  1. アクセス許可が拒否される:CLI の実行時に EACCES エラーが発生する場合は、バイナリに実行権限を付与してください。

    chmod +x ./node_modules/.bin/mcp-nowledge
    
  2. 接続が拒否される:ポートが使用可能で、ファイアウォールによってブロックされていないことを確認してください。

    # Check if port is in use
    lsof -i :3000
    
  3. タイムアウトエラー:大規模なリポジトリの場合は、タイムアウトと並行処理数を増やすことを検討してください。

    NOWLEDGE_REQUEST_TIMEOUT=60000 NOWLEDGE_MAX_CONCURRENCY=10 npx mcp-nowledge
    

コントリビューション

コントリビューションを歓迎します!詳細については CONTRIBUTING.md をご覧ください。

ライセンス

MIT

リンク

コース

その他のプロジェクト:

  • AI Prompts - Cursor AI、Cline、Windsurf、Github Copilot 向けに厳選された AI プロンプト
  • codefetch - シンプルなターミナルコマンドひとつで、コードを LLM 向けの Markdown に変換します
  • aidex AI 言語モデルの詳細情報を提供する CLI ツールです。開発者がニーズに合ったモデルを選ぶのに役立ちます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。