tmux会话控制工具

一个用于控制tmux会话的MCP服务器,允许AI助手以编程方式创建、管理和交互tmux会话、窗口和窗格。

  • by WENLIXIAO-CS
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 WENLIXIAO-CS/tmux-mcp

使用说明

tmux mcp

一 主控程序 用于控制tmux会话的服务器。允许AI助手以编程方式创建、管理tmux会话、窗口和窗格,并与之交互。

先决条件

安装

克劳德代码(stdio)

claude mcp add tmux-mcp -- uvx tmux-mcp

克劳德代码(HTTP)

# Start the server
tmux-mcp --transport streamable-http --port 8888

# Add to Claude Code
claude mcp add --transport http tmux-mcp http://localhost:8888/mcp

Claude Code(来自GitHub)

claude mcp add tmux-mcp -- uvx --from git+https://github.com/WENLIXIAO-CS/tmux-mcp tmux-mcp

点

pip install tmux-mcp

可用工具

会话

工具 说明
tmux_list_sessions 列出所有tmux会话,包括名称、ID、窗口数和连接状态
tmux_create_session 创建新的分离会话(返回会话/窗口/窗格ID)
tmux_rename_session 重命名现有会话

视窗

工具 说明
tmux_list_windows 列出窗口,可选择按会话筛选(包括窗格计数)
tmux_create_window 在会话中创建新窗口(返回窗口/窗格ID)
tmux_select_window 切换到特定窗口
tmux_rename_window 重命名窗口

窗格

工具 说明
tmux_list_panes 列出带有ID、尺寸、活动状态和运行命令的窗格
tmux_split_window 水平或垂直拆分窗口/窗格(返回新窗格ID)
tmux_select_pane 聚焦特定窗格
tmux_resize_pane 按方向+数量或绝对宽度/高度调整窗格大小

输入/输出

工具 说明
tmux_send_keys 将按键或命令发送到窗格(支持Enter、C-C、Tab等特殊按键)
tmux_read_pane 从窗格中捕获可见内容(支持回滚历史记录)
tmux_read_cc_pane 监控克劳德代码窗格——在处理过程中自动等待,自动批准权限,空闲时返回输出

生命周期

工具 说明
tmux_kill 按目标终止会话、窗口或窗格

使用示例

创建会话并运行命令:

> Create a tmux session called "dev" and run "python server.py" in it

Tool call: tmux_create_session(name="dev")
-> Session 'dev' created. session_id=$1 window_id=@1 pane_id=%1

Tool call: tmux_send_keys(target="dev", keys="python server.py Enter")
-> Keys sent.

从窗格读取输出:

> What's the output in the dev session?

Tool call: tmux_read_pane(target="dev")
-> $ python server.py
   Server running on port 8080

拆分一个窗口并运行第二个进程:

> Split the dev window and start a log tail

Tool call: tmux_split_window(target="dev:0")
-> Pane created. pane_id=%2

Tool call: tmux_send_keys(target="%2", keys="tail -f app.log Enter")
-> Keys sent.

监控Claude Code会话(自动等待+自动批准):

> Run a task in the "cc" tmux session and wait for it to finish

Tool call: tmux_read_cc_pane(target="cc")
[  0.0s] Monitoring Claude Code pane 'cc'
[  0.0s] Permission requested: Do you want to → sending '1'
[  1.0s] Processing: Shimmying…
[  8.1s] Processing: · ↓ 345 tokens
[ 16.2s] Permission requested: 2. Yes, allow all edits → sending '1'
[ 32.4s] Processing: · ↓ 1.6k tokens
[115.3s] Idle: no activity indicators

-> (captured pane content with scrollback)

发展

git clone https://github.com/WENLIXIAO-CS/tmux-mcp.git
cd tmux-mcp
uv sync
uv run tmux-mcp

许可证

麻省理工学院