Docs MCP Server について
Grounded Docs MCP Serverは、コーディングアシスタントや開発者向けに、ウェブサイト、リポジトリ、パッケージ、ローカルファイルのドキュメントをインデックス化します。ライブラリのバージョン別インデックスと、全文検索および任意のベクトル検索で、プロジェクトに合った資料を探せます。
主な機能
- 01ウェブサイト、リポジトリ、パッケージ、ファイルの索引化
- 02ライブラリのバージョン別インデックス
- 03全文検索と任意のベクトル検索
- 04Web UI、CLI、MCPクライアントでの利用
- 05ローカルSQLiteへのインデックス保存
活用シーン
- 01プロジェクトで使う版のドキュメントを確認
- 02コーディングエージェントからローカル文書を検索
- 03開発用にパッケージやリポジトリ資料を索引化
MCP 対応
stdioまたはStreamable HTTPで、MCPクライアントにドキュメント検索を提供します。クライアントはサーバーのエンドポイントに接続して、索引化済みの資料を検索できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Grounded Docs MCP サーバー
Grounded Docs は、使用するライブラリのバージョンに合ったドキュメントインデックスを AI コーディングアシスタントに提供します。ウェブサイト、GitHub リポジトリ、npm、PyPI、ローカルフォルダーからドキュメントを取得し、Model Context Protocol(MCP)、コマンドライン、ウェブ UI を通じて検索を提供します。アシスタントは記憶に頼るのではなく、これらのドキュメントに基づいて回答します。
Context7、Nia、Ref.Tools に代わるオープンソースの選択肢です。

機能
- ウェブサイト、GitHub リポジトリ、npm および PyPI パッケージ、ローカルフォルダー、アーカイブ(ZIP、TAR)をインデックス化します。
- HTML、Markdown、PDF、Office および OpenDocument ファイル、EPUB、Jupyter ノートブック、ソースコードなどを読み取ります。対応フォーマットを参照してください。
- ライブラリの各バージョンを個別に保存するため、プロジェクトで使用するバージョンを対象に検索できます。
- 全文検索に加え、OpenAI、Ollama、Gemini、Vertex AI、AWS Bedrock、Azure OpenAI、または OpenAI 互換サーバーを通じた任意のベクトル検索を組み合わせます。
- お使いのマシンで動作し、インデックスをローカルの SQLite データベースに保持します。ドキュメントのテキストは、設定した埋め込みプロバイダーにのみ送信されます。Ollama などのローカルプロバイダーを使う場合は、マシンから送信されません。使用状況のテレメトリーはデフォルトで有効です。テレメトリーでは、送信内容と無効にする方法を説明しています。
- stdio または Streamable HTTP を介して、あらゆる MCP クライアントで動作します。
クイックスタート
Node.js 22 以降、または Docker が必要です。インストールでは、Docker Compose や AI クライアント内でサーバーを実行する方法も含め、両方の手順を詳しく説明しています。
1. サーバーを起動する
npx @arabold/docs-mcp-server@latest
または Docker を使う場合:
docker run --rm \
-v docs-mcp-data:/data \
-v docs-mcp-config:/config \
-p 6280:6280 \
ghcr.io/arabold/docs-mcp-server:latest
2. ベクトル検索を有効にする(任意)
埋め込みモデルがない場合、検索には全文一致が使用されます。ベクトル検索では、意味に基づいて文章を見つけることもできます。OpenAI を使うには、OPENAI_API_KEY を設定してサーバーを起動します。
OPENAI_API_KEY="sk-proj-..." npx @arabold/docs-mcp-server@latest
Docker の場合は、-e OPENAI_API_KEY="sk-proj-..." を追加します。埋め込みモデルでは、Ollama、Gemini、Azure OpenAI などのプロバイダーについて説明しています。
ドキュメントを追加する前に、この設定を行ってください。埋め込みはページのインデックス化時に計算されるため、モデルなしでインデックス化したドキュメントにはベクトルが作成されません。--replace を指定して再度スクレイピングする必要があります。
3. ドキュメントを追加する
http://localhost:6280 でウェブ UI を開き、ライブラリを追加を選択します。
4. AI クライアントを接続する
サーバーの MCP エンドポイント http://localhost:6280/mcp をクライアントに追加します。ほとんどのクライアントでは、次のようなエントリーを使用できます。
{
"mcpServers": {
"docs-mcp-server": {
"url": "http://localhost:6280/mcp"
}
}
}
MCP クライアントの接続には、Claude Code、Claude Desktop、Zed などのクライアントでの正確な設定、stdio を介してクライアント自身がサーバーを起動する方法、MCP ツールの一覧が記載されています。
コマンドライン
CLI を使うと、サーバーを起動せずにインデックス化や検索を実行できます。スクリプトやコーディングエージェントに適しています。同じマシン上のサーバーとデータベースを共有します。
# Index documentation
npx @arabold/docs-mcp-server@latest scrape react https://react.dev/reference/react
# Search it
npx @arabold/docs-mcp-server@latest search react "useEffect cleanup" --output yaml
# Fetch one page as Markdown without indexing it
npx @arabold/docs-mcp-server@latest fetch-url https://react.dev/reference/react/useEffect
scrape は、すでに存在するライブラリのバージョンを拒否します。再構築するには --replace を渡すか、refresh を実行してその場で更新してください。skills/ ディレクトリには、コーディングエージェントにこれらのコマンドを使わせる Agent Skills があります。基本的な使い方では、すべてのコマンド、出力形式、ローカルファイルについて説明しています。
Web Scraping
- ウェブサイトをクロールする前に、スクレイピングまたは更新処理では、開始 URL のディレクトリとサイトのルートで
llms.txtファイルを検索します。そこに記載されたリンクは追加の開始地点となり、それらのページでは、スクレイパーはまず/guide/index.html.mdや/page.html.mdのような URL の Markdown 版を試します。 - リクエストでは、ブラウザーと同様にまず HTML を要求します。サーバーがリクエストに応じて変換する Markdown には、サイトのナビゲーションが含まれないため、クロールではほとんどのページを見落とします。サイトで公開されている Markdown は、
llms.txtに記載されたページと.mdファイルへのリンクで使用されます。カスタムのAcceptヘッダーを設定すると、デフォルトのヘッダーが置き換えられます。 https://docs.example.com/#/guideのようなハッシュ URL でルーティングするドキュメントサイトでは、スクレイピング時にハッシュルートを有効にします。ハッシュルートの動作を参照してください。
ドキュメント
セットアップ:
使い方:
- 基本的な使い方:ウェブ UI、CLI、ローカルファイル。
- MCP クライアントの接続:クライアント設定と MCP ツール。
- 対応フォーマット:ファイル形式と、それぞれの処理方法。
- 検索品質のベンチマーク:検索品質の測定。
デプロイ:
- デプロイモード:単一プロセス、または MCP サービスとウェブサービスを分離したワーカー。
- リバースプロキシでのデプロイ:
https://example.com/docsのようなパス配下でサーバーを公開します。 - 認証:OAuth2/OIDC で MCP エンドポイントを保護します。
- セキュリティ:信頼境界と、スクレイパーがアクセスできる範囲の制限。
- テレメトリー:サーバーが送信する使用状況イベントと、無効にする方法。
内部情報:
- アーキテクチャ:コントリビューター向けのシステム設計。
コントリビューション
開発環境のセットアップとガイドラインについては、CONTRIBUTING.mdを参照してください。
ライセンス
このプロジェクトはMITライセンスのもとでライセンスされています。詳細はLICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。