omni rag mcp
一个通用的RAG MCP插件,用于对任何文件目录进行令牌高效的语义搜索。在首次搜索时自动摄取当前工作目录,并提供混合搜索(BM25+语义)、目录概述、结构分析和依赖关系图。
默认情况下为零配置:本地Qdrant存储,ONNX嵌入,不需要外部服务。通过可插拔的提取器支持代码、markdown、PDF、CSV等。
快速开始
pip install omni-rag-mcp
omni-rag-setup就是这样。重新启动Claude Code,插件会在第一次搜索时自动索引您的工作目录。
运作原理
Your Files -> Extractors -> Chunking -> Embedding -> Qdrant (local)
|
Claude Code -> MCP Tool Call -> Hybrid Search -> Relevant Snippets- 首次搜索 自动摄取您的工作目录(提取内容、块、生成嵌入、存储在本地Qdrant中)
- 后续搜索 是快速混合查找(BM25+语义)——不需要重新摄取
- 增量更新 检测git更改,只重新嵌入修改过的文件
MCP工具
| 工具 | 目的 |
|---|---|
search | 在索引文件上进行混合搜索(必要时自动摄取) |
search_by_file | 按文件路径模式筛选的搜索 |
get_context | 压缩目录概述(语言、结构、依赖关系) |
get_file_signatures | 不读取每个文件的函数/类签名 |
get_dependency_graph | 内部导入/依赖关系图 |
stats | 索引大小和配置 |
ingest | 手动重新索引(默认情况下为增量, force=True 完整) |
check_status | 指数是最新的吗?是否有任何未提交的更改? |
嵌入提供商
默认情况下为零配置。选择您的提供商:
| 提供者 | 配置 | 注释 |
|---|---|---|
| 开放神经网络交换 (默认) | 无需 | 自动下载所有MiniLM-L6-v2(23MB,384 dim) |
| 奥拉玛 | OMNI_RAG_EMBEDDING_PROVIDER=ollama | 需要Ollama拉着模型跑步 |
| 开放人工智能 | OMNI_RAG_EMBEDDING_PROVIDER=openai + OMNI_RAG_OPENAI_API_KEY=sk-... | text-embedding-3-small |
| 航行 | OMNI_RAG_EMBEDDING_PROVIDER=voyage + OMNI_RAG_VOYAGE_API_KEY=... | 航行代码-3(针对代码进行了优化) |
任选附件
pip install omni-rag-mcp[pdf] # PDF extraction (PyMuPDF)
pip install omni-rag-mcp[docx] # Word document extraction
pip install omni-rag-mcp[image] # Image/OCR extraction (Tesseract + Pillow)
pip install omni-rag-mcp[all] # All optional extractors存储
默认情况下,在本地/磁盘模式下使用Qdrant——不需要Docker。数据存储在 .omni-rag/ 在您的项目目录下。
对于远程Qdrant:
OMNI_RAG_QDRANT_MODE=remote
OMNI_RAG_QDRANT_HOST=your-host
OMNI_RAG_QDRANT_PORT=6333配置
所有设置均通过环境变量进行 OMNI_RAG_ 前缀。看 config/.env.example 以获取完整参考。
遗产 RAG_ 前缀变量仍然支持弃用警告。
发展
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
python -m pytest tests/ -v
# Health check
python scripts/health_check.py手动MCP注册
如果 omni-rag-setup 如果不起作用,请将此添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"omni-rag": {
"command": "omni-rag"
}
}
}