mcp-ssh
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., "@mcp-sshexecute 'ls -la /home' 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.
β¨ Features
π SSH via env β register multiple servers with password or key auth in a single env var
π Config integration β use or auto-import
~/.ssh/confighosts ($config)π» Remote exec β run commands with optional timeout, PTY, and sudo password support
π File transfer β upload/download via SFTP
π File editing β read, write, search/replace, line operations with automatic backup
ποΈ Trash protection β deleted files go to
~/.mcp-ssh/trash/(configurable threshold)π Debug mode β
SSH_DEBUG=truefor connection/exec/SFTP diagnostics
Related MCP server: MCP SSH Manager
Installation
npm install -g @caikiji/mcp-sshConfiguration
SSH_SERVICES
Register servers via environment variable. Separate multiple entries with ;.
SSH_SERVICES="web:root@192.168.1.100:22|/path/to/id_rsa;db:deploy@db.internal|db_password"Format: [name:]user@host[:port]|credential
Part | Description |
| Optional display name (defaults to host). Duplicates get a numeric suffix. |
| Optional, defaults to |
| File path β SSH key, otherwise treated as password. |
Using ~/.ssh/config
Reference any Host from ~/.ssh/config by name (no @ needed):
SSH_SERVICES="production|password;db:db-server|"Empty credential (
|at end) β usesIdentityFilefrom config[name:]config_hostβ custom display name
Auto-import all config hosts ($config)
Import every config host that has both User and IdentityFile:
SSH_SERVICES="$config"
# Mixed with regular entries:
SSH_SERVICES="$config;extra:root@other.host|password"Config changes take effect on the next tool call β no MCP restart required.
Environment variables
Variable | Default | Description |
|
| Connection timeout (ms) |
|
| Files larger than this (MB) skip backup/trash |
| β | Set to |
MCP Client config
{
"mcpServers": {
"ssh": {
"command": "npx",
"args": ["-y", "@caikiji/mcp-ssh"],
"env": {
"SSH_SERVICES": "$config;web:root@192.168.1.100|/path/to/key"
}
}
}
}Tools
Server Management
Tool | Arguments | Description |
| β | List all configured servers with address and auth type |
Command Execution
Tool | Arguments | Description |
|
| Run any shell command. |
File Transfer
Tool | Arguments | Description |
|
| Upload a local file via SFTP |
|
| Download a remote file via SFTP |
File Operations
Tool | Arguments | Description |
|
| Read file. |
|
| Create/overwrite ( |
|
| Edit existing file: search/replace (all or first), or line operations (replace, insert before/after, delete range). Backup before modification. |
|
| Remove file/dir with trash protection (β€10MB β trash) |
|
| List dir entries or get single file details (name, type, size, mtime, permissions) |
Backup & Trash
~/.mcp-ssh/
βββ backups/<server>/<path>.bak.1-3 β auto-rotated before overwrite
βββ trash/<server>/<path>.<timestamp> β small files (β€10MB) on deleteCheck real usage via exec:
exec server, "du -sh ~/.mcp-ssh"This server cannot be deployed
Maintenance
Related MCP Connectors
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
A MCP server built for developers enabling Git based project management with project and personalβ¦
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.1112 PyPI1MIT
- AlicenseAqualityCmaintenanceMCP server for managing remote servers via SSH, enabling command execution, file transfer, rsync, tunnels, health checks, backups, and database operations.17617 npm1MIT
- AlicenseAqualityDmaintenanceEnables reading, writing, editing, searching, running commands, transferring files, and using git on a remote Linux server over SSH via MCP tools.223AGPL 3.0
- AlicenseBqualityAmaintenanceMCP server for managing SSH tunnels and remote hosts, offering tools for host inventory, file operations, security scanning, and SSH configuration.82MIT