RAG MCP Server for Grounding
使用说明(Markdown 格式)
-
项目简介
- 本仓库实现了一个基于 MCP 协议的后端服务器,用于将 Grounding RAG(检索-嵌入- rerank- 上下文扩展)功能通过 MCP 向 LLM 客户端提供上下文信息与工具调用能力。服务器通过标准的 MCP 连接方式与客户端通信,支持查看、执行检索工具等。
-
主要功能点
- rag_search:对查询进行全量检索,包含嵌入检索、混合检索、reranking 与上下文扩展,输出证据包形式的结果。
- rag_search_quick:快速检索,不执行 reranking,适用于对延迟敏感的场景。
- 通过 FastMCP 提供 MCP 服务器能力,支持 stdio 与 http 传输。
- 与 Grounding 配置和外部服务(Qdrant、Voyage、SPLADE 等)对接,用于完整的向量检索与证据生成流程。
- 提供服务器配置、健康检查与结果转换等辅助能力,便于集成到现有工作流。
-
安装步骤
- 前提:需要安装 uv 包管理器,以及相关 API keys(Voyage、Qdrant)。
- 克隆并安装:
- git clone https://github.com/MattMagg/agentic-rag-sdk.git
- cd agentic-rag-sdk
- uv pip install -e .
- 配置环境变量(示例中需提供以下键值:QDRANT_URL、QDRANT_API_KEY、VOYAGE_API_KEY)。
- 启动 MCP 服务器(示例命令,实际路径请替换为本地路径):
- uv run rag-mcp-server
- 服务器运行后,客户端即可通过 MCP 配置连接并调用 rag_search 等工具。
-
服务器配置(MCP 客户端配置示例,JSON 格式) { "mcpServers": { "rag": { "command": "uv", "args": ["run", "--directory", "/path/to/agentic-rag-sdk", "rag-mcp-server"], "env": { "QDRANT_URL": "https://your-cluster.qdrant.io", "QDRANT_API_KEY": "your-qdrant-key", "VOYAGE_API_KEY": "your-voyage-key" } } } } 说明:
- rag:服务器在 MCP 客户端中的名称标识。
- command、args:启动服务器的命令及参数,且指定工作目录为仓库内 rag-mcp-server 的入口点。
- env:绑定访问外部服务所需的密钥与地址,请替换为实际值。
- 该配置用于与 MCP 客户端建立连接并启动 rag-mcp-server 提供的工具。
-
基本使用方法
- 启动后,客户端可以通过 MCP 调用 rag_search、rag_search_quick 等工具,传入查询字符串、过滤条件、拓展选项等,服务器将返回 Johnny-风格的证据包形式结果以及辅助信息。
- 典型工作流:
- 客户端发送一个检索请求(query)给 rag_search,期望得到包含文本、元数据、分数等信息的结果集合。
- 如需要加速速度,可使用 rag_search_quick;若需要更高质量排序,使用 rag_search。
- 结果可由客户端进一步解析、展示给用户或用于后续推理。
-
运行注意事项
- 需要正确配置 Qdrant、Voyage 的连接信息以及相关环境变量(API Key/URL 等)。
- MCP 服务端实现了核心检索工具暴露,客户端可以通过 MCP 进行请求与接收响应。
-
其他说明
- 该实现基于 Grounding RAG 的检索管线,涉及向量检索、稀疏向量、跨模型嵌入与 rerank 等步骤,适合需要在对话中提供代码/docs 证据的 AI 助手场景。