SSH into anything.
Safely, from your AI.
adremote-mcp is an MCP server that gives Claude and other AI clients safe, audited SSH access to remote servers — with a plan-and-approve flow, credential management, file transfers, and a human-readable audit log.
How this works
Connect once. Safe commands run instantly. Anything risky goes through a plan you review and approve before it touches your server.
Exposed
with Audit Log
& Download
Destructive Runs
Get started in seconds
Pick your OS — the command appears below.
Install with one command
Safe by design, not by convention
Every non-trivial command goes through a structured review gate. Your AI proposes, you approve, the server executes — with a full audit trail.
- AI runs commands directly with no review gate.
- No audit trail — impossible to know what ran and when.
- Credentials stored insecurely or re-entered every session.
- File edits overwrite with no backup and no hash check.
- One hallucinated command can break production. There is no rollback.
-
Safe commands (
ls,pwd,whoami) run directly. Everything else needs a plan. - Every plan shows full details — risk level, rollback plan, and payload — before you approve.
- Credentials saved locally with key-based auth — no passwords re-entered.
- File edits create a timestamped backup and verify SHA256 after writing.
-
Human-readable audit log via
ssh_read_audit_log.
Your AI proposes. You approve. The server executes. Always.
Tool Groups
20+ MCP tools organized across five capability areas.
Connection
- ssh_connect
- ssh_connect_saved
- ssh_disconnect
- ssh_list_connections
- ssh_health_check
Plan & Approve
- ssh_execute
- ssh_plan_command
- ssh_approve_plan
- ssh_reject_plan
- ssh_execute_plan
- ssh_list_plans
- ssh_get_plan
File Management
- ssh_read_file
- ssh_plan_edit
- ssh_upload_file
- ssh_download_file
Credentials
- ssh_save_credentials
- ssh_list_saved_credentials
- ssh_delete_saved_credentials
- ssh_setup_key_auth
Audit Log
- ssh_read_audit_log
Supports limit and event_filter params. Events: created, approved, rejected, executed, expired.
Common questions
date, hostname, id, ls, pwd, uname, uptime, whoami. Everything else — including shell composition, pipes, and high-risk prefixes like rm, systemctl, curl — is routed through a plan.
~/.ssh_mcp_credentials.json with 0600 permissions. The first password-based login automatically bootstraps key-based auth and saves the key credential — the password is never stored. Passphrase-protected private keys are also supported and stored alongside the credential.
jump_host object on ssh_connect or ssh_save_credentials. The server opens a native SSH tunnel through the bastion to the target. Jump host keys can also be passphrase-protected.
ssh_read_file to read the current content, then ssh_plan_edit to stage the new content. After approval and execution, the server creates a timestamped .ssh-mcp.bak.<ts> backup and verifies the written file's SHA256 hash before reporting success.
ssh_read_audit_log to view it in a formatted, human-readable layout — no need to read raw JSONL.
One command to install.
The installer clones the repo, creates a venv, installs dependencies, and prints the exact config to paste into your MCP client.
Installs to %USERPROFILE%\adremote-mcp
Installs to ~/adremote-mcp
Already cloned? Run .\install.ps1 or ./install.sh from inside the repo — the installer detects it and installs in place.