Token导航 LogoToken导航TokenDH.com
Ssh Tmux MCP logo
开发工具未说明官方级别未说明来源级核验

Ssh Tmux MCP

MCP Server

通过SSH ControlMaster和tmux提供远程文件操作与共享终端访问的本地MCP服务器,适用于团队协作开发场景。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
开发工具Python命令行工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mkrzywonski

提供方

mkrzywonski

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ssh-tmux-mcp

使用现有SSH ControlMaster套接字提供以下功能的本地MCP服务器:

  • 远程文件访问(列表/读/写/统计/mkdir/rm/重命名)
  • 通过tmux共享终端访问(捕获/发送/cwd)

这将使身份验证站在您这边。MCP服务器仅在SSH时工作 控制插座存在。

需求

  • Linux(NixOS/WSL很好)
  • ssh 在本地机器上
  • tmux 在远程主机上
  • 远程主机上的Coreutils(base64, find, stat, dd, mkdir, rm, mv)

启动会话

  1. 启动SSH ControlMaster和tmux会话:
./ai-ssh user@host
  1. 配置Codex以启动MCP服务器(示例)。插座在下面

/run/user//ai-ssh/ssh-remote.sockai-ssh 写a .info 文件如此 服务器可以推断 hosttmux:

[mcp_servers.ssh_tmux]
command = "python3"
args = ["/home/mike/ai/ssh-tmux-mcp/mcp_server.py", "--socket", "/run/user/1000/ai-ssh/ssh-remote.sock"]
  1. 重新启动Codex,使其启动MCP服务器,然后使用 ssh_tmux 工具。

退出tmux会话时,ControlMaster会自动关闭。

帮手:

  • ./tmux-capture-recent [lines] 打印共享tmux会话的最后N行。

本地模式(仅限tmux)

如果您希望在本地使用相同的协作tmux工作流(无SSH),请运行服务器 和 --local。如果缺少,它将创建tmux会话并启用日志管道。

配置示例:

[mcp_servers.tmux_local]
command = "python3"
args = ["/home/mike/ai/ssh-tmux-mcp/mcp_server.py", "--local", "--tmux-session", "shared-ai"]

工具

  • sftp_list {路径}
  • sftp_read {path,offset?,length?}->base64内容
  • sftp_write {路径,内容}(base64)
  • sftp_patch {路径、补丁、备份?、backup_suffix?}
  • sftp_stat {路径}
  • sftp_mkdir {路径,父母?}
  • sftp_rm {路径,递归?}
  • sftp_rename {src,dst}
  • tmux_capture {会话?,行?}
  • tmux_capture_scrollback {会话?,max_lines?}
  • tmux_send {session?,keys,enter?}--用于交互式使用;更喜欢 tmux_run 对于命令
  • tmux_run {session?,command,timeout_ms?}->输出+退出代码(直到完成为止)
  • tmux_stream_read {session?,max_bytes?,reset?}->上次读取后的新输出
  • tmux_cwd {会话?}
  • ssh_exec {command}->输出(非交互式,无tmux)

备注

  • sftp_* 工具是通过SSH命令(coreutils)实现的,而不是SFTP子系统。
  • sftp_read/sftp_write 使用base64是二进制安全的。
  • sftp_patch 在本地应用统一的差异,然后写回;它不需要 patch 在遥控器上。
  • 如果你想限制访问,请通过 --root /path 约束文件操作。
  • Tmux日志输出上限为 --max-log-size 字节;旧的输出被截断以保留最后N个字节。
  • tmux_run 使用PS1提示标记来检测命令完成。第一次调用时,它会将自定义PS1导出到shell中。这 --prompt-timeout-ms 标志控制默认超时(30秒)。

工作流程建议

  • 更喜欢 sftp_* 用于文件编辑(读/修改/写)的工具,以避免shell引用问题。
  • 使用 tmux_run 对于命令,它会阻塞直到完成并返回退出代码。对于交互式命令(vim、sudo提示),请使用 tmux_send + tmux_capture.
  • 使用 ssh_exec 用于在不需要共享tmux可见性时执行快速、非交互式命令。

目录标签

目录标签

开发工具Python命令行工具SSH管理本地部署远程协作文件共享终端复用

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP