hop-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hop_listA | List all hops (git worktrees) in a repository. Use this instead of "git worktree list". Shows each worktree path, branch, commit, and dirty status. IMPORTANT: After showing results, always display the hints from the response to help the user know their options (hop to, hop open, hop start). |
| git_worktree_listA | List all hops (git worktrees) in a repository. Use this instead of "git worktree list". Shows each worktree path, branch, commit, and dirty status. IMPORTANT: After showing results, always display the hints from the response to help the user know their options (hop to, hop open, hop start). |
| hop_startA | Start a new hop (git worktree) for a ticket or feature. Creates an isolated directory for parallel development without switching branches. Pass a ticket ID like "JIRA-123" to auto-name the branch. IMPORTANT: After creating, tell the user they can use "hop to " to switch to it, or "hop open " to open it in Cursor. Then ask which they prefer. |
| git_worktree_createA | Start a new hop (git worktree) for a ticket or feature. Creates an isolated directory for parallel development without switching branches. Pass a ticket ID like "JIRA-123" to auto-name the branch. IMPORTANT: After creating, tell the user they can use "hop to " to switch to it, or "hop open " to open it in Cursor. Then ask which they prefer. |
| hop_toA | Hop to an existing git worktree by ticket ID, branch name, or path. Use this to switch context to a different ticket. Returns the worktree path. IMPORTANT: After calling this tool, you MUST immediately run the cd command from suggestedCommands to change the working directory. |
| git_worktree_switchA | Hop to an existing git worktree by ticket ID, branch name, or path. Use this to switch context to a different ticket. Returns the worktree path. IMPORTANT: After calling this tool, you MUST immediately run the cd command from suggestedCommands to change the working directory. |
| hop_endA | End a hop (remove git worktree). Safely removes the worktree directory. Refuses if there are uncommitted changes unless force=true. Use when done with a ticket. |
| git_worktree_removeA | End a hop (remove git worktree). Safely removes the worktree directory. Refuses if there are uncommitted changes unless force=true. Use when done with a ticket. |
| hop_cleanB | Clean scratch files in a specific hop (git worktree) only. Deletes build artifacts, caches, or temp files without affecting other worktrees. Safer than global clean. |
| git_worktree_cleanB | Clean scratch files in a specific hop (git worktree) only. Deletes build artifacts, caches, or temp files without affecting other worktrees. Safer than global clean. |
| hop_openA | Open a hop (git worktree) in Cursor IDE. Launches a new Cursor window at the worktree path. Use this when user wants to edit files in Cursor for a specific ticket/worktree. |
| git_worktree_openA | Open a hop (git worktree) in Cursor IDE. Launches a new Cursor window at the worktree path. Use this when user wants to edit files in Cursor for a specific ticket/worktree. |
| hop_currentA | Get the current hop (git worktree) context. Returns the worktree info for the current working directory, including branch, path, dirty status, and parsed ticket/slug. Use this to understand "where am I?" and to enable resumability after context switches or retries. |
| git_worktree_currentA | Get the current hop (git worktree) context. Returns the worktree info for the current working directory, including branch, path, dirty status, and parsed ticket/slug. Use this to understand "where am I?" and to enable resumability after context switches or retries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Every tool exists twice as an exact alias pair (hop_list/git_worktree_list, hop_start/git_worktree_create, hop_to/git_worktree_switch, etc.) with identical descriptions, so an agent cannot tell which to pick. Within a single prefix the purposes are distinct, but the deliberate duplication makes half the surface indistinguishable.
Two parallel naming schemes coexist for the same operations: a terse hop_* set and a git_worktree_* set, with mismatched verbs for the same action (hop_start vs git_worktree_create, hop_to vs git_worktree_switch, hop_end vs git_worktree_remove). Each scheme is internally readable, but mixing them for identical functionality breaks predictability.
The reported 14 tools collapse to only 7 unique operations, so half the count is redundant aliasing rather than earned surface. The underlying 7-tool scope (list, current, start, to, end, clean, open) is reasonable for a git worktree helper.
The set covers the core worktree lifecycle: enumerate, inspect current context, create, switch, remove, clean, and open in an IDE. Only secondary git worktree operations (prune, lock/unlock, move, repair) are absent, which agents can work around via raw git.