# danmartuszewski/hop [Health: Active]

**Category:** 🖥️ Command Line  
**Repository:** https://github.com/danmartuszewski/hop  
**GitHub Stars:** 61  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 1  
**Directory Page:** https://allmcps.com/mcp/danmartuszewski-hop

## Description
Fast SSH connection manager with TUI dashboard and MCP server for discovering, searching, and executing commands on remote hosts.

## Tools
Capabilities this server exposes over MCP:

- **list_connections** — List connections, filter by project/env/tag
- **search_connections** — Fuzzy search across all connections
- **get_connection** — Get details for a specific connection
- **resolve_target** — Preview how a target pattern resolves
- **list_groups** — List all named groups
- **get_history** — Connection usage history
- **build_ssh_command** — Build the full SSH command string

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "hop": {
    "command": "npx",
    "args": ["-y","danmartuszewski-hop"]
  }
}
```

## Documentation

## What danmartuszewski/hop MCP server does

The danmartuszewski/hop MCP server connects an MCP client to hop, a local SSH connection manager with a terminal dashboard. Its MCP interface focuses on discovering and inspecting saved connection data and preparing SSH commands from that data. This is useful when an agent needs to identify a host by project, environment, tag, group, or fuzzy search rather than relying on a user to remember a full hostname.

The available tools include:

- `list_connections` for listing saved connections with project, environment, or tag filters.
- `search_connections` for fuzzy matching across the connection inventory.
- `get_connection` for retrieving one connection’s details.
- `resolve_target` for previewing how a target pattern maps to connections.
- `list_groups` for showing named groups.
- `get_history` for reviewing connection usage history.
- `build_ssh_command` for producing the full SSH command string for a connection.

## How it works

The MCP process is started through hop’s `mcp` subcommand and is intended to run locally. Hop stores its configuration at `~/.config/hop/config.yaml`. That file can contain connection IDs, hosts, users, ports, identity files, projects, environments, tags, groups, proxy jump settings, agent forwarding, Mosh preferences, and remote landing directories. The MCP tools use this hop-managed connection data for lookup and command construction.

The danmartuszewski/hop MCP server does not require a hosted account or a separate API service in the provided setup instructions. SSH access still depends on the local SSH configuration, keys, agents, network access, and remote host permissions configured for the selected connection.

## Setup and configuration

Install hop through Homebrew, Go, or from source. The README gives these supported installation paths:

- `brew install danmartuszewski/tap/hop`
- `go install github.com/danmartuszewski/hop/cmd/hop@latest`
- Clone the repository and build it with `make build`.

Register the local MCP process with a client using the command `hop mcp`. Claude Desktop, Cursor, and Windsurf use an MCP configuration entry with `hop` as the command and `mcp` as its argument. Claude Code and Codex CLI have their own `mcp add` commands described in the README.

Existing servers can be seeded from `~/.ssh/config` with `hop import`. The README recommends previewing imports with `hop import --dry-run` before applying them with `hop import --yes`. Hop reads the SSH configuration through this import workflow and does not modify `~/.ssh/config`.

## Limitations and notes

The listed MCP tools cover connection discovery, metadata lookup, target resolution, history, group listing, and SSH command generation. The provided tool list does not identify a separate MCP tool for executing a generated command, so command execution should not be assumed from `build_ssh_command` alone.

SSH identity files and connection settings may grant access to sensitive systems. The README specifically warns that enabling agent forwarding exposes SSH keys to users with root access on the remote server. Use proxy jumps instead when a bastion is sufficient. Mosh support requires both a local `mosh-client` and a remote `mosh-server`; multi-host `hop exec` uses SSH rather than Mosh.

_Full upstream README: https://allmcps.com/mcp/danmartuszewski-hop/readme_

