SlimClaw MCP 服务器实现

使用说明(简明要点,便于快速理解与接入):

  • 项目简介

    • SlimClaw 中的 MCP 服务器实现提供了一个可与 LLM 客户端进行 JSON-RPC 通信的后端服务,核心职责包括资源管理、工具(Tools)注册与执行、以及 Prompt 模板的定义与渲染,支持多组会话和任务调度。
  • 主要功能点

    • 以 MCP 协议暴露如下能力的工具(Tools):
      • 发送消息(send_message)
      • 调度任务(schedule_task)
      • 列出当前任务(list_tasks)
      • 暂停/恢复/取消任务(pause_task、resume_task、cancel_task)
      • 注册新分组(register_group)
    • 通过标准输入输出(stdio)作为传输层,与 MFA/LLM 客户端实现 JSON-RPC 的交互
    • 与容器化执行结合:为每个分组在容器中执行 agent,支持会话、任务上下文、以及实时输出流的处理
    • 支持任务调度、分组元数据同步、以及分组可用性快照等运维能力
  • 安装与运行

    • 该 MCP 服务器核心部分以 Node.js/TypeScript 实现,运行时需具备 Node.js 环境,具体部署通常随 SlimClaw 的容器化运行而定(参见 container/agent-runner 相关脚本)。
    • 运行时通常由 Linux/macOS 的容器运行时和工作目录结构配合完成,服务端脚本可通过 Node 直接启动并通过标准输入输出与客户端通信。
  • 服务器配置(给 MCP 客户端的连接配置示例) 说明:MCP 客户端需要一个用于启动服务器的配置信息,包含服务器名称、启动命令及参数等。下列 JSON 示例字段对应仓库实现的实际运行方式;具体路径请结合实际运行环境调整。

    JSON 示例(字段含义在注释中说明): { "server_name": "slimclaw", "command": "node", "args": ["ipc-mcp-stdio.js"], "transport": "stdio", "version": "1.0.0", "notes": "该配置用于在运行时通过标准输入/输出与 MCP 客户端建立通信。path 指向容器内的 ipc-mcp-stdio.js 脚本(该脚本由 TypeScript 源文件 ipc-mcp-stdio.ts 在构建阶段生成)。" }

    字段说明(非代码形式):

    • server_name: MCP 服务器在客户端侧的标识名称,需与服务器实现中的名称一致(此处为 slimclaw)。
    • command: 启动 MCP 服务器的可执行程序,这里使用 Node.js。
    • args: 启动命令的参数数组,通常包含进入服务器实现的脚本路径,如 ipc-mcp-stdio.js。
    • transport: 传输模式,此实现使用 stdio(标准输入输出)来传输 JSON-RPC 数据。
    • version: MCP 服务器版本号,便于客户端进行能力协商和兼容性检查。
    • notes: 额外说明,帮助客户端理解路径与运行时环境的对应关系。
  • 基本使用方法

    • 客户端使用该 MCP 服务器时,需要在启动配置中指明服务器名称、启动命令和参数,服务器将通过标准 IO 与客户端进行请求/响应的交互。
    • 客户端发送的请求将包含需要执行的资源、工具或 prompts 的上下文信息,服务器解析后调用相应的内部容器/工具,返回执行结果或错误信息。
    • 服务器具备会话管理、分组上下文以及多任务调度能力,适合用于为 LLM 提供一致的上下文和执行能力。
  • 附注

    • 该 MCP 服务端实现与 SlimClaw 的核心业务逻辑深度耦合,实际部署时通常嵌入到容器执行环境中,通过 container/agent-runner 提供的 IPC 及任务调度能力协同工作。

服务器信息