Install
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가 통한 뒤에 실행을 이야기한다.
사용 사례
사례 1: MCP 도구 도달을 확인한다. list_connections를 호출한다. 공식은 이를 "Confirm hop's MCP tools are reachable" 예로 쓴다. 필터나 프로젝트 필드는 없다.
사례 2: 연결을 나열한 뒤 공식 능력대로 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는 능력으로만 언급된다. 공식은 키 에이전트, 점프 필드, 원격 설치 방식을 쓰지 않았다.