RAG MCP Server(RAGDB)
About
MCP対応のRAGシステム。Markdownドキュメントをベクトル化し、自然言語で高速検索。LibSQL、Qdrant、PostgreSQLに対応してます。
Details
- Author
- musoukun
- Downloads
- 303
- Categories
- Database
Jump to
- Save Markdown documents as vector embeddings in RAGDB.
- Search documents using natural language questions or semantic similarity.
- Choose from three databases: LibSQL (local), Qdrant (cloud), or PostgreSQL.
- Batch register multiple Markdown files at once.
- Supports OpenAI and Google embedding models.
- Configurable chunk size, overlap, and number of search results.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
RAG MCP Server(RAGDB)Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install by adding a JSON configuration block to your MCP client settings (e.g., VS Code User Settings JSON or Claude Desktop). Set required environment variables for the database type, connection URL, embedding provider, and API key. Then invoke tools such as create_index, add_document, search_documents, or rag_search directly from the chat interface.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"rag mcp server\uff08ragdb)": {
"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"
}
}
}
}
}
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 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システム情報を表示 | なし |
基本的な使用例
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対応チャットでがあなた専用の文書検索アシスタントになります!
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



