Token导航 LogoToken导航TokenDH.com
MCP Ssh Tmux logo
运维云端stdio官方级别未说明来源级核验

MCP Ssh Tmux

MCP Server

一个基于tmux的高性能持久化SSH会话管理工具,支持远程文件传输和命令执行。

工具数

8

提示词数

0

GitHub Stars

2

资源数

0
Python命令执行云端部署

安装说明

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

作者 / 组织

devnullvoid

提供方

devnullvoid

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install mcp-ssh-tmux

详细介绍

mcp-ssh-tmux

](https://badge.fury.io/py/mcp-ssh-tmux) ](https://pepy.tech/project/mcp-ssh-tmux) ![License: MIT](https://opensource.org/licenses/MIT) ](https://github.com/devnullvoid/mcp-ssh-tmux/stargazers)

一个高性能、持久的模型上下文协议(MCP)服务器,通过本地管理SSH会话 tmux 例子

为什么存在这种情况?

传统的SSH自动化运行单个命令,而不在执行之间进行状态跟踪。其他实现依赖于复杂的正则表达式模式来检测命令完成。通过使用 tmux 作为一个持久的终端多路复用器,这个项目完全消除了这种复杂性。AI代理只是像人类一样“看”屏幕——服务器提供视觉快照,代理自然地解释提示、错误和输出。

主要特点

  • 坚持:SSH连接在中保持活动状态 tmux 即使MCP服务器或您的AI客户端重新启动。
  • 可观测性:您可以手动运行 tmux attach -t mcp-ssh 实时查看代理正在做什么。
  • 可靠性:用途 ssh -G 用于健壮的配置解析(处理别名、身份文件等)。
  • 安全:内置命令验证,以防止常见的危险操作。
  • 文件传输:用于读取和写入远程文件的本机工具。Reads更喜欢全文件SSH传输,并在需要时回退到现有的PTY。

安装

需求

  • 终端复用器 必须安装在您的系统上

- Ubuntu/Debian: apt install tmux - macOS: brew install tmux - 拱门: pacman -S tmux

经由 uv (推荐)

uv tool install mcp-ssh-tmux

经由 pip

pip install mcp-ssh-tmux

配置

将此添加到您的 mcp.json (例如,在克劳德桌面、光标或1mcp中):

{
  "mcpServers": {
    "ssh-tmux": {
      "command": "uv",
      "args": [
        "run",
        "mcp-ssh-tmux"
      ]
    }
  }
}

*注意:如果您是通过安装的 uv tool install,你可以直接使用 mcp-ssh-tmux 作为命令。*

工具

  • open_session(host, username, port):在唯一的tmux窗口中打开新的SSH连接。
  • send_command(session_id, command, lines, timeout):发送命令并轮询提示/输出。仅返回最后一个 lines 终端输出/回滚。 timeout (默认2.0秒)控制等待时间——对于软件包安装等较慢的命令,等待时间会增加。
  • send_keys(session_id, keys):发送不带Enter键的原始按键。用于Ctrl+C、Ctrl+D、交互式输入等。
  • get_snapshot(session_id, lines):捕获当前屏幕状态。仅返回最后一个 lines 终端输出/回滚。
  • read_remote_file(session_id, remote_path, fallback_lines):读取远程文本文件。更喜欢这个 cat 通过 send_command() 当你需要完整的文件内容时。 fallback_lines 如果直接SSH读取不可用,则控制有界tmux历史捕获。
  • write_remote_file(session_id, remote_path, content, append):将内容写入远程文件。
  • list_sessions():列出所有活动的SSH窗口。
  • close_session(session_id):打碎窗户并清理干净。 警告:这将终止会话中所有正在运行的进程。对于长时间运行的任务,保持会话打开并使用以下命令进行监视 get_snapshot().

重要说明

读取文件

  • 使用 read_remote_file() 文件内容: send_command("cat ...")get_snapshot() 是屏幕/快照工具,因此它们只返回终端输出的尾部。
  • lines 控制快照深度:增加 linessend_command()get_snapshot() 当您需要更多终端历史记录,但使用 read_remote_file() 用于实际文件读取。
  • fallback_lines 控制PTY回退深度:如果直接SSH文件读取不可用, read_remote_file() 只检查最后一个 fallback_lines tmux的历史。必要时增加它,但要保持它的界限。
  • 最适合文本文件: read_remote_file() 用于配置、源代码、日志和类似的文本内容。

会话管理

  • 不要关闭具有活动进程的会话:关闭会话会终止所有正在运行的命令(构建、下载等)
  • 监控长时间运行的任务:使用 get_snapshot() 在不关闭会话的情况下检查进度
  • 会话持续:即使MCP服务器重新启动,SSH连接在tmux中仍然有效
  • 人工检查:运行 tmux attach -t mcp-ssh 实时查看发生了什么

致谢

贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

明星历史

如果你觉得这个项目有用,请考虑给它一颗星! ⭐

许可证

麻省理工学院

目录标签

目录标签

Python命令执行云端部署SSH管理本地部署tmux集成远程文件传输持久化会话

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP