tmux-pilot MCP 服务器

  • 使用说明
    • 项目简介
      • tmux-pilot 的 MCP 服务器是一套完全实现 MCP 协议核心能力的后端服务,暴露多种工具函数,供 MCP 客户端通过 JSON-RPC 调用来远程管理和监控 tmux 中的 AI 代理(agent)。核心功能包括创建和管理代理会话、查询代理状态与元数据、对代理执行控制指令、捕获和发送 pane 文本、监控代理输出以检测提示、事件与状态,以及进行会话拥有者的迁移等。
    • 主要功能点
      • spawn_agent: 在 tmux 中为新的代理创建会话,支持传入代理类型、提示、工作目录、会话名、所有者等参数。
      • list_agents: 列出所有正在运行的代理会话及其元数据(目标、代理、描述、工作目录、年龄、CPU、内存等)。
      • pause_agent / resume_agent: 对代理进行暂停与恢复操作,保证在暂停后仍可恢复运行。
      • kill_agent: 终止代理会话并清理工作树。
      • capture_pane: 捕获指定 tmux 窗格的输出文本。
      • send_keys: 向指定窗格发送文本或按键序列,支持直接按键与文本加载粘贴两种模式。
      • monitor_agents: 启动对所有代理窗格的监控,检测权限提示、生命周期事件并生成可读的报告。
      • transfer_ownership: 将旧拥有者的窗格迁移到新拥有者,支持在 orchestrator 切换时重定向。
      • run_command_silent: 静默执行命令,返回退出码和最近输出,完整日志写入文件。
    • 安装步骤
      • 确认运行环境:Python 3.10 及以上,tmux 已安装。
      • 安装 Python 依赖:通过 pip 安装 fastmcp(推荐使用 pipx 以避免污染系统环境)。
      • 获取源码:将 tmux-pilot 克隆至本地。
      • 安装并配置 MCP 运行时:确保 fastmcp 已安装并可在运行环境中被 Python 导入。
      • 启动 MCP 服务器:直接运行 mcp/server.py,即可启动并注册 MCP 服务。
    • 服务器配置(MCP 客户端需要的配置信息)
      • 说明:MCP 客户端需要配置一个服务器条目以便建立连接。配置信息包含服务器名称、启动命令及参数等,用于客户端在对等通信时定位和启动服务器。
      • 示例(文字描述,非代码块,便于理解):
        • 服务器名称:tmux-pilot
        • 启动命令(command):python3
        • 参数(args):~/.tmux/plugins/tmux-pilot/mcp/server.py
        • 备注:这是在客户端需要时配置的连接信息,客户端会基于此信息启动 MCP 服务器并建立 JSON-RPC 通道;客户端本身不需要包含任何 tmux-pilot 的实现代码,仅通过 MCP 服务端的工具进行远程调用。
    • 基本使用方法
      • 启动后,MCP 客户端可以通过以下常见调用来管理和查询代理:
        • spawn_agent(...) 创建新代理会话
        • list_agents() 列出当前代理及其状态
        • pause_agent(target) 暂停指定代理
        • resume_agent(target) 恢复指定代理
        • kill_agent(target) 终止指定代理并清理工作区
        • monitor_agents() 获取带有提示、事件和状态的监控报告
        • transfer_ownership(old_owner, new_owner) 进行拥有者迁移
        • capture_pane(target, lines) 捕获窗格文本
        • send_keys(target, keys) 向窗格发送文本或按键
        • run_command_silent(command, directory, timeout_minutes) 静默执行命令并获取返回信息
      • 实操要点
        • MCP 客户端通过 JSON-RPC 调用上述工具接口,服务器处理并返回结构化结果或错误信息。
        • 由于服务器直接调用 tmux 和主机脚本,运行时需要在具备 tmux 环境的机器上执行。

服务器信息