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 抽象化的能力、以及多种工具实现示例,便于扩展新资源、工具与模板。