AI Commander vs SSH-over-MCP servers
This one is not a product. It is a category: dozens of community MCP servers that wrap an SSH client so
Claude can call it as a tool, plus the DIY version — hand the agent a shell and let it type ssh
itself. They work, they are small, and for a lot of people they are the right answer. The difference is the
direction of the connection, and what that direction makes possible.
The short answer
If your servers already have SSH open to you and you are happy with that, an SSH MCP server is a smaller, simpler thing to adopt and you should read the honest section below before anything else.
What "SSH over MCP" actually is
A search of the MCP registries on 2026-08-26 returns dozens of independent SSH servers by different authors. They are not one project and they do not share a codebase, so the only fair way to describe them is by what the ones we read actually document. We read two representative examples end to end:
-
AiondaDotCom/mcp-ssh— "automatically discovers SSH hosts from your~/.ssh/configand~/.ssh/known_hostsfiles", "uses nativessh/scpcommands instead of JavaScript SSH libraries", and "respects your SSH agent, key files, and authentication settings". Seven tools: list known hosts, run a remote command, get host info, check connectivity, upload and download a file, and run a batch of commands in sequence. -
veithly/ssh-client-mcp— servers are configured through CLI arguments, aservers.jsonfile orSSH_SERVER_[ID]_[FIELD]environment variables, and "eitherpasswordorprivateKeyPathmust be provided". Eighteen tools across server management, connection management, command execution including sudo, and SFTP file operations. The SSH port (default 22) has to be reachable from the machine running the MCP server.
Neither documents background jobs that outlive the session, NAT traversal, GPU awareness or fleet management.
That is not a flaw — it is the shape of the category. An SSH MCP server is a thin, honest wrapper around SSH,
and it inherits SSH's properties: you need reachability, you need credentials where the tool runs, and
anything that must survive a dropped connection is your job to arrange with tmux,
screen or nohup.
Side by side
| AI Commander | SSH-over-MCP server / DIY ssh tool | |
|---|---|---|
| Connection direction | Machine dials out: one outbound WebSocket from the agent to the relay | You dial in: the tool opens a connection to the target's SSH port |
| Needs an inbound port | ✗ none — no port forwarding, no exposed SSH, no VPN | yes — the SSH port (default 22) must be reachable, directly or via tunnel/bastion/VPN |
| Machine behind NAT or CGNAT | ✓ Works the same as a public IP | needs a tunnel or VPN you set up |
| Where credentials live | Per-machine agent; access granted per machine by session code or account, and a machine can be blocked by its owner | Wherever the MCP server runs: ~/.ssh/config and your SSH agent, or a key path/password in config, CLI args or env vars |
| Software on the target | Agent must be installed | nothing new — an SSH daemon is already there |
| Third party in the path | Hosted relay. Command text and output pass through memory and are never logged or stored | none — direct connection |
| Work outliving the conversation | ✓ Detached jobs survive the call, the client and the chat; read logs later by job id | DIY — wrap in tmux, screen or nohup yourself; not documented in the servers we read |
| Command caps | 1 h hard kill and 1 MiB output truncation on a command; a detached job has no wall-clock limit and logs up to 256 MiB, then keeps running without recording more | Whatever the SSH session and the tool impose |
| GPU discovery & reservation | ✓ NVIDIA cards listed per machine; gpu_index reserves one exclusively, a second job is refused with gpu_busy |
not documented — you would run nvidia-smi and coordinate by hand |
| Files | Pro: remote_pull / remote_push, 100 MiB per file, blob unreadable after 24 h, link dead after 1 h |
✓ scp/SFTP, no size ceiling beyond the link and the disk |
| Naming many machines | Saved machines with aliases and per-account notes; 10 on Free, every saved machine up to a technical 100-machine ceiling* on Pro | ✓ Your existing ~/.ssh/config, with no ceiling |
| Cost | Free up to 10 machines; Pro $49/month | Free, open source |
| Works offline / air-gapped | ✗ The relay is on the internet | ✓ A LAN or VPN is enough |
"not documented" means we read the sources listed below on 2026-08-26 and found no statement either way — not that a feature is absent. Because these are dozens of unrelated projects, treat the right-hand column as the shape of the category, not a claim about any specific repository, and check the one you are considering. We make no claims about any of these projects' security, reliability or roadmap.
* 100 machines is a technical ceiling, not a policy limit. Need more? Get in touch — we'll sort it out.
Where AI Commander is different, concretely
- Nothing to expose. No port forwarding on the home router, no bastion, no VPN client on your laptop, no public port 22 to be found by a scanner. A Pi in a cupboard and a rented GPU instance are reached the same way.
- The machine, not your laptop, holds the connection. The relay reaches it whenever its agent is running, so your phone works as well as your desk.
- Long work is a first-class object. A detached job returns a job id immediately and keeps running after the call, after the client disconnects and after the conversation ends. Come back in a new chat and read its logs by id. It also survives the agent itself restarting: on Linux each job is launched into its own transient
systemdscope, outside the agent service's control group, so restarting or upgrading the agent leaves it running — that needs a systemd host with the agent running as root, and without both a restart still ends running jobs. - GPUs are described, not guessed. Each machine reports its NVIDIA cards with model, VRAM and utilisation, and
gpu_indexreserves one exclusively for a job. - Machine notes, per account. A notes file kept on the machine, private to your account, so the second visit starts from what the last session learned.
- Artifacts come back. On Pro, file transfer moves one file up to 100 MiB each way; the stored copy is unreadable 24 hours after creation and the download link expires in an hour. For multi-gigabyte artifacts, have the job push to your own object storage instead.
- Commands are not kept. Command text and stdout/stderr are processed transiently in the relay's memory and discarded — never written to logs or a database. The privacy policy states it in full.
Price
AI Commander's Free plan is AI access to your computers, up to 10 saved machines.
Pro is $49 per month and covers every saved machine up to a technical 100-machine
ceiling*, plus file transfer with
remote_pull and remote_push. See our pricing page
for the full breakdown.
The SSH-over-MCP side has no price to compare against: the servers listed under
Sources, checked 2026-08-26, are open-source packages published on GitHub at no
cost, and none of them publishes a paid tier. The DIY route — handing your AI client a shell and
letting it type ssh — costs nothing either. What you pay for on this side is your own
time: key distribution, reachability, and wrapping long work in tmux or nohup
yourself.
When NOT to use AI Commander
- You cannot install an agent on the target — a managed appliance, a customer's box, a host you only have shell on.
- The environment is air-gapped or offline. AI Commander's relay is on the internet; SSH over a LAN or an existing VPN is not.
- You want no third party in the path, as a policy rather than a preference. An SSH MCP server is a direct connection and an open-source package you can read end to end.
- Your fleet is already managed by SSH —
~/.ssh/config, keys, jump hosts, Ansible. An SSH MCP server reuses all of it and adds no new account, no ceiling on host count and no cost. - You need interactive sessions: a real TTY, a stateful shell you keep typing into, port forwarding, or SFTP browsing. AI Commander runs commands and jobs; it is not a terminal emulator.
- You move files larger than 100 MiB routinely and want them direct.
scphas no such ceiling.
When AI Commander fits
- The machine is behind NAT and you do not want to open anything to reach it.
- You are on a phone or a borrowed laptop, with no keys and no VPN client to hand.
- The work is long and must survive the chat, the network and your laptop going to sleep.
- There is a GPU to pick and hold exclusively while a job runs.
- You want an AI agent to have per-machine access you can revoke per machine, rather than whatever your SSH key opens.
FAQ
~/.ssh/config and known_hosts and shell out to the native ssh and scp binaries, others keep their own server list in a config file, CLI arguments or environment variables. They typically expose tools for listing hosts, running a command, testing connectivity and moving files over SFTP or scp. The DIY version is the same idea without the package: give the agent a shell tool and let it type ssh itself.tmux, screen or nohup — the SSH-over-MCP servers we read do not document background jobs that outlive the session. It also survives the AI Commander agent itself restarting: on Linux each job is launched into its own transient systemd scope, outside the agent service's control group, so restarting or upgrading the agent leaves it running — that needs a systemd host with the agent running as root, and without both a restart still ends running jobs.Sources & verification
Checked on 2026-08-26:
- Host discovery from
~/.ssh/configandknown_hosts, nativessh/scp, SSH agent use, the seven exposed toolsgithub.com/AiondaDotCom/mcp-ssh - Credential placement (CLI args,
servers.json,SSH_SERVER_[ID]_[FIELD]env vars), "either password or privateKeyPath must be provided", eighteen tools, reachable SSH portgithub.com/veithly/ssh-client-mcp - That the category contains dozens of unrelated servers — a registry and web search for SSH MCP servers on 2026-08-26 returned independent projects from many different authors across GitHub, mcp.so, Glama and LobeHubmcp.so
We deliberately do not attribute features to individual repositories we did not read, and we state no exact count of SSH MCP servers, because no source we checked publishes one.
AI Commander facts trace to llms.txt, the docs, file transfer, the privacy policy and the plan limits in the relay's own entitlement code.
Reach a server with nothing exposed
Install the agent, name the machine in chat, and let your AI client work it. Free for up to 10 machines.