Token导航 LogoToken导航TokenDH.com
MCP Ssh Wingman logo
安全风控未说明官方级别未说明来源级核验

MCP Ssh Wingman

MCP Server

MCP SSH Wingman是一个通过tmux提供只读访问Unix shell提示符的服务器,使AI助手能够安全观察终端环境而无需执行命令。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
只读访问GoClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

conallob

提供方

conallob

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

MCP SSH 伴飞者(或:MCP SSH 配偶机,根据上下文,“Wingman”在此处可理解为与主飞行器配合飞行的辅助飞行器或伙伴)

一个模型上下文协议(MCP)服务器,通过该服务器可以仅读取Unix shell提示符 tmux这使得像Claude这样的AI助手能够在不执行命令的情况下,安全地观察终端环境。

特点/特性

  • 🔒 表示“锁定”或“安全”的符号。 只读访问 - 观察终端内容,无执行风险
  • 🖥️ 这个符号通常代表“电脑”或“显示器”。 tmux 集成 - 利用tmux的会话管理功能实现可靠的终端访问
  • 📜(文档/文件) 滚动回溯历史 - 访问历史终端输出
  • 📊(图表/数据) 终端元数据 - 获取尺寸、当前路径和会话信息
  • 🔌 电源插头 MCP协议 - AI助手集成的标准协议

常见问题解答(FAQ)

你会添加吗 GNU(GNU's Not Unix,即“不是Unix”) screen 支持吗?

不是在近期。尽管 screen 可用于结对编程/调试,但它没有任何机制来强制实施只读模式。

由于只读保护机制是此MCP(微控制器协议/模块/等,具体根据上下文确定)与其他(同类产品/系统)的主要区别 具有ssh功能的MCPs(管理控制点/服务器等,具体含义根据上下文确定) 在集成之前,屏幕需要支持只读会话

你会添加吗 马赛克瓷砖(或称为彩瓷砖) 支持?

未来,或许会(实现)。需要先实施 https://github.com/zellij-org/zellij/issues/4348,以确保 zellij 具有只读功能,就像 tmux

先决条件

  • tmux(用于终端会话管理)
  • (可选)Go 1.21 或更高版本(仅在从源代码构建时需要)

安装

Homebrew(适用于 macOS/Linux)

brew tap conallob/tap
brew install mcp-ssh-wingman

预编译的二进制文件

从(指定位置)下载预编译的二进制文件 发布页面

适用于:

  • macOS(arm64/amd64)
  • Linux(arm64/amd64)
  • FreeBSD(arm64/amd64)

从源代码构建

DEVELOPMENT.md 翻译为中文是:“开发说明.md” 或者 “开发文档.md”(具体翻译可能根据上下文有所调整,但基本意思是指一个关于开发的说明或文档文件) 用于构建说明。

使用方法

运行服务器

# Start with default tmux session name (mcp-wingman)
mcp-ssh-wingman

# Use a custom tmux session name
mcp-ssh-wingman --session my-session

# Show version
mcp-ssh-wingman --version

与Claude桌面版的集成

将服务器添加到您的Claude Desktop配置文件中:

macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Linux~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ssh-wingman": {
      "command": "/usr/local/bin/mcp-ssh-wingman",
      "args": ["--session", "mcp-wingman"]
    }
  }
}

更新配置后,重启Claude桌面版。

与Gemini CLI的集成

将此部分添加到您的Gemini配置文件中(~/.gemini/settings.json):

{
  "mcpServers": {
    "ssh-wingman": {
      "command": "/usr/local/bin/mcp-ssh-wingman",
      "args": ["--session", "mcp-wingman"]
    }
  }
}

运行 gemini CLI(命令行界面),并确保它能够看到MCP服务器:

> /mcp list

Configured MCP servers:

🟢 ssh-wingman - Ready (3 tools)
  Tools:
  - get_terminal_info
  - read_scrollback
  - read_terminal

使用提示进行测试:

> using ssh-wingman MCP Server, what do you see in my session?

 ╭────────────────────────────────────────────────────────────────────────────────────────╮
 │ ?  read_terminal (ssh-wingman MCP Server) {} ←                                         │
 │                                                                                        │
 │   MCP Server: ssh-wingman                                                              │
 │   Tool: read_terminal                                                                  │
 │                                                                                        │
 │ Allow execution of MCP tool "read_terminal" from server "ssh-wingma…                   │
 │                                                                                        │
 │ ● 1. Yes, allow once                                                                   │
 │   2. Yes, always allow tool "read_terminal" from server "ssh-wingma…                   │
 │   3. Yes, always allow all tools from server "ssh-wingman"                             │
 │   4. No, suggest changes (esc)                                                         │
 │                                                                                        │
 ╰────────────────────────────────────────────────────────────────────────────────────────╯
⠏ Waiting for user confirmation...

你最好选择那里的第三个选项。

可用工具

服务器提供了以下MCP工具:

read_terminal

从tmux会话中读取当前终端内容。

示例:

{
  "name": "read_terminal"
}

read_scrollback

从 tmux 会话中读取滚动回溯历史。

参数:

  • lines (number): 从滚动缓冲区中检索的行数

示例:

{
  "name": "read_scrollback",
  "arguments": {
    "lines": 100
  }
}

get_terminal_info

获取有关终端的信息(尺寸、当前路径等)。

示例:

{
  "name": "get_terminal_info"
}

可用资源

terminal://current

当前终端内容作为文本资源。

terminal://info

终端元数据和信息。

它是如何工作的

服务器创建或附加到一个tmux会话,并使用tmux的内置命令安全地读取终端内容:

  1. 会话管理创建/附加到一个已分离的 tmux 会话
  2. 内容捕获用途 tmux capture-pane 阅读可见内容
  3. 只读从不向会话发送按键输入或命令
  4. MCP协议通过标准的MCP工具和资源暴露终端内容

这种方法确保了人工智能助手能够在不执行任何命令或修改终端状态的情况下,安全地观察终端活动。

用例

  • 监控长时间运行的进程和构建输出
  • 观察基于终端的应用程序行为
  • 通过查看终端历史记录来调试问题
  • 根据当前终端状态提供情境感知的辅助

安全考虑事项

MCP SSH Wingman的设计以安全性为核心:

  • 只读服务器从不向终端发送输入
  • 本地访问仅在本地 tmux 会话上运行
  • 未执行命令无法执行shell命令
  • 独立会话每个会话都是独立的,并由tmux进行沙盒化管理

故障排除

服务器无法启动

  • 确保已安装tmux: tmux -V
  • 检查该二进制文件是否具有执行权限: chmod +x /usr/local/bin/mcp-ssh-wingman

Claude Desktop 无法连接

  • 在你的配置文件中验证二进制文件的路径
  • 检查Claude Desktop的日志以查找错误信息
  • 首先确保二进制文件能够从命令行成功运行

无法查看终端内容

  • 验证 tmux 会话是否存在: tmux list-sessions
  • 确保会话名称与配置中指定的名称一致
  • 检查 tmux 会话中是否有活动的窗格

做出贡献

欢迎贡献!请随时提交问题或拉取请求。

如需开发指南,请参阅 DEVELOPMENT.md 翻译为中文是:“开发指南.md” 或 “开发文档.md”(具体翻译可能根据上下文有所调整,但“DEVELOPMENT”通常指“开发”或“开发指南”、“开发文档”等意思,“.md”是Markdown文件格式的后缀).

目录标签

目录标签

只读访问GoClaude终端安全本地部署AI集成tmux集成终端监控

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP