Tmux会话管理服务

一个允许AI助手与Tmux终端会话交互的服务,支持查看、控制和操作Tmux会话内容。

  • by nickgnd
  • JavaScript
  • 本地部署
  • 305 星标
  • 更新于
在 GitHub 查看 nickgnd/tmux-mcp

使用说明

Tmux MCP 服务器

模型上下文协议服务器,使Claude Desktop能够与tmux会话内容进行交互和查看。这种集成允许AI助手读取、控制和观察您的终端会话。

功能

  • 列出并搜索tmux会话
  • 查看并导航tmux窗口和面板
  • 捕获并显示任意面板中的终端内容
  • 在tmux窗格中执行命令并获取结果(使用前请自行承担风险⚠️)
  • 创建新的tmux会话和窗口
  • 水平或垂直分割窗格,大小可自定义
  • 结束tmux会话、窗口和面板

观看这个短视频,让你兴奋起来!

先决条件

  • Node.js
  • tmux已安装并正在运行

用法

配置Claude桌面版

将此MCP服务器添加到您的Claude Desktop配置中:

"mcpServers": {
  "tmux": {
    "command": "npx",
    "args": ["-y", "tmux-mcp"]
  }
}

MCP服务器选项

您可以选择指定您正在使用的命令行外壳,如果未指定,则默认为 bash

"mcpServers": {
  "tmux": {
    "command": "npx",
    "args": ["-y", "tmux-mcp", "--shell-type=fish"]
  }
}

MCP服务器仅在执行命令时需要了解外壳程序,以便正确读取其退出状态。

可用资源

  • tmux://sessions 列出所有tmux会话
  • tmux://pane/{paneId} 查看特定 tmux 窗格的内容
  • tmux://command/{commandId}/result 执行命令的结果

可用工具

  • list-sessions 列出所有活跃的tmux会话
  • find-session 根据名称查找tmux会话
  • list-windows 列出tmux会话中的窗口
  • list-panes 列出tmux窗口中的面板
  • capture-pane 从tmux窗格中捕获内容
  • create-session 创建一个新的tmux会话
  • create-window 在tmux会话中创建一个新窗口
  • split-pane 水平或垂直分割 tmux 窗格,可选大小
  • kill-session 根据ID终止一个tmux会话
  • kill-window 根据ID关闭一个tmux窗口
  • kill-pane 根据ID关闭tmux面板
  • execute-command 在tmux面板中执行命令
  • get-command-result 获取已执行命令的结果