Swarm Tools MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Swarm Tools 提供一个 MCP 服务器实现,用于把 Swarm 的核心能力通过 MCP 协议对接到 LLM 客户端。服务器端会注册一系列工具(Tools),并通过标准的 JSON-RPC 请求-响应模型处理来自客户端的调用请求;同时也提供资源、提示等的注册和管理能力。核心传输采用标准的 Stdio 形式,方便本地集成与嵌入式场景。
-
主要功能点
- 工具注册与执行:将 Swarm 的命令/任务工具对外暴露,LLM 客户端可以通过 MCP 调用工具。
- 资源与模板管理:提供对资源、资源模板、Prompts 的注册与获取能力,便于 LLM 上下文服务。
- 兼容多种交互场景:通过 MCP 的能力声明,支持客户端在不同场景中请求工具执行与数据访问。
- 安全性与扩展性:使用统一的服务接口,便于后续扩展能力、权限控制和多进程通信。
- 与 Swarm 的集成:核心工具定义来自 SWARM_TOOLS,工具执行实际调用 swarm CLI。
-
安装步骤
- 安装环境:本项目依赖 Bun 与 Node 生态,确保安装 Bun 并具备 Bun 环境。
- 获取代码:将仓库下载或克隆到本地。
- 依赖准备:在包含 MP 相关代码的仓库根目录执行安装(如 bun install),确保依赖就绪。
- 运行 MCP 服务器:直接运行 Swarm Tools 提供的 MCP 服务器入口脚本(bin/mcp-server.ts),脚本自带 shebang,可直接执行(需要有执行权限与 Bun 环境)。
- 环境要求:Swarm CLI 需要可用且在 PATH 中可访问,服务器通过 swarm CLI 实现工具执行。
-
服务器配置(给 MCP 客户端的连接信息,配置用于 MCP 客户端启动服务器的命令与参数) 说明:MCP 客户端需要一个配置来启动并连接到该 MCP 服务器。配置格式为 JSON,包含服务器名称、启动命令及参数等信息。以下信息基于仓库中的实现给出,实际使用时请按自己环境调整路径与执行方式。
{ "serverName": "swarm-tools-mcp", "command": "bun", "args": ["run", "packages/swarm-tools/bin/mcp-server.ts"] }
说明:
- serverName:为 MCP 客户端识别的服务器名称,应与服务器端实现中的名称保持一致或可识别性强。
- command 与 args:客户端通过该命令及参数启动服务器进程。该服务器使用 stdio 作为传输,启动后客户端通过标准输入/输出进行 JSON-RPC 的请求和响应。
- 环境与路径:确保运行环境具备 Bun、Swarm CLI、以及仓库中对应的脚本路径。Swarm CLI 需要在系统中可执行并且可被服务器调用。
- 客户端不需要该配置的实现细节,仅需要知道 serverName、启动命令以及 args 即可与 MCP 服务器建立连接。
-
基本使用方法
- 启动服务器:在具备运行环境的终端执行上述配置对应的命令,服务器启动后进入等待状态,准备接收 MCP 客户端的请求。
- 客户端通过 MCP JSON-RPC 调用工具执行、资源读取、Prompts 获取等能力;服务器处理请求并返回 JSON-RPC 响应。
- 运行时注意事项:确保 swarm CLI 已安装并在 PATH;MCP 客户端与服务器的通信基于 stdio,确保双方进程正确建立并维持连接。
-
其他注意
- 了解 SWARM_TOOLS 提供的工具集合及其输入输出定义,有助于正确使用 MCP 调用。
- 服务器实现包括对工具输入的 JSON Schema 映射(通过 Zod 生成),确保调用参数符合定义。