mcpField
D
Docs MCP Server

Docs MCP Server

ローカル
grounded.toolsメモリ・ナレッジ1.8k3 日前に更新

Docs MCP Server について

Grounded Docs MCP Serverは、コーディングアシスタントや開発者向けに、ウェブサイト、リポジトリ、パッケージ、ローカルファイルのドキュメントをインデックス化します。ライブラリのバージョン別インデックスと、全文検索および任意のベクトル検索で、プロジェクトに合った資料を探せます。

主な機能

  1. 01ウェブサイト、リポジトリ、パッケージ、ファイルの索引化
  2. 02ライブラリのバージョン別インデックス
  3. 03全文検索と任意のベクトル検索
  4. 04Web UI、CLI、MCPクライアントでの利用
  5. 05ローカルSQLiteへのインデックス保存

活用シーン

  1. 01プロジェクトで使う版のドキュメントを確認
  2. 02コーディングエージェントからローカル文書を検索
  3. 03開発用にパッケージやリポジトリ資料を索引化

MCP 対応

stdioまたはStreamable HTTPで、MCPクライアントにドキュメント検索を提供します。クライアントはサーバーのエンドポイントに接続して、索引化済みの資料を検索できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"docs": {
"command": "npx",
"args": [
"-y",
"@arabold/docs-mcp-server"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}
起動コマンドnpx -y @arabold/docs-mcp-server
設定が必要な環境変数
OPENAI_API_KEYシークレット

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

パッケージ
npm@arabold/docs-mcp-server

ツール

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

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

詳細

Grounded Docs MCP サーバー

Grounded Docs は、使用するライブラリのバージョンに合ったドキュメントインデックスを AI コーディングアシスタントに提供します。ウェブサイト、GitHub リポジトリ、npm、PyPI、ローカルフォルダーからドキュメントを取得し、Model Context Protocol(MCP)、コマンドライン、ウェブ UI を通じて検索を提供します。アシスタントは記憶に頼るのではなく、これらのドキュメントに基づいて回答します。

Context7、Nia、Ref.Tools に代わるオープンソースの選択肢です。

Docs MCP サーバーのウェブインターフェース

機能

  • ウェブサイト、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 でルーティングするドキュメントサイトでは、スクレイピング時にハッシュルートを有効にします。ハッシュルートの動作を参照してください。

ドキュメント

セットアップ:

  • インストール:npx、Docker、Docker Compose、組み込みサーバー。
  • 設定:設定ファイル、環境変数、すべての設定項目。
  • 埋め込みモデル:プロバイダー、モデル、モデルの変更方法。

使い方:

デプロイ:

  • デプロイモード:単一プロセス、または MCP サービスとウェブサービスを分離したワーカー。
  • リバースプロキシでのデプロイ:https://example.com/docs のようなパス配下でサーバーを公開します。
  • 認証:OAuth2/OIDC で MCP エンドポイントを保護します。
  • セキュリティ:信頼境界と、スクレイパーがアクセスできる範囲の制限。
  • テレメトリー:サーバーが送信する使用状況イベントと、無効にする方法。

内部情報:

コントリビューション

開発環境のセットアップとガイドラインについては、CONTRIBUTING.mdを参照してください。

ライセンス

このプロジェクトはMITライセンスのもとでライセンスされています。詳細はLICENSEを参照してください。

コメント

MCP は初めてですか?

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

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