libtmux-mcp server

官方

由 libtmux 驅動的 tmux MCP 伺服器

你可以用 Libtmux MCP 做什麼?

  • 檢查 tmux 狀態 — 使用 list_sessionscapture_paneget_pane_infosearch_panes 讀取工作階段、視窗和窗格的詳細資訊。
  • 向窗格發送輸入 — 使用 send_keyssend_keys_batchrun_commandpaste_text 在目標窗格中輸入命令或文字。
  • 建立與排列工作階段 — 透過 create_sessioncreate_windowsplit_window 啟動具名工作階段、視窗和分割窗格。
  • 銷毀 tmux 物件 — 使用 kill_sessionkill_windowkill_panekill_server 終止工作階段、視窗、窗格或整個伺服器。
  • 抑制 shell 歷史記錄 — 使用 suppress_persistent_history 啟動窗格,以將測試執行和一次性命令排除在持久性 shell 歷史記錄之外。

文件

libtmux-mcp¶

為 AI 代理提供終端機控制,基於 libtmux 和 FastMCP 構建。

此伺服器將 tmux 的物件階層——會話、視窗、窗格——映射為 MCP 工具。有些工具讀取狀態。有些則變更狀態。有些則進行破壞。這些區別是明確且強制執行的。

警告

預覽版。 API 可能會變更。歡迎提供回饋。

Claude Code Claude Desktop Codex CLI Gemini CLI Cursor Grok CLI Antigravity

uvx pipx pip install

設定冷卻期 ?

本機 使用者 專案

使用者 專案

使用者 專案

專案 全域

使用者 專案

安裝 uvx 後:

$ claude mcp add tmux -- uvx libtmux-mcp

返回

依賴項冷卻期

使用上方的「設定冷卻期」核取方塊來啟用或停用。這些設定會決定啟用後冷卻期的行為方式。

什麼是冷卻期?

冷卻期會延遲接收新上傳的套件,讓社群有時間在您安裝前發現供應鏈攻擊。大多數套件管理器預設不會套用冷卻期——您可以透過工具設定中的全域設定來選擇加入。

了解更多資訊,請造訪 cooldowns.dev · Datadog Security Labs 文章。


快速入門

安裝、連線,並取得第一個結果。不到 2 分鐘。

快速入門

工具

每個工具,按意圖和安全層級分組。

工具

提示

用戶端為模型呈現的四個工作流程配方。

提示

資源

透過 tmux:// URI 取得的 tmux 階層快照視圖。

資源

安全層級

唯讀、變更、破壞性。了解哪些操作會變更狀態。

安全層級

用戶端設定

適用於 Claude Desktop、Claude Code、Cursor 及其他用戶端的設定區塊。

MCP 用戶端


您可以做什麼¶

檢查(唯讀)¶

讀取 tmux 狀態而不進行任何變更。

list_sessions · capture_pane · capture_since · snapshot_pane · get_pane_info · find_pane_by_position · search_panes · wait_for_text · wait_for_content_change · display_message · call_readonly_tools_batch

操作(變更)¶

建立或修改 tmux 物件。

create_session · send_keys · send_keys_batch · run_command · paste_text · create_window · split_window · select_pane · select_window · move_window · resize_pane · pipe_pane · set_option · call_mutating_tools_batch

銷毀(破壞性)¶

拆除 tmux 物件。此操作不可逆。

kill_session · kill_window · kill_pane · kill_server · call_destructive_tools_batch

範例:讓測試執行不進入持久歷史記錄¶

libtmux-mcp 為 Bash、Zsh 和 Fish 提供了盡力而為的歷史記錄抑制功能。對 run_command 的 MCP 呼叫預設會使用輕量級命令抑制。當您建立新的 shell 時,可以使用 suppress_persistent_history=true 選擇更強的無磁碟控制。

提示

建立一個名為「checks」的 tmux 會話,並使用盡力而為的無磁碟 shell 歷史記錄控制,在其初始窗格中執行 pytest -q,然後向我顯示結果。

代理會使用 suppress_persistent_history=true 呼叫 create_session,重複使用從返回的 SessionInfo 中取得的 active_pane_id,並在不覆寫的情況下呼叫 run_command。在 create_windowsplit_windowrespawn_pane 上使用相同的生成選項,僅適用於該呼叫啟動的程序。

這些控制措施可減少歷史記錄雜訊;它們並不會使命令變為秘密。有關 shell 特定行為,請參閱歷史記錄抑制,有關伺服器預設值,請參閱設定,以及其他觀察表面的資訊,請參閱安全層級。

瀏覽所有工具 →


心智模型¶

  • 物件階層 — 會話包含視窗,視窗包含窗格(概念)
  • 讀取 vs. 變更 — 有些工具用於觀察,有些用於操作,有些用於破壞(安全層級)
  • tmux 是事實來源 — 伺服器從中讀取並寫入,絕不快取或抽象化