安装
brew install danmartuszewski/tap/hop适合谁
适合要让 AI 助手管理服务器连接的人:search connections、run commands、check status across projects。hop 同时是 SSH 连接管理器,但 MCP 路径用的是 hop mcp,不是交互式面板。
它不是云端跳板机。连接配置在本地。官方写明 Config file location: ~/.config/hop/config.yaml。不要改 ~/.ssh/config:hop 只通过 hop import 读取它。
官方页面:
https://github.com/danmartuszewski/hop
3 分钟完成第一次尝试
先装官方二进制:
brew install danmartuszewski/tap/hop
再登记 MCP。Claude Code:claude mcp add hop -- hop mcp。Codex CLI:codex mcp add hop -- hop mcp。Claude Desktop / Cursor / Windsurf 则写入 { "hop": { "command": "hop", "args": ["mcp"] } }。不要另找未出现的安装器。
前置条件:本机能跑 brew;不要在非交互会话里执行裸 hop。官方警告:bare hop 会启动 interactive TUI and will hang。请用子命令,例如 hop version、hop list。
配置位置:上述客户端的 MCP 配置,以及 ~/.config/hop/config.yaml。官方没有写 YAML 字段表。
第一次调用必须用已点名的工具 list_connections。成功信号:助手能列到连接(可以为空),且没有对远端执行命令。空列表只说明还没有导入连接,不代表 hop mcp 没挂上。
不要把列连接理解成零风险:它会读本地 hop 配置;后续若 run commands,会真正打到服务器。先确认 list_connections 通了再谈执行。
使用案例
案例一:确认 MCP 工具可达。调用 list_connections。官方把它当作“Confirm hop's MCP tools are reachable”的例子。没有给出过滤或项目字段。
案例二:在已能列出连接之后,再按官方能力去 search connections 或 check status across projects。连续说明没有给出这两个动作的工具函数名,不要编造。需要执行命令时,那是写操作:先确认目标连接,并记住这不是本地模拟。导入已有 SSH 配置只用 hop import,不要手改 ~/.ssh/config。
使用边界
进程边界:非交互环境禁止裸 hop,以免 TUI 挂死。配置边界:主文件是 ~/.config/hop/config.yaml;~/.ssh/config 只读导入。
能力边界:已点名 MCP 工具是 list_connections。search / run commands / check status 只作为能力被提到。官方没有写密钥代理、跳板字段或远程安装方式。