In-depth architectural comparison of the Hop and Execkit MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Hop
Command Line · Local stdio
Quality: 49/100 (Fair) | Auth: No auth required
Execkit
Command Line · Local stdio
Quality: 60/100 (Good) | Auth: No auth required
Verdict Summary: Choose Hop if you need specialized Command Line tools running via a local process. Choose Execkit if your workspace requires Command Line integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Hop when:
You need dedicated capabilities in the Command Line domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Fast SSH connection manager with TUI dashboard and MCP server for discovering, searching, and executing commands on remote hosts.
Stateful, structured, auditable shell sessions for AI agents over local, SSH, and Docker. Secret redaction, output budgeting, SSH host-key verification, and a loopback read-only browser viewer that streams the live transcript.
Category & Scope
Tools & Capabilities Breakdown
Hop Tools (7)
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
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Hop is categorized under Command Line and uses a local stdio subprocess. In contrast, Execkit belongs to Command Line using local stdio subprocess. Select Hop when you need capabilities focused on command line and Execkit when you require tools for command line.
Take a workspace checkpoint on a REMOTE session (snapshot of files you can restore). Requires git on the remote host. Undoes FILES only - not side effects (DB, network, installs). Returns { checkpoint_id }.
session_checkpoints
List checkpoints (newest first) for a remote session.
session_create
Open a stateful shell session. transport is "local", "ssh", or "docker". ssh needs host, user, and password or key_path; docker needs container (a running container name/id). Optional fingerprint (pin host key), allow/deny command lists. Returns a session_id. Remote sessions support workspace checkpoints - requires git on the remote AND an explicit workspace (set 'workspace'; without it checkpoints/auto_snapshot are disabled, never defaulting to the home dir). Tune with auto_snapshot, paths, checkpoint_ignores. Pass output_budget (same shape as session_exec's budget) to default-shape every command's output.
session_destroy
Destroy a session and free its resources.
session_exec
Run a command in a session; returns a structured ExecResult JSON (stdout, stderr, exit_code, duration_ms, cwd, truncated). Optionally pass budget to shape output: {grep:{pattern,context?}, keep:{mode:"all"|"tail"|"head"|"head_tail",n?|head?+tail?}, max_chars?}. Shaping is line-based, client-side, AFTER secret redaction; it never changes the exit code or side effects. When applied, the result includes a budget report (per-stream mode + lines_total/lines_kept).
session_restore
Restore a remote session's workspace FILES to a checkpoint (omit checkpoint_id to restore the most recent). Does not undo side effects.