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 助手场景。

服务器信息