Loom MCP Server
使用说明
- 项目简介
- Loom 提供一个基于 Model Context Protocol (MCP) 的服务端实现,用于向 LLM 客户端提供标准化的上下文信息和功能能力。核心包括资源管理(Resources)、工具注册与执行(Tools)、以及提示模板(Prompts)的渲染与管理,并通过 JSON-RPC 与客户端进行通信。服务器端负责会话管理、能力声明,并支持多种传输协议(如标准输出/输入、SSE、WebSocket 等)。
- 主要功能点
- 资源管理:提供对资源的创建、读取、绑定、查询等能力,支持多资源源的整合与权限控制。
- 工具注册与执行:允许注册可供 LLM 调用的工具,并在需要时执行工具,返回结果并可追踪执行状态。
- 提示模板定义与渲染:支持为不同任务定义并渲染多段提示内容,确保与模型的交互具备可控性和可扩展性。
- JSON-RPC 通信:通过标准的 JSON-RPC 协议与 MCP 客户端通信,接收请求并返回响应。
- 会话管理与能力声明:维护会话状态、能力集合,并对外暴露服务器能力以供客户端探测。
- 传输协议扩展:设计支持多种传输层,确保在不同运行环境中都能稳定工作(如 StdIO、SSE、WebSocket 等)。
- 安装与运行
- 系统要求:Python 3.11+(仓库使用 Python 实现,需满足相关依赖)。
- 获取源代码:从 GitHub 克隆仓库后进入项目根目录。
- 安装依赖:在虚拟环境中执行 pip install -e "." 完成本地安装。
- 启动 MCP 服务器(示例命令,实际可根据你的运行环境调整):
- 通过 Loom 的命令行启动 MCP 服务器:uv run loom mcp-serve
- 这会启动一个 MCP 服务实例,按照仓库实现提供的传输通道与 MCP API 约定对外暴露。
- 运行测试与验证:仓库中包含大量测试用例,可通过 pytest 运行以验证 MCP 服务端功能的完整性和健壮性。
- 服务器配置(给 MCP 客户端的连接信息,JSON 格式,客户端不需要代码)
- server_name: loom-mcp
- command: uv
- args: ["run", "loom", "mcp-serve"]
- 说明:以上信息用于 MCP 客户端知晓如何启动并连接到 MCP 服务器。在实际生产环境中,你可以将服务器启动命令写入一个配置中心或部署脚本,客户端将读取该配置信息以建立连接。
- 备注:仓库中也提供了在本地工作区和用户全局目录中维护 MCP 服务器配置信息的示例,实际使用时请参照 Loom 文档中的 MCP 配置章节进行组织与注册。
- 基本使用方法(操作流程)
- 启动 MCP 服务器
- 运行命令:uv run loom mcp-serve
- 服务启动后,服务器将对外暴露 MCP API,供 LLM 客户端查询资源、调用工具以及获取 Prompt。
- 注册与管理 MCP 服务器
- 使用工具的管理命令,将远程/本地服务器注册到 MCP 配置中(如 notion、数据库等资源服务器)。
- 服务器启动后,客户端即可通过 MCP 访问工具、读取资源及获取提示模板等能力。
- 客户端使用 MCP 服务
- 客户端通过 JSON-RPC 请求向 MCP 服务器发起读取资源、执行工具、获取 Prompt 等操作,服务器返回标准化的 JSON-RPC 响应。
- 服务器支持会话管理和能力声明,客户端在会话中可动态感知可用的资源与工具。
- 安全与扩展
- 配置中可开启鉴权与多模态资源的访问控制,确保对敏感数据的访问合规。
- 服务端设计为可扩展,便于后续增加新的资源类型、工具组或提示模板。
- 启动 MCP 服务器
- 重要注意事项
- MCP 客户端需要的只是服务器的启动命令与访问端点信息;具体 API 细节与请求格式由 MCP 规范定义,服务器端遵循该规范实现。
- 如需在自定义环境中部署,务必配置正确的网络与权限设置,确保客户端能稳定访问 MCP 服务。