hop
Fast, elegant SSH connection manager with a TUI dashboard and MCP server
claude mcp add --transport stdio danmartuszewski-hop docker run -i ghcr.io/danmartuszewski/hop:latest \ --env HOP_CONFIG="path to your hop config if needed (default ~/.config/hop/config.yaml)" \ --env HOP_LOG_LEVEL="info"
How to use
hop is an MCP server that empowers an AI assistant to help you manage your SSH connections. It sits alongside your Hop TUI experience and enables search-based connection management, remote command execution across multiple hosts, and status queries across projects. With the MCP server enabled, you can instruct your assistant to find a specific server, run a command on a subset of hosts, or query groupings and tags to quickly target the right machines. The server exposes read-only capabilities by default and can be started with an additional flag to permit remote execution if needed. This lets you integrate AI-assisted workflows into your existing Hop setup without exposing raw credentials in your prompts. The MCP server supports searching connections, running commands across multiple servers, and checking status across projects, all through the same configuration you already use for Hop.
How to install
Prerequisites:
- Docker installed and running (for the chosen MCP server deployment method)
- Access to the Hop configuration file at ~/.config/hop/config.yaml (or your configured path)
Installation steps:
- Ensure you have the latest Hop binary installed locally (see Hop install instructions in the README):
- macOS/Linux via Homebrew: brew install danmartuszewski/tap/hop
- Go method: go install github.com/danmartuszewski/hop/cmd/hop@latest
- From source: git clone https://github.com/danmartuszewski/hop.git; cd hop; make build; ./bin/hop
- Build or pull the MCP server container image (demonstrated here via Docker):
- docker pull ghcr.io/danmartuszewski/hop:latest
- Run the MCP server using Docker (as per mcp_config):
- docker run -i ghcr.io/danmartuszewski/hop:latest
- Ensure the Hop configuration is available to the MCP server if required (e.g., via mounted volumes) and that any needed environment variables are set (HOP_CONFIG, HOP_LOG_LEVEL).
- Verify connectivity by querying the MCP endpoint (often via the Hop CLI command mcp or your AI integration) to confirm the server is operational.
Additional notes
Tips and notes:
- The MCP server provides read-only access by default; enable remote exec only if you understand the security implications and restrict access accordingly (use --allow-exec when starting with explicit flags).
- Security: Always be cautious when enabling forward_agent or proxy_jump through MCP-powered workflows. Keep your SSH keys guarded and prefer using a bastion/proxy approach when possible.
- If you customize the Hop config (config.yaml), ensure the MCP server has access to the same file paths (consider mounting ~/.config/hop as a volume in Docker).
- Use the export/import features in Hop to manage your SSH connections and keep the MCP data in sync with your local configuration.
- For troubleshooting, check container logs and verify that the Hop config file is readable by the MCP process. Ensure network access between your AI assistant, the MCP server, and the Hop TUI.
Related MCP Servers
homebutler
🏠 Manage your homelab from chat. Single binary, zero dependencies.
mcp-jest
Automated testing for Model Context Protocol servers. Ship MCP Servers with confidence.
shellguard
MCP server that gives LLM agents read-only shell access over SSH
devir
Dev Runner CLI - Terminal UI for managing multiple dev services with colored logs, filtering, and MCP integration for Claude Code
mcp4go
A comprehensive Go SDK for the Model Context Protocol (MCP) - simplifying AI application development by abstracting away protocol complexities.
mcp-tidy
CLI tool to visualize and manage MCP server configurations in Claude Code. List servers, analyze usage statistics, and clean up unused servers