mcp-rag-search
by guo-yb-123
README.md
# MCP RAG 知识检索服务系统
面向 Claude Code、GitHub Copilot 等 Agent 工具的知识检索基础设施。基于 MCP 协议提供可插拔、可评测的知识服务。
## 快速开始
```bash
pip install -r requirements.txt
# 爬取文档
python main.py crawl
# 分块 + 构建索引
python main.py chunk
python main.py build
# 启动搜索 Demo
python main.py demo
# 启动 MCP 服务(供外部 Agent 调用)
python app/mcp_server.py
```
## 架构
```
用户查询 → BM25召回 + Dense召回 → RRF融合 → Reranker精排 → Top-K结果
```
## 技术栈
- **检索**: BM25 + BGE-Small Embedding + Milvus Lite
- **融合**: Reciprocal Rank Fusion (RRF)
- **精排**: BGE-Reranker (LoRA 微调)
- **协议**: MCP 2.0 (stdio / SSE)
- **后端**: FastAPI + Streamlit
## 消融实验结果
| 策略 | MRR@10 | 延迟 |
|------|--------|------|
| BM25 only | 0.91 | 64ms |
| Dense only | 0.93 | 398ms |
| Hybrid (BM25+Dense+RRF) | 0.91 ★ | 57ms |
| Hybrid + Reranker | 0.73 | 4948ms |
## 项目结构
```
├── src/
│ ├── crawler/ # 文档爬虫
│ ├── indexing/ # 分块 + BM25 + Milvus
│ ├── retrieval/ # RRF融合 + Reranker
│ ├── eval/ # 消融实验 + 评测指标
│ └── finetune/ # LoRA微调
├── app/
│ ├── api.py # FastAPI 接口
│ ├── demo.py # Streamlit Demo
│ └── mcp_server.py # MCP 知识服务
└── data/
└── eval/ # 评测集
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues