MCP サーバー ragdocs
ベクトル検索を通じてドキュメントを取得および処理するためのツールを提供する MCP サーバー実装。これにより、AI アシスタントは関連するドキュメント コンテキストを使用して応答を拡張できます。
目次
Related MCP server: Rust Docs MCP Server
使用法
RAG ドキュメント ツールは次の目的で設計されています。
関連ドキュメントによるAI応答の強化
ドキュメント認識型AIアシスタントの構築
開発者向けのコンテキスト認識ツールの作成
セマンティックドキュメント検索の実装
既存の知識ベースの拡張
特徴
ベクターベースのドキュメント検索と取得
複数のドキュメントソースのサポート
ローカル(Ollama)埋め込み生成またはOPENAIのサポート
セマンティック検索機能
自動文書処理
LLM のためのリアルタイムコンテキスト拡張
構成
{
"mcpServers": {
"rag-docs": {
"command": "npx",
"args": ["-y", "@sanderkooger/mcp-server-ragdocs"],
"env": {
"EMBEDDINGS_PROVIDER": "ollama",
"QDRANT_URL": "your-qdrant-url",
"QDRANT_API_KEY": "your-qdrant-key" # if applicable
}
}
}
}Claude Desktopでの使用
これをclaude_desktop_config.jsonに追加します:
OpenAIの設定
{
"mcpServers": {
"rag-docs-openai": {
"command": "npx",
"args": ["-y", "@sanderkooger/mcp-server-ragdocs"],
"env": {
"EMBEDDINGS_PROVIDER": "openai",
"OPENAI_API_KEY": "your-openai-key-here",
"QDRANT_URL": "your-qdrant-url",
"QDRANT_API_KEY": "your-qdrant-key"
}
}
}
}Ollama 構成
{
"mcpServers": {
"rag-docs-ollama": {
"command": "npx",
"args": ["-y", "@sanderkooger/mcp-server-ragdocs"],
"env": {
"EMBEDDINGS_PROVIDER": "ollama",
"OLLAMA_BASE_URL": "http://localhost:11434",
"QDRANT_URL": "your-qdrant-url",
"QDRANT_API_KEY": "your-qdrant-key"
}
}
}
}Ollamaはこのコードベースから実行されます
"ragdocs-mcp": {
"command": "node",
"args": [
"/home/sander/code/mcp-server-ragdocs/build/index.js"
],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDINGS_PROVIDER": "ollama",
"OLLAMA_URL": "http://localhost:11434"
},
"alwaysAllow": [
"run_queue",
"list_queue",
"list_sources",
"search_documentation",
"clear_queue",
"remove_documentation",
"extract_urls"
],
"timeout": 3600
}環境変数リファレンス
変数 | 必須 | デフォルト | 備考 |
| 全て |
| 「オペナイ」または「オラマ」 |
| オープンAI | - | OpenAIダッシュボードから入手 |
| オラマ |
| ローカル Ollama サーバー URL |
| 全て |
| QdrantエンドポイントURL |
| クラウド・クドラント | - | Qdrant Cloudコンソールから |
ローカル展開
リポジトリには、ローカル開発用の Docker Compose 構成が含まれています。
docker compose up -dこれは次のように始まります:
ポート6333上のQdrantベクターデータベース
ポート11434のOllama LLMサービス
アクセスエンドポイント:
クアドラント: http://localhost:6333
クラウド展開
実稼働環境への展開の場合:
ホストされたQdrant Cloudサービスを使用する
次の環境変数を設定します。
QDRANT_URL=your-cloud-cluster-url
QDRANT_API_KEY=your-cloud-api-keyツール
検索ドキュメント
自然言語クエリを使用して、保存されたドキュメントを検索します。コンテキストに一致する抜粋を、関連性順に表示します。
入力:
query(文字列): ドキュメント内で検索するテキスト。自然言語クエリ、特定の用語、またはコードスニペットを指定できます。limit(数値, オプション): 返される結果の最大数 (1~20、デフォルト: 5)。上限値を大きくすると、より包括的な結果が得られますが、処理に時間がかかる場合があります。
リストソース
現在システムに保存されているすべてのドキュメントソースを一覧表示します。ソースURL、タイトル、最終更新日時を含む、インデックスに登録されているすべてのドキュメントの包括的なリストを返します。このリストを使用して、検索可能なドキュメントを把握したり、特定のソースがインデックスに登録されているかどうかを確認したりできます。
抽出URL
指定されたウェブページからすべてのURLを抽出し、分析します。このツールは指定されたウェブページをクロールし、すべてのハイパーリンクを識別し、必要に応じて処理キューに追加します。
入力:
url(文字列): 分析対象となるウェブページの完全なURL(プロトコルを含める必要があります(例:https://)。ページは公開されている必要があります)。add_to_queue(ブール値、オプション): true の場合、抽出した URL を後でインデックス作成するために自動的に処理キューに追加します。大規模なサイトでは、過剰なキューイングを避けるため、注意して使用してください。
ドキュメントの削除
特定のドキュメントソースをURLでシステムから削除します。削除は永続的であり、今後の検索結果に影響します。
入力:
urls(string[]): データベースから削除するURLの配列。各URLは、ドキュメントを追加したときに使用したURLと完全に一致する必要があります。
リストキュー
ドキュメント処理キューで現在待機中のすべてのURLを一覧表示します。run_queueが呼び出されたときに処理される、保留中のドキュメントソースを表示します。これを使用して、キューの状態を監視したり、URLが正しく追加されたことを確認したり、処理のバックログを確認したりできます。
実行キュー
ドキュメントキューにあるすべてのURLを処理し、インデックスを作成します。各URLは、適切なエラー処理と再試行ロジックを用いて順次処理されます。処理の進行状況は、処理の進行中に更新されます。長時間実行される操作は、キューが空になるか、回復不可能なエラーが発生するまで処理されます。
クリアキュー
ドキュメント処理キューから保留中のURLをすべて削除します。キューをリセットして最初からやり直したい場合、不要なURLを削除したい場合、または保留中の処理をキャンセルしたい場合は、この操作を使用してください。この操作は即時かつ永続的に実行されます。後で処理したい場合は、URLを再度追加する必要があります。
プロジェクト構造
このパッケージは、コアコンポーネントとMCPプロトコルハンドラーを明確に分離したモジュラーアーキテクチャを採用しています。詳細な構造ドキュメントと設計上の決定事項については、 ARCHITECTURE.mdをご覧ください。
DockerなしでOllama Embeddingsを使用する
Ollamaをインストールします。
curl -fsSL https://ollama.com/install.sh | shnomic-embed-text モデルをダウンロードします。
ollama pull nomic-embed-textインストールを確認します:
ollama listライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
貢献
貢献を歓迎します!詳しいガイドラインについてはCONTRIBUTING.mdをご覧ください。基本的な内容は以下のとおりです。
リポジトリをフォークする
依存関係をインストール:
npm install機能ブランチを作成する:
git checkout -b feat/your-featureConventional Commitsに準拠していることを確認するために、npm run commit で変更をコミットします。
フォークにプッシュしてPRを開く
Forkception 謝辞
このプロジェクトは、 hannesrudolph/mcp-ragdocsのフォークに基づいています。hannesrudolph/mcp-ragdocs 自体は、 qpd-v/mcp-ragdocsによるオリジナルの成果物からフォークされたものです。この実装の基盤は、元のプロジェクトから提供されました。