lm-deluge MCP 服务器实现
使用说明(Markdown 格式)
-
项目简介 lm-deluge 的 MCP 服务器实现提供一个后端服务,能够托管 Resources、注册 Tools、定义和渲染 Prompt 模板,并通过 JSON-RPC 与 MCP 客户端进行通信。它还包含适配器,将来自 MCP 客户端的请求转换为 LM-Deluge 内部请求,并将 LM-Deluge 的响应转换回 MCP 的格式,以实现跨模型、跨提供商的上下文服务。
-
主要功能点
- MCP 兼容的请求/响应处理:支持将 MCP 的请求转换为 LM-Deluge 的内部请求路径,并把 LM-Deluge 的响应映射回 MCP 规范。
- 资源、工具、提示的托管与渲染:能够管理用于 LLM 的资源、工具和提示模板,提供统一的访问与渲染能力。
- 本地/远程 MCP 加载:支持从本地 MCP 服务器或远程 MCP 服务加载工具(Tools),并在 LM-Deluge 端进行封装和暴露。
- 配置驱动的服务器实例化:通过 JSON 配置快速创建多个 MCP 服务器实例,并支持对命名、Token、Headers 等进行注入和管理。
- 支持多传输协议与安全性:设计上支持 Stdio、SSE、WebSocket 等传输模式,并提供会话管理、能力声明与权限控制机制。
- 适配器与工具导出:提供 server.adapters 与工具导出逻辑,确保不同提供商(如 OpenAI、Anthropic、Gemini 等)能通过 MCP 请求进入 LM-Deluge 流程。
-
安装步骤
- 安装 Python 环境并获取源码依赖。
- 使用 Python 包管理工具安装依赖:pip install -U -r requirements.txt(如存在需求文件)。
- 将代码部署为可执行的 MCP 服务端组件(若仓库提供了 CLI/入口,请使用相应入口启动)。如需快速集成,可以在 Python 运行环境中直接导入 LM-Deluge 的 MCP 模块进行服务实例化。
-
服务器配置(供 MCP 客户端使用,无需客户端实现)
MCP 客户端通常只需知道 MCP 服务器的启动命令及参数,以建立连接。以下为配置示例(JSON 格式,直接可用于创建服务实例): { "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/path/to/directory" ] }, "zapier": { "url": "https://mcp.zapier.com/api/mcp/s/SECRET/mcp" } // 还可以添加更多远程服务或本地服务 } } 注解:- filesystem 表示一个本地/容器内运行的 MCP 服务器实例,通过 npm 包 server-filesystem 暴露文件系统相关工具。
- zapier 表示远程 MCP 服务的接入点,通过公开的 API URL 进行访问。 实际配置可根据部署环境调整,如需要认证、Headers、超时等参数,请参照项目中的相应实现细节。
-
基本使用方法
-
- 先在你的环境中安装依赖,确保 Python 环境可用。
-
- 根据需求配置一个或多个 MCP 服务器实例(如 filesystem、zapier 等),并通过 LM-Deluge 提供的接口将其暴露给 MCP 客户端。
-
- 使用 MCP 客户端(外部系统)连接到 LM-Deluge 的 MCP 服务器,加载 Tools 与 Resources,在 LLM 客户端下通过 Tool 调用 MCP 服务提供的功能,并接收 MCP 返回的数据。
-
- LM-Deluge 将 MCP 请求转换为内部 LM-Deluge 请求后执行,最终将结果重新打包为 MCP 兼容的响应返回给客户端。
-
- 如需进一步定制,可通过 LM-Deluge 的工具与适配器扩展能力,添加新的工具、资源类型或 Prompt 模板。
-
-
具体操作建议
- 使用 config 文件或 API 进行服务器实例化与注册,确保每个 MCP 服务器有唯一名称、访问地址、认证信息等。
- 在客户端集成时,遵循 MCP 协议的 JSON-RPC 调用格式,确保请求参数符合 LM-Deluge 的适配器要求。
- 根据需要选择传输协议,例如在浏览器端使用 WebSocket 进行实时交互,或在本地进程间使用 Stdio 方案。
-
注意事项
- MCP 客户端通常不需要知道服务器内部实现细节,只需通过规范的请求格式与端点进行通信。
- 服务器端应实现会话管理、能力声明以及对多并发请求的容量控制,确保高并发场景下的稳定性。