Agent Mux MCP服务器实现

使用说明内容(Markdown格式)

  • 项目简介

    • Agent Mux 是一个以 tmux 为基础的代理池,能够把每个交互代理作为独立的 tmux 窗口进行管理和调度,并提供一个小型的 MCP 服务器,将资源、工具和提示模板通过 JSON-RPC 的方式暴露给 LLM 客户端使用。
  • 主要功能点

    • 提供完整的 tmux-based 代理管理:创建/列出/切换/关闭项目(tmux 会话)、创建/列出/附着/中断/结束代理(tmux 窗口)。
    • 通过 MCP 服务器暴露工具方法,允许客户端创建项目、Spawn 代理、发送文本、读取输出等操作。
    • 持续性注册表与日志:将项目、代理信息持久化到本地存储,并为每个代理输出日志文件。
    • 提供一个可运行的 MCP 服务器入口,支持通过标准输入输出(stdio)方式与 MCP 客户端进行 JSON-RPC 通信。
    • 安装与运行依赖 Node.js 18+、tmux 以及可选的代理 CLI(如 claude、codex、gemini)。
  • 安装步骤

    • 确保系统已经安装 Node.js 18 及以上版本、tmux。
    • 在仓库根目录执行 npm install 以安装依赖。
    • 本地运行时,可以使用 Node.js 直接启动 MCP 服务器(详见下一项)。
  • 服务器配置(MCP 客户端需要此信息来连接 MCP 服务器)

    • 说明:MCP 客户端需要知道服务器的启动命令与参数,以建立与 MCP 服务器的连接。以下信息为示例配置,请按实际环境和需求使用。
    • 服务器配置示例(JSON 格式,包含服务器名称、启动命令及参数): { "mcpServers": { "agent-mux": { "command": "node", "args": ["servers/agent-mux-server.mjs"] } } }
    • 注解:上述配置表示客户端在启动时使用 node 命令执行 servers/agent-mux-server.mjs,以 stdio 方式与 MCP 客户端建立通信。实际使用中 may 指定不同的启动方式或路径,请参照你所用的 MCP 客户端文档进行调整。
  • 基本使用方法

    • 启动服务器:在项目根目录运行 node servers/agent-mux-server.mjs
    • 通过 MCP 客户端连接并使用以下工具方法(方法名称与 AgentMux 库暴露的接口一致):
      • create_project({ name, cwd? })
      • list_projects()
      • switch_project({ name })
      • close_project({ name })
      • spawn_agent({ type, name, options? })
      • list_agents({ project? })
      • attach_agent({ name })
      • interrupt_agent({ name })
      • kill_agent({ name })
      • send_to_agent({ name, text })
      • read_agent_output({ name, lines? })
    • 使用示例(逻辑说明,不含具体代码):创建一个项目,Spawn 一个 codex 代理,然后向该代理发送文本并读取输出。

服务器信息