RAG MCP Server(RAGDB) について
RAG MCP Server(RAGDB)は、MCP対応チャットクライアントからMarkdown文書を管理し、RAG検索できるサービスです。文書に基づく質問応答に使え、LibSQL、Qdrant、PostgreSQLに対応します。
主な機能
- 01Markdown文書のベクトル化と保存
- 02インデックスと文書の管理
- 03質問形式のRAG検索
- 04フィルター付き検索と意味的類似検索
- 05LibSQL、Qdrant、PostgreSQL対応
活用シーン
- 01技術文書を一括登録して検索
- 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_URL | Qdrant接続URL(Qdrant使用時) | http://localhost:6333 |
EMBEDDING_PROVIDER | 埋め込みプロバイダー | openai, google |
EMBEDDING_MODEL | 埋め込みモデル | text-embedding-3-small, text-embedding-gecko@003 |
EMBEDDING_API_KEY | APIキー | 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_document | Markdownドキュメントを追加 | 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_info | RAGシステム情報を表示 | なし |
基本的な使用例
-
インデックス作成:
create_index indexName="my-docs" -
ドキュメント追加:
add_document content="# プロジェクト概要\n\nこのプロジェクトは..." metadata={"title": "プロジェクト概要", "category": "技術文書"} -
質問で検索:
rag_search question="このプロジェクトの目的は何ですか?" -
ドキュメント一覧表示:
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対応チャットでがあなた専用の文書検索アシスタントになります!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。