MCP

Use hop mcp to list SSH connections first

For people who want an assistant to manage server connections. Install with brew first, then register hop mcp. Do not run bare hop in a non-interactive session. Call list_connections first.

Official source · hop

Install

brew install danmartuszewski/tap/hop

Who it is for

For people who want an AI assistant to manage server connections: search connections, run commands, check status across projects. hop is also an SSH connection manager, but the MCP path uses hop mcp, not the interactive panel.

It is not a cloud jump host. Connection config lives locally. Official text says Config file location: ~/.config/hop/config.yaml. Do not edit ~/.ssh/config: hop only reads it through hop import.

Official page:

https://github.com/danmartuszewski/hop

First try in 3 minutes

Install the official binary first:

brew install danmartuszewski/tap/hop

Then register MCP. Claude Code: claude mcp add hop -- hop mcp. Codex CLI: codex mcp add hop -- hop mcp. Claude Desktop / Cursor / Windsurf write { "hop": { "command": "hop", "args": ["mcp"] } }. Do not hunt for an installer that does not appear.

Prerequisites: this machine can run brew; do not execute bare hop in a non-interactive session. Official warning: bare hop starts an interactive TUI and will hang. Use subcommands such as hop version and hop list.

Config location: the MCP config of the clients above, plus ~/.config/hop/config.yaml. Official docs do not write a YAML field table.

The first call must use the named tool list_connections. Success: the assistant can list connections (the list may be empty), with no commands run on a remote. An empty list only means nothing has been imported yet, not that hop mcp failed to attach.

Do not treat a connection list as zero risk: it reads the local hop config; later run commands will actually hit servers. Confirm list_connections works before talking about execution.

Use cases

Case 1: confirm MCP tools are reachable. Call list_connections. Official text uses this as the example for "Confirm hop's MCP tools are reachable." It does not give filter or project fields.

Case 2: after connections can be listed, follow official capabilities to search connections or check status across projects. Continuous notes do not give tool function names for those two actions; do not invent them. Running a command is a write: confirm the target connection first, and remember this is not a local simulation. Import existing SSH config only with hop import; do not hand-edit ~/.ssh/config.

Limits

Process boundary: in non-interactive environments, do not run bare hop, or the TUI will hang. Config boundary: the main file is ~/.config/hop/config.yaml; ~/.ssh/config is import-only.

Capability boundary: the named MCP tool is list_connections. search / run commands / check status are mentioned only as capabilities. Official docs do not write a key agent, jump-host fields, or a remote install method.