Modern SSH for AI agents β cloud servers to BusyBox routers, with destructive commands blocked.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by SSH MCP Server.
ssh_execRun one command or a batch, with the destructive-command guard and optional detach
ssh_file_readRead one or several files, text or binary
ssh_file_writeWrite files with atomic rename and optional SHA-256 verification
ssh_file_listList a directory, with optional glob and recursion
ssh_uploadUpload a file or directory over SSH, binary-safe with integrity checks; a directory replaces the target or merges into it
ssh_downloadDownload a file or directory over SSH, binary-safe with integrity checks
|
|
An SSH MCP server β a multitool that saves you and your AI agent time and tokens on debugging, development and server maintenance. Run commands, move files, read logs and audit machines over SSH β a cloud VPS, a bare-metal box, or the BusyBox router sitting in your closet. |
It uses the OpenSSH client already on your machine: your keys, your ~/.ssh/config, your jump hosts, your agent forwarding. Nothing bundled, nothing to compile, no native bindings.
Works with Claude Code, Codex CLI, Cline, opencode, Gemini CLI, Qwen Code, Hermes and other MCP clients.
Install Β· Tools Β· Setup Β· Security Β· Roadmap Β· Docs Β· Changelog
No global installation required. npx downloads the package on first use:
Add it to your MCP client β Claude Code, for example β for every project:
Or write it by hand β the same server in the config shape most clients share:
Then create ~/.claude/ssh-profiles.json with at least one machine:
That is enough to connect.
Codex, opencode, Qwen Code and other clients are covered in Set up the SSH MCP server.
Some clients β Claude Code, for example β can take the whole thing as a plugin instead:
The plugin reads ~/.claude/ssh-profiles.json unless SSH_PROFILES_FILE says otherwise, so
create that file first and the server comes up with your machines already loaded.
Node.js 18+ and a system ssh client on PATH. On Windows, use a key-based profile;
password and passphrase profiles are not currently available.
Prefer a pinned version, offline work, or one less registry check per launch:
npm install -g @hypnosis/ssh-mcp-server, then use ssh-mcp-server as the command instead
of npx.
A raw shell gives an AI agent a firehose: repeated commands, ASCII tables and log dumps. It burns tokens turning that noise into a picture of the server β your money.
Purpose-built tools batch routine checks, cap noisy output and return the part that matters. The agent spends less time translating terminal output and gets to the fix sooner.
Structured answers say what was found, what could not be measured and what was truncated. That leaves the agent less room to fill gaps with a hallucination β and gives you fewer bad fixes, calmer deploys and more reliable code.
No bundled SSH implementation, no native bindings, no rebuild per platform. Commands ride the
system ssh client, so your keys, your ~/.ssh/config, your jump hosts and your agent
forwarding all keep working exactly as they do in a terminal. When supported, one shared
multiplexed connection per destination means you authenticate once, not once per command.
Send a file to a router with a modern scp and you get this:
Nothing is broken β a current scp speaks the new protocol, and the router does not know it.
In a terminal you now go read a forum thread and come back with an extra flag. Here you do
nothing: the transfer is tried, the refusal is recognized, the old protocol is used instead,
and that machine is remembered so the next file goes straight there.
Fallbacks for older SSH clients and missing tools
Old gear gets a fallback, not a dead end. When a modern feature is missing, the server takes the older road where it can:
| Your machine | What you get |
|---|---|
| A router or NAS too small for modern file transfer | The file still lands β the old protocol is used automatically |
| A server from ten years ago | The workflow still works; it just opens a fresh connection per command instead of reusing one |
| A stripped-down image with no way to hash a file | The upload says "could not verify" instead of claiming a match nobody checked |
| A box where a tool simply is not installed | The answer says "not measured" β never a zero that reads as "nothing there" |
Built on the official MCP SDK, TypeScript throughout, 2500+ unit tests plus a live suite that runs against real containers rather than mocks.
Situation: A deploy just went out. The server feels slow, and you do not know whether disk, memory, services, containers or errors are to blame.
Question: βIs this box healthy?β
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ssh-mcp-server)<a href="https://allmcps.com/mcp/ssh-mcp-server"><img src="https://allmcps.com/api/badge/ssh-mcp-server?style=directory" alt="SSH MCP Server on AllMCPs" /></a>