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 代理,然后向该代理发送文本并读取输出。