Modular RAG MCP Server

使用说明(Markdown 摘要):

  • 项目简介

    • Modular RAG MCP Server 是一个为大模型/AI 应用设计的后端服务框架,聚焦提供可管理的资源、可调用的工具、以及可渲染的 Prompt 模板,帮助 AI 客户端在对话中获取实时上下文与能力。
  • 主要功能点

    • MCP 协议集成:标准化接口,客户端通过 JSON-RPC 与服务器交互,注册与执行工具、读取资源、获取 Prompts 等能力。
    • 资源管理与数据访问:统一管理检索与知识库资源,支持文档、嵌入、向量存储等数据源。
    • 工具注册与执行:将检索、问答、推理等流程封装为工具,LLM 客户端可按需调用。
    • 提示模板渲染:支持基于上下文的 Prompt 模板渲染与自定义交互模式。
    • 可观测性与监控:结构化日志、追踪与评估指标集成,便于调试与性能分析。
    • 多传输协议扩展:设计目标支持 Stdin/Stdout、Server-Sent Events、WebSocket 等传输模式,提升集成灵活性。
    • 会话与能力声明:服务器端会话管理与能力声明,确保安全、可扩展的上下文服务。
  • 安装步骤

    • 克隆仓库并在虚拟环境中安装依赖(requirements.txt 中列出所需包)。
    • 配置环境与依赖项(如向量存储、嵌入模型、LLM 提供方等相关设置)。
    • 启动服务:运行入口(示例中以 main.py 为入口)以启动 MCP Server。
  • 服务器配置(供 MCP 客户端使用的配置描述)

    • MCP 客户端需要提供服务器启动信息(用于并行化/自动化部署的配置,非客户端代码本身)。
    • 关键字段示例与含义(非代码格式描述,便于理解):
      • server_name:服务器唯一名称,建议与部署环境一致,例如 "modular-rag-mcp-server"。
      • command:启动服务器的命令,通常为 "python"。
      • args:启动命令的参数列表,例如 ["src/main.py", "--config", "config/settings.yaml"],用于加载服务器配置与启动入口。
      • working_directory(可选):服务器工作目录,确保依赖和模块路径正确解析。
      • transport(可选):通信传输方式,如 "stdio"、"sse"、"websocket" 等,用于镜像 MCP 客户端与服务器之间的连接方式。
    • 注:以上字段用于 MCP 客户端对服务器的部署与连接,客户端本身通常只需要了解服务器的启动配置即可,不需要直接修改服务器端代码。
  • 基本使用方法

    • 启动:按照服务器配置启动服务器进程,服务器将对外提供 MCP 的上下文服务入口(资源/工具/ prompts)。
    • 访问与集成:LLM 客户端通过 MCP 协议进行资源读取、工具调用和提示模板获取,服务器应返回标准的 JSON-RPC 响应或通知。
    • 监控与调试:结合日志、追踪与指标体系,监控请求链路、能力声明与各模块性能。
  • 运行与测试建议

    • 参考仓库中的 DEV_SPEC.md 与 README 了解设计理念与部署建议。
    • 使用仓库自带的单元测试覆盖 MCP 协议、工具、向量存储、RAG 流程等关键路径,确保服务器端组件的协作正确。
  • 额外信息

    • 项目结构包含 MCP 服务端核心模块、将资源/工具/ Prompt 抽象化的能力、以及多种工具实现示例,便于扩展新资源、工具与模板。

服务器信息