libtmux-mcp server
官方由 libtmux 驅動的 tmux MCP 伺服器
你可以用 Libtmux MCP 做什麼?
- 檢查 tmux 狀態 — 要求列出工作階段、擷取窗格輸出,或搜尋窗格中的特定文字。
- 管理 tmux 結構 — 重新命名工作階段、調整窗格大小、選擇版面配置,或在工作階段之間移動視窗。
- 在窗格中執行指令 — 建立工作階段/視窗、分割窗格、傳送按鍵,或執行 shell 指令。
- 控制窗格程序 — 貼上文字或緩衝區、將窗格輸出導向管道,或設定環境變數與選項。
- 拆除 tmux 物件 — 清除窗格回捲內容、終止工作階段/視窗/窗格,或刪除緩衝區。
- 抑制 shell 歷史紀錄 — 建立工作階段或視窗時使用無磁碟歷史紀錄控制,以利更乾淨的測試執行。
文件
Terminal control for AI agents,建構於 libtmux 與 FastMCP 之上。
此伺服器將 tmux 的物件階層——sessions、windows、panes——對應至依其請求操作分組的 MCP 工具。伺服器在 MCP 工具邊界強制執行所選的分組。
[!warning] 警告 Pre-alpha。 API 可能變更。歡迎提供意見回饋。
安裝 uvx 後:
$ claude mcp add tmux -- uvx libtmux-mcp
快速入門
工具
提示詞
資源
信任模型
客戶端設定
你可以做什麼
檢查 inspect
請求 tmux 狀態與終端輸出。
list_sessions · capture_pane · capture_since · snapshot_pane · get_pane_info · find_pane_by_position · search_panes · wait_for_text · display_message · call_read_tools_batch
管理 manage
變更 tmux 結構或呈現方式。
rename_session · resize_pane · select_layout · select_pane · move_window · enter_copy_mode · load_buffer · wait_for_channel
執行 execute
啟動或驅動 pane 程序,或儲存可控制後續執行的狀態。
create_session · create_window · split_window · respawn_pane · send_keys · send_keys_batch · run_command · paste_text · paste_buffer · pipe_pane · set_option · set_environment
拆除 teardown
刪除 tmux 物件或保留的捲動緩衝區。此操作不可逆。
clear_pane · kill_session · kill_window · kill_pane · kill_server · delete_buffer
範例:讓測試執行不進入持久歷史記錄
libtmux-mcp 為 Bash、Zsh 與 Fish 提供盡力而為的歷史記錄抑制。對 run_command 的 MCP 呼叫預設使用輕量命令抑制。當你建立新的 shell 時,可使用 suppress_persistent_history=true 選擇更強的無磁碟寫入控制。
[!note] 提示 建立一個名為「checks」的 tmux session,啟用盡力而為的無磁碟 shell 歷史記錄控制,在其初始 pane 中執行
pytest -q,並向我顯示結果。
代理程式以 suppress_persistent_history=true 呼叫 create_session,重用從傳回的 SessionInfo 取得的 active_pane_id,並在沒有覆寫的情況下呼叫 run_command。在 create_window、split_window 或 respawn_pane 上的相同 spawn 選項僅適用於該呼叫啟動的程序。
這些控制可減少歷史記錄雜訊;它們不會讓命令變成祕密。請參閱 歷史記錄抑制 了解 shell 特定的行為、設定 了解伺服器預設值,以及 信任模型 了解其他觀察表面。
心智模型
- 物件階層 — sessions 包含 windows,windows 包含 panes(概念)
- 工具集 — inspect、manage、execute、teardown;每個工具集分組的內容(信任模型)
- tmux 是真相來源 — 伺服器從中讀取並寫入,絕不快取或抽象化