About RAG MCP Server(RAGDB)
RAG MCP Server(RAGDB) lets MCP chat clients manage Markdown documents and search them with RAG. It suits document-based question answering and supports LibSQL, Qdrant, and PostgreSQL storage.
Key features
- 01Vectorize and store Markdown documents
- 02Create and manage indexes and documents
- 03Question-based RAG retrieval
- 04Advanced filters and semantic similarity search
- 05LibSQL, Qdrant, and PostgreSQL support
Use cases
- 01Import and search technical documents in bulk
- 02Find document information through natural-language questions
MCP support
The MCP server exposes tools for index and document management, basic search, RAG question answering, and semantic search to compatible clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMERAG 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対応チャットでがあなた専用の文書検索アシスタントになります!
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.