claude-ssh-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-ssh-mcp run `df -h` on production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-ssh-mcp
MCP addon for Claude Desktop — gives Claude SSH access to your servers.
Install
With pip (auto-installs Node.js if needed):
pip install claude-ssh-mcp
claude-ssh-mcpOr with npm:
npx -y claude-ssh-mcpThat's it. Restart Claude Desktop and you're ready.
Related MCP server: SSH Remote MCP Server
Usage
Just talk to Claude naturally:
"Connect to 192.168.1.100 as root with password mypass, call it production"
"Run
ls -la /var/wwwon production""Upload C:\Users\me\app.zip to /tmp/app.zip on production"
"Download /var/log/error.log from production"
"Connect to 10.0.0.5 as deploy with key at C:\Users\me.ssh\id_rsa, name it staging"
"Transfer /var/log/app.log from production to /tmp/app.log on staging"
"List my servers"
"Remove staging"
Features
Auto-install — one command adds it to Claude Desktop
Auto-installs Node.js — pip version handles everything
Servers are saved — connect once, reconnect by name
SSH keepalive — connections stay alive during long sessions
Auto-reconnect — recovers from network interruptions
Auto-update — checks for updates every 2 hours
Saved Servers
When you tell Claude to connect, the server is saved to ~/.mcp-ssh/servers.json. Next time just say "connect to production".
Edit manually if you prefer:
{
"production": {
"host": "192.168.1.100",
"port": 22,
"username": "root",
"password": "mypass"
},
"staging": {
"host": "10.0.0.5",
"port": 22,
"username": "deploy",
"privateKeyPath": "C:\\Users\\me\\.ssh\\id_rsa"
}
}Tools
Tool | What it does |
| Connect to a server (new or saved) |
| Close a connection |
| Show all connections and saved servers |
| Delete a saved server |
| Run a shell command |
| Upload a local file (SFTP) |
| Download a remote file (SFTP) |
| Copy a file between two servers |
| List remote directory contents |
Building from Source
git clone https://github.com/MaraBank/mcp-ssh-server.git
cd mcp-ssh-server
npm install
npm run buildThen in Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["C:\\path\\to\\mcp-ssh-server\\build\\index.js"]
}
}
}License
MIT — free and open source.
Available Tools
9 toolsssh_connectA
Connect to a remote server via SSH. Provide full details for a new server (it will be saved for next time), or just the sessionName to reconnect to a previously saved server.
Inputs: sessionName (required), host, port, username, +4 more.
ssh_disconnectB
Close an active SSH session.
Inputs: sessionName (required).
ssh_downloadB
Download a file from a remote server to the local machine via SFTP.
Inputs: sessionName (required), remotePath (required), localPath (required).
ssh_executeC
Execute a command on a connected remote server.
Inputs: sessionName (required), command (required).
ssh_list_filesA
List files and directories in a remote path via SFTP.
Inputs: sessionName (required), remotePath (required).
ssh_list_sessionsA
List all active SSH sessions and saved servers.
Inputs: no named parameters.
ssh_remove_serverA
Remove a saved server from servers.json and disconnect if currently active.
Inputs: sessionName (required).
ssh_transferB
Transfer a file between two connected remote servers (source → destination) via SFTP.
Inputs: sourceSession (required), sourceRemotePath (required), destinationSession (required), destinationRemotePath (required).
ssh_uploadB
Upload a local file to a remote server via SFTP.
Inputs: sessionName (required), localPath (required), remotePath (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct operation: connect, disconnect, execute commands, file transfers, listing, and server management. No two tools have overlapping purposes.
All tools follow the consistent pattern 'ssh_verb' or 'ssh_verb_noun' (e.g., ssh_connect, ssh_list_files, ssh_remove_server). No mixing of conventions.
With 9 tools, the set covers essential SSH operations without being bloated. Each tool serves a clear need for remote server management.
The surface provides full lifecycle management: connect/disconnect, command execution, file upload/download/transfer, listing, and session tracking. No obvious gaps for the domain.
Maintenance
Related MCP Connectors
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Connect ChatGPT and Claude to your Mac, Windows or Linux with secure MCP remote access.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables Claude to manage multiple SSH connections, execute remote commands, and transfer files across servers. Supports secure authentication, default directories, sudo operations, and deployment automation with profiles for different project types.372,699 npm543MIT
- AlicenseAqualityDmaintenanceEnables SSH remote access to servers through Claude, allowing users to execute commands, transfer files via SFTP, and manage multiple remote connections using natural language.129MIT
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude to remote servers via SSH to execute commands, manage files, and browse directories. It allows users to add, edit, and switch between multiple server configurations through natural language conversations.-
- -licenseNot gradedqualityNot gradedmaintenanceEnables Claude Code to control remote servers via SSH for automated deployment, testing, and operations, including command execution and file transfer.4-