关于 RAG MCP Server(RAGDB)
RAG MCP Server(RAGDB)让 MCP 聊天客户端管理 Markdown 文档并进行 RAG 检索,适合需要基于文档提问的场景。它支持 LibSQL、Qdrant 和 PostgreSQL 存储。
主要功能
- 01Markdown 文档向量化存储
- 02创建、管理索引和文档
- 03问题驱动的 RAG 检索
- 04高级筛选与语义相似搜索
- 05支持 LibSQL、Qdrant 和 PostgreSQL
适用场景
- 01将技术文档批量导入并检索
- 02通过自然语言问题查找文档信息
MCP 相关
作为 MCP 服务,它向兼容客户端提供索引和文档管理、普通搜索、RAG 问答及语义搜索工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
RAG MCP Server(RAGDB)
这是一个 MCP,可通过支持 MCP 的聊天工具管理/搜索 RAGDB。
🤖 关于支持 MCP 的聊天工具和 MCP
- 安装此系统后,即可通过支持 MCP 的聊天工具将文档保存到 RAGDB 并进行向量搜索。
- 只需输入命令,即可通过支持 MCP 的聊天工具管理文档。
- 将 Markdown 格式的文档向量化后保存。
✨ 功能
📚 文档的保存与搜索
- 保存文档:使用 embedding 将 Markdown 文件向量化并保存到 RAGDB
- 通过问题搜索:使用“这项技术该如何使用?”之类的问题进行搜索
- 批量注册 Markdown 文件:可以将脚本 Markdown 文件批量注册到 RAGDB。
💾 3 种数据库选项
- LibSQL:使用本地文件运行,无需 DB 服务。
- Qdrant:支持云端,适用于大量数据。
- PostgreSQL:适用于大量数据(仍在测试中,但已确认可以运行)
🚀 开始使用
前提条件
- 使用 libsql 时,会自动创建 libsql 数据库文件。
- 使用 Pgvector 或 Qdrant 时,需要 DB 服务。(建议使用 Docker 环境。)
- 嵌入提供商的 API 密钥(OpenAI 或 Google)
在 VS Code 和 Claude Desktop 中使用
如果手动安装,请将以下 JSON 代码块添加到 VS Code 的 User Settings (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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。