mcpField
R
RAG MCP Server(RAGDB)

RAG MCP Server(RAGDB)

ローカル
github.com/musoukunデータベース274 週間前に更新

RAG MCP Server(RAGDB) について

RAG MCP Server(RAGDB)は、MCP対応チャットクライアントからMarkdown文書を管理し、RAG検索できるサービスです。文書に基づく質問応答に使え、LibSQL、Qdrant、PostgreSQLに対応します。

主な機能

  1. 01Markdown文書のベクトル化と保存
  2. 02インデックスと文書の管理
  3. 03質問形式のRAG検索
  4. 04フィルター付き検索と意味的類似検索
  5. 05LibSQL、Qdrant、PostgreSQL対応

活用シーン

  1. 01技術文書を一括登録して検索
  2. 02自然言語の質問で文書情報を探す

MCP 対応

MCPサーバーとして、インデックスや文書の管理、基本検索、RAGによる質問応答、意味的類似検索のツールをクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

プロジェクトの README より

RAG MCP Server(RAGDB)

MCP対応チャットで、RAGDBを管理/検索できるMCPです。

🤖 MCP対応チャットでとMCPについて
  • このシステムをインストールすると、MCP対応チャットで文書をRAGDBに保存・ベクトル検索ができるようになります。
  • コマンドを入力するだけで、MCP対応チャットで文書を管理できます。
  • Markdown形式のドキュメントをベクトル化して保存します。

✨ できること

📚 文書の保存と検索
  • 文書を保存: Markdownファイルをemmbeddingでベクトル化してRAGDBに保存
  • 質問で検索: 「この技術の使い方は?」のような質問で検索
  • Markdownファイル一括登録: スクリプトMarkdownファイルをRAGDBに一括登録できます。
💾 3つのデータベース選択肢
  • LibSQL :ローカルファイルで動作し、DBサーバーを必要としません。
  • Qdrant :クラウド対応で、大量データ対応です。
  • PostgreSQL: 大量データ対応(テスト中ですが動作確認済)

🚀 始め方

前提条件
  • libsqlを利用する場合は、libsqlのデータベースファイルが自動作成されます。
  • PgvectorやQdrantを利用する場合はDBサーバーが必要です。(Docker環境をお勧めします。)
  • 埋め込みプロバイダーのAPIキー(OpenAI または Google)
VS CodeおよびClaude Desktopでの使用

手動インストールの場合、VS CodeのUser Settings (JSON)ファイルに以下のJSONブロックを追加してください。Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力することで設定ファイルを開けます。

そのほかのDBの例は、jsonフォルダのサンプルをご覧ください。 INDEXについてはデフォルトでdocumentsを設定していて、必要に応じて追加してください。

{
    "mcpServers": {
        "rag-server": {
            "command": "node",
            "args": ["your-ragdb-mcp-path/rag-mcp/dist/index.js"],
            "env": {
                "RAG_DATABASE_TYPE": "libsql",
                "RAG_CONNECTION_URL": "file:your-ragdb-mcp-path/rag-mcp/libsql/rag.db",
                "EMBEDDING_PROVIDER": "google",
                "EMBEDDING_MODEL": "text-embedding-004",
                "EMBEDDING_API_KEY": "your-google-api-key",
                "EMBEDDING_DIMENSIONS": "768",
                "RAG_CHUNK_SIZE": "512",
                "RAG_CHUNK_OVERLAP": "50",
                "RAG_TOP_K": "5",
                "RAG_STRATEGY": "markdown",
                "AUTO_CREATE_INDEXES": "documents,technical", 
                "LOG_LEVEL": "info"
            }
        }
    }
}
環境変数の設定
環境変数説明例
RAG_DATABASE_TYPEデータベースタイプlibsql, pgvector, qdrant
RAG_CONNECTION_URLデータベース接続URL./database.db (LibSQL), postgresql://... (PostgreSQL)
RAG_QDRANT_URLQdrant接続URL(Qdrant使用時)http://localhost:6333
EMBEDDING_PROVIDER埋め込みプロバイダーopenai, google
EMBEDDING_MODEL埋め込みモデルtext-embedding-3-small, text-embedding-gecko@003
EMBEDDING_API_KEYAPIキーOpenAIまたはGoogleのAPIキー
RAG_CHUNK_SIZEチャンクサイズ(オプション)512
RAG_CHUNK_OVERLAPチャンクオーバーラップ(オプション)50
RAG_TOP_K検索結果数(オプション)5
利用可能なツール
ツール名説明パラメータ
create_indexインデックスを作成indexName: インデックス名, dimension?: ベクター次元数
delete_indexインデックスを削除indexName: インデックス名
list_indexesインデックス一覧を表示なし
add_documentMarkdownドキュメントを追加content: 文書内容, metadata?: メタデータ, chunkingOptions?: チャンキング設定
update_documentドキュメントを更新documentId: ドキュメントID, content?: 新しい内容, metadata?: メタデータ
delete_documentドキュメントを削除documentId: ドキュメントID, indexName?: インデックス名
search_documents基本的なドキュメント検索query: 検索クエリ, indexName?: インデックス名, options?: 検索オプション
rag_search質問応答形式のRAG検索question: 質問, indexName?: インデックス名, options?: 検索オプション
advanced_rag_searchフィルター機能付き高度検索query: 検索クエリ, filters?: メタデータフィルター, searchOptions?: 検索設定
semantic_similarity_searchセマンティック類似検索referenceText: 参照テキスト, indexName?: インデックス名, options?: 検索オプション
list_documentsドキュメント一覧を表示indexName?: インデックス名, limit?: 取得数, offset?: 開始位置, filter?: フィルター
get_rag_infoRAGシステム情報を表示なし
基本的な使用例
  1. インデックス作成:

    create_index indexName="my-docs"
    
  2. ドキュメント追加:

    add_document content="# プロジェクト概要\n\nこのプロジェクトは..." metadata={"title": "プロジェクト概要", "category": "技術文書"}
    
  3. 質問で検索:

    rag_search question="このプロジェクトの目的は何ですか?"
    
  4. ドキュメント一覧表示:

    list_documents limit=10
    

📄 ライセンス

自由に使用・改変・商用利用可能です。 MCPを通常使用する場合、商用利用は可能ですが

ただしRAGDBとのやり取りや処理は、mastraのライブラリを利用して実装しています。

mastraはElastic License 2.0のため、例えばMastraのPlayground部分をそのままSaasサービスとして 提供したりすることできないので注意してください。

詳しくは以下もご覧ください。 https://mastra.ai/ja/docs/faq#elastic-license-20-elv2

🤝 改善提案・バグ報告

不具合を見つけた方、改善アイデアをお持ちの方は、GitHubのIssuesまでお知らせください。


🎉 MCP対応チャットでがあなた専用の文書検索アシスタントになります!

コメント

MCP は初めてですか?

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

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