arabold/docs-mcp-server
Grounded Docs MCP Server: Open-Source Alternative to Context7, Nia, and Ref.Tools
Grounded Docs MCP Server – 概要
Grounded Docs MCP Serverは、ローカルでバージョンを認識するドキュメントインデックスを構築し、多くのLLM搭載IDE拡張機能で使用されているMCP (Message Control Protocol) を介してAIコーディングアシスタント(Claude、Copilot、Geminiなど)に公開できるオープンソースツールです。Webサイト、GitHubリポジトリ、npm / PyPIパッケージ、zipアーカイブ、またはローカルフォルダから公式ドキュメントを取得することで、モデルに信頼できる情報源を提供し、ハルシネーションを低減します。
仕組み
- スクレイピング / インジェスト – CLI(またはDockerコンテナ)がURLやローカルパスからドキュメントを取得し、幅広い形式(PDF、Word、HTML、Markdown、Jupyter notebooks、90以上のソースコード言語など)を解析して、抽出したテキストをローカルデータストアに保存します。
- オプションの埋め込み – OpenAI、Ollama、Gemini、AzureなどのAPIキーを提供すると、サーバーがページに対してベクトル埋め込みを作成し、セマンティック検索を可能にします。
- サーバー機能 – 常時実行されるHTTPサーバー (
http://localhost:6280) が2つのインターフェースを公開します:- インデックスの閲覧と管理を行うWeb UI
- LLMベースのIDEプラグインが
search、fetch-url、またはscrapeドキュメントを呼び出すためのMCPエンドポイント (/mcp)
- クライアント側 – MCP URLで構成されたエージェントは、「React 18で
useEffectのクリーンアップはどのように機能するか?」といった質問ができ、サーバーはバージョンが一致するドキュメントから正確なスニペットを返します。
主な機能 (READMEより)
| 機能 | メリット |
|---|---|
| 最新かつバージョン固有のドキュメント | 特定のライブラリバージョン(例: react@18.2.0)を指定すると、その正確なリリースのみがインデックス化されます。 |
| 幅広い形式のサポート | PDF、Officeファイル、EPUB、Jupyter notebooks、アーカイブ、90以上のプログラミング言語を標準でサポート。 |
| プライベートかつローカル | マシンまたは独自のDockerホスト上で実行されるため、コードやドキュメントがネットワーク外に出ることはありません。 |
| MCP互換性 | Claude Desktop、Cline、VS Code拡張機能、Copilot、Gemini CLIなど、あらゆる「MCP互換」クライアントで動作します。 |
| CLIファーストのワークフロー | npx @arabold/docs-mcp-server@latest scrape … でインデックスを追加、search … でクエリ、fetch-url … で生のmarkdownを取得。 |
| 埋め込み強化検索 (オプション) | OpenAI、Ollama、Gemini、Azureなどを接続して、単純なキーワードマッチングではなくセマンティックベクトル検索を実現。 |
| Dockerイメージ | docker run … ghcr.io/arabold/docs-mcp-server:latest の1行で分離されたデプロイが可能。 |
| エージェントスキル | LLMエージェントにCLIの呼び出し方を教える、事前作成済みの Agent Skills (agentskills.io)。 |
| セキュリティと認証 | OAuth2/OIDCおよびその他の強化オプションをサポート(ドキュメントを参照)。 |
想定される用途
| ユースケース | Grounded Docsの利点 |
|---|---|
| LLM搭載IDE拡張機能 (Claude、Copilotなど) | バージョンが一致する保証された情報源をモデルに提供し、ハルシネーションによるAPI回答を削減。 |
| CI/CDパイプライン / ボット | 特定の依存関係バージョンに対する正確なドキュメントを参照する必要がある場合。 |
| セルフホスト型AIアシスタント | プライバシー上の理由でオフラインを維持する必要がある場合。 |
| 社内ライブラリを持つチーム | プライベートリポジトリやzipアーカイブをスクレイパーに指定し、それらのドキュメントをLLMに公開可能。 |
はじめに (クイックリキャップ)
- インストール –
npx @arabold/docs-mcp-server@latest(Node 22+) または Dockerイメージを実行。 - ドキュメントの追加 –
scrape react https://react.dev/reference/react(上書きには--replace、SPAサイトには--preserve-hashesを追加)。 - 検索 –
search react "useEffect cleanup" --output yaml。 - サーバーの実行 –
npx @arabold/docs-mcp-server@latestを実行し、http://localhost:6280を開く。 - AIクライアントの接続 – クライアントの設定にMCP URLを追加(READMEにJSON例あり)。
詳細情報
- インストールガイド –
docs/setup/installation.md - クライアントの接続 –
docs/guides/mcp-clients.md - 埋め込みモデルの設定 –
docs/guides/embedding-models.md - サポートされている形式 –
docs/concepts/supported-formats.md - アーキテクチャとセキュリティ –
ARCHITECTURE.md,docs/infrastructure/*
ライセンス
MIT – 自由に使用、変更、再配布が可能。
上記の内容はすべてリポジトリのREADMEから直接引用したものであり、追加の仮定は行っていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト