@sanderkooger/mcp-server-ragdocs

by sanderkooger
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Used for code coverage reporting for the project, but not as a service the MCP integrates with functionally.

  • Mentioned in workflow badges and repository URLs, but not as a direct integration for the MCP server's functionality.

  • Provides local embeddings generation using Ollama's nomic-embed-text model as an alternative to cloud-based embedding services.

MCP サーバー ragdocs

ベクトル検索を通じてドキュメントを取得および処理するためのツールを提供する MCP サーバー実装。これにより、AI アシスタントは関連するドキュメント コンテキストを使用して応答を拡張できます。

目次

使用法

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 }

環境変数リファレンス

変数必須デフォルト備考
EMBEDDINGS_PROVIDER全てollama「オペナイ」または「オラマ」
OPENAI_API_KEYオープンAI-OpenAIダッシュボードから入手
OLLAMA_BASE_URLオラマhttp://localhost:11434ローカル Ollama サーバー URL
QDRANT_URL全てhttp://localhost:6333QdrantエンドポイントURL
QDRANT_API_KEYクラウド・クドラント-Qdrant Cloudコンソールから

ローカル展開

リポジトリには、ローカル開発用の Docker Compose 構成が含まれています。

Docker Compose ダウンロード

docker compose up -d

これは次のように始まります:

  • ポート6333上のQdrantベクターデータベース
  • ポート11434のOllama LLMサービス

アクセスエンドポイント:

クラウド展開

実稼働環境への展開の場合:

  1. ホストされたQdrant Cloudサービスを使用する
  2. 次の環境変数を設定します。
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を使用する

  1. Ollamaをインストールします。
curl -fsSL https://ollama.com/install.sh | sh
  1. nomic-embed-text モデルをダウンロードします。
ollama pull nomic-embed-text
  1. インストールを確認します:
ollama list

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

貢献

貢献を歓迎します!詳しいガイドラインについてはCONTRIBUTING.mdをご覧ください。基本的な内容は以下のとおりです。

  1. リポジトリをフォークする
  2. 依存関係をインストール: npm install
  3. 機能ブランチを作成する: git checkout -b feat/your-feature
  4. Conventional Commitsに準拠していることを確認するために、npm run commit で変更をコミットします。
  5. フォークにプッシュしてPRを開く

Forkception 謝辞

このプロジェクトは、 hannesrudolph/mcp-ragdocsのフォークに基づいています。hannesrudolph/mcp-ragdocs 自体は、 qpd-v/mcp-ragdocsによるオリジナルの成果物からフォークされたものです。この実装の基盤は、元のプロジェクトから提供されました。

-
security - not tested
A
license - permissive license
-
quality - not tested

ベクトル検索を通じてドキュメントを取得および処理するためのツールを提供する MCP サーバー実装。これにより、AI アシスタントは関連するドキュメント コンテキストを使用して応答を拡張できます。

Ollama または OpenAI を使用して埋め込みを生成します。

Dockerファイルが含まれています

  1. Table of Contents
    1. Usage
      1. Features
        1. Configuration
          1. Usage with Claude Desktop
          2. OpenAI Configuration
          3. Ollama Configuration
          4. Ollama run from this codebase
        2. Environment Variables Reference
          1. Local Deployment
          2. Cloud Deployment
        3. Tools
          1. search_documentation
          2. list_sources
          3. extract_urls
          4. remove_documentation
          5. list_queue
          6. run_queue
          7. clear_queue
        4. Project Structure
          1. Using Ollama Embeddings without docker
            1. License
              1. Contributing
                1. Forkception Acknowledgments
                  ID: g4jkr5rjt5