libtmux-mcp server
官方由 libtmux 驱动的 tmux MCP 服务器
你可以用 Libtmux MCP 做什么?
- 检查 tmux 状态 — 使用
list_sessions、capture_pane、get_pane_info或search_panes读取会话、窗口和窗格的详细信息。 - 向窗格发送输入 — 使用
send_keys、send_keys_batch、run_command或paste_text向目标窗格键入命令或文本。 - 创建和排列会话 — 通过
create_session、create_window和split_window启动命名会话、窗口和分割窗格。 - 销毁 tmux 对象 — 使用
kill_session、kill_window、kill_pane或kill_server拆除会话、窗口、窗格或整个服务器。 - 抑制 shell 历史记录 — 使用
suppress_persistent_history启动窗格,以将测试运行和一次性命令排除在持久 shell 历史记录之外。
文档
libtmux-mcp 服务器¶
基于 libtmux 和 FastMCP 构建,为 AI 代理提供终端控制能力。
此服务器将 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 安全实验室文章。
快速入门
安装、连接、获取第一个结果。不到 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_window、split_window 或 respawn_pane 上使用相同的生成选项仅适用于该调用启动的进程。
这些控制措施可减少历史记录干扰;它们不会使命令保密。有关特定 shell 的行为,请参阅历史记录抑制;有关服务器默认设置,请参阅配置;有关其他观察面,请参阅安全等级。
浏览所有工具 →
思维模型¶
- 对象层次结构 — 会话包含窗口,窗口包含窗格(概念)
- 读取与修改 — 有些工具用于观察,有些用于操作,有些用于销毁(安全等级)
- tmux 是事实来源 — 服务器从中读取并写入,从不缓存或抽象化