DlightRAG MCP Server
使用说明(以帮助开发者快速理解与上手为目标,包含必要的安装与配置步骤):
-
项目简介
- DlightRAG 的 MCP 服务器实现,提供对 MCP 客户端的标准化接口,允许远程读取资源、执行工具、获取并渲染提示模板等功能,适用于将 LLM 客户端接入后端上下文服务的场景。
- 实现核心:通过 MCP 的 JSON-RPC 形式接收请求,返回 JSON-RPC 响应或通知;内部通过 RAGServiceManager 与 MCP 客户端协作,支持多工作区隔离与跨工作区聚合。
-
主要功能点
- MCP 核心能力暴露:retrieve、ingest、answer、list_workspaces、list_files、delete_files 等工具,遵循 MCP 请求/响应的格式与约定。
- 服务器实现与工作流:基于 Python 实现的 MCP Server,具备 stdio 和 streamable-http 两种传输模式,方便在不同环境下接入。
- 与现有后端的集成:与 RAG 服务管理器(RAGServiceManager)和统一/传统的 ingestion、retrieval 引擎协同工作,支持多工作区隔离与跨工作区联邦检索。
- 端到端的安全与扩展性:提供 Bearer Token 认证支撑(通过 MCP 服务端配置实现),并通过可扩展的工具、资源、Prompts 管线支持自定义扩展。
-
安装步骤
- 安装与依赖
- 通过常规 Python 包管理工具安装所需依赖(仓库内已有代码,按项目说明进行安装即可)。
- 启动 MCP 服务器
- 运行方式基于仓库提供的入口脚本,支持 stdio 与 streamable-http 两种传输模式。
- 启动示例(参考仓库中的 README 配置与入口设计,实际执行请按环境安裝和脚本位置执行):
- 通过环境变量/.env 文件配置运行所需参数(包括服务器名称、端口、以及鉴权等)。
- 使用 dlightrag-mcp 作为入口启动服务,或按项目文档的方式使用 uvx/uv 工具运行。
- 配置示例(MCP 客户端无需实现,仅用于 MCP 服务端对接方理解配置)
- MCP 客户端接入需要的官方配置示例(JSON,描述 server name、command、args 等信息)如下: { "mcpServers": { "dlightrag": { "command": "uvx", "args": ["dlightrag-mcp", "--env-file", "/absolute/path/to/.env"] } } }
- 安装与依赖
-
服务器配置
- MCP 服务器(本仓库实现)提供了统一的初始化与对外暴露的工具集合。MCP 客户端在配置中应至少包含:
- server 名称:示例中为 dlightrag
- 启动命令及参数:dlightrag-mcp 与必要的环境变量配置文件
- 说明:MCP 客户端通常仅需要对接服务器地址与暴露的工具,具体参数与工作区等信息由 MCP 客户端通过 JSON-RPC 请求传递给服务器。
- MCP 服务器(本仓库实现)提供了统一的初始化与对外暴露的工具集合。MCP 客户端在配置中应至少包含:
-
基本使用方法
- 启动后,客户端可以通过 MCP 协议向服务器发起 retrieve/ingest/answer 等请求,服务器根据请求路由到相应的 RAG 服务与引擎,返回标准的 JSON-RPC 响应或通知。
- 如需对接跨工作区的查询,可以通过配置工作区列表并使用 federation 相关能力实现跨工作区检索与聚合。
-
备注
- MCP 服务器是为 MCP 客户端提供的后端服务,需确保在生产环境中正确配置认证、工作区、存储后端等,以避免跨工作区的数据混用与权限问题。