Modular RAG MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Modular RAG MCP ServerWhat is deep learning? Answer with sources."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# Modular RAG MCP Server
可扩展、高可观测的模块化 RAG(检索增强生成)MCP Server。
状态:A-H 8 个阶段全部完成(65 个任务,~1010 个测试,~18350 行代码)。
快速开始
1. 安装依赖
git clone <repo>
cd modular-rag-mcp-server
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/Mac
pip install -e .2. 配置 API Key
编辑 config/settings.yaml:
llm:
provider: minimax
model: MiniMax-M3
api_key: "${MINIMAX_API_KEY}" # 读环境变量
embedding:
provider: minimax
model: embo-01
api_host: https://api.minimax.chat设置环境变量:
# Windows PowerShell
$env:MINIMAX_API_KEY = "sk-cp-xxxxxxxxxx"
# Linux/Mac
export MINIMAX_API_KEY="sk-cp-xxxxxxxxxx"3. 摄取文档
# 单个文件
python scripts/ingest.py --path /path/to/doc.pdf
# 整个目录
python scripts/ingest.py --path /docs/
# 指定 collection
python scripts/ingest.py --path /docs/ --collection mydocs
# 强制重新摄取(忽略 SHA256 缓存)
python scripts/ingest.py --path /docs/ --force4. 查询
# 简单查询
python scripts/query.py --query "什么是深度学习?"
# 指定 Top-K
python scripts/query.py --query "Python 装饰器" --top-k 5
# 限定 collection
python scripts/query.py --query "transformer" --collection mydocs
# 跳过 Reranker(快一点)
python scripts/query.py --query "test" --no-rerank5. 启动 Dashboard
python scripts/start_dashboard.py
# 访问 http://localhost:8501Related MCP server: MCP Knowledge Service
架构说明
项目按职责分 4 层:
A. 工程骨架(A1-A3) — pytest 配置、Settings、目录结构
B. 可插拔层(B1-B16) — LLM/Embedding/Splitter/VectorStore/Reranker 抽象
C. 摄取管线(C1-C15) — PDF → Document → Chunks → 向量 → 存储
D. 检索管线(D1-D7) — Query → D1 解析 → D2/D3 并行 → D4 融合 → D6 重排
E. MCP 工具(E1-E6) — JSON-RPC server + 3 个工具
F. 观测(F1-F5) — TraceContext + JSON Lines 日志
G. Dashboard(G1-G6) — Streamlit 多页面 UI
H. 评估(H1-H5) — Ragas + golden test set + 阈值门控核心设计原则:
每层独立可测(mock 隔离)
失败降级(不影响主流程)
关注点分离(数据 vs 渲染)
依赖注入(测试友好)
MCP 配置示例
GitHub Copilot
在 mcp.json 中:
{
"mcpServers": {
"modular-rag": {
"command": "python",
"args": ["src/mcp_server/server.py"],
"env": {
"MINIMAX_API_KEY": "sk-cp-xxxxxxxxxx"
}
}
}
}Claude Desktop
在 claude_desktop_config.json 中:
{
"mcpServers": {
"modular-rag": {
"command": "python",
"args": ["src/mcp_server/server.py"],
"env": {
"MINIMAX_API_KEY": "sk-cp-xxxxxxxxxx"
}
}
}
}Dashboard 使用
Dashboard 有 6 个页面:
页面 | 功能 |
总览(Overview) | 系统配置卡片 + Collection 统计 |
数据浏览(DataBrowser) | 文档列表 + Chunk 详情 + 图片预览 |
摄取管理(IngestionManager) | 上传文件 + 触发摄取 + 删除文档 |
摄取追踪(IngestionTraces) | F4 trace 历史 + 阶段耗时柱图 |
查询追踪(QueryTraces) | F3 query trace + dense/sparse/rerank 对比 |
评估(EvaluationPanel) | H3 跑评估 + 历史对比 |
运行测试
# 单元测试
pytest -q tests/unit/
# 集成测试
pytest -q tests/integration/
# E2E 测试
pytest -q tests/e2e/
# 全部
pytest -q
# 指定测试
pytest -q tests/unit/test_query_processor.py
pytest -q tests/integration/test_ingestion_pipeline.py故障排查 FAQ
Q: 启动失败 "ModuleNotFoundError"
A: 重新 pip install -e .
Q: API Key 错误
A: 确认环境变量 MINIMAX_API_KEY 已设置,值正确
Q: 摄取无数据
A: 1) 确认 PDF 文件存在;2) 检查 data/documents/ 目录权限
Q: 查询无结果
A: 1) 确认先 ingest.py 摄取数据;2) BM25 索引存在(data/db/bm25/);3) 检查 MINIMAX_API_KEY
Q: Dashboard 启动失败
A: 1) pip install streamlit;2) 检查端口 8501 未占用
Q: 评估结果全 0
A: 1) golden_test_set.json 中的 expected_chunks 跟实际 chunk_id 不匹配;2) 看 data/db/chroma 确认数据存在
License
MIT
Maintenance
Related MCP Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
Agent-driven search: build, import, tune, search, and score result quality — all over MCP.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides RAG-based knowledge retrieval and document management as MCP tools, supporting hybrid search, reranking, and retrieval process visualization.-
- AlicenseNot gradedqualityBmaintenanceProvides hybrid retrieval (dense + BM25 + RRF) with collection-based isolation and document ingestion for private knowledge access via MCP.MIT
- AlicenseNot gradedqualityCmaintenanceEnables document ingestion, semantic search, and retrieval-augmented generation via MCP tools and REST API, using vector embeddings and intelligent chunking.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform retrieval-augmented generation with hybrid search, reranking, multi-modal image processing, and RAG evaluation through standardized MCP tools.MIT