Provides multi-SSH management via Model Context Protocol, enabling remote command execution, file transfers, and DevOps tasks across many servers.
Configuration
View docs{
"mcpServers": {
"bvisible-mcp-ssh-manager": {
"command": "node",
"args": [
"/path/to/mcp-ssh-manager/src/index.js"
],
"env": {
"SSH_CONFIG_PATH": "/Users/you/.codex/ssh-config.toml"
}
}
}
}You can manage multiple SSH servers from a single MCP SSH server using a client that supports the Model Context Protocol. This enables you to run commands, transfer files, monitor health, automate deployments, and organize servers from your AI assistant with secure, centralized control.
To use the MCP SSH server, connect with your MCP client (Claude Code or OpenAI Codex) and authorize the MCP server. You can add servers, execute remote commands, upload and download files, and perform routine maintenance tasks across multiple machines from a single interface.
Prerequisites: you need Node.js version 18 or higher and npm installed. The supported platforms are Linux, macOS, and Windows. You may also want Bash 4.0+ for the CLI management tools and rsync for file synchronization.
Option A โ Install from npm (recommended):
npm install -g mcp-ssh-manager
# Or run the CLI directly without global install
npx mcp-ssh-managerOption B โ Install from source:
# Clone the project
git clone https://github.com/bvisible/mcp-ssh-manager.git
cd mcp-ssh-manager
npm install
# Install the Bash CLI (if you want the Bash-based manager)
cd cli && ./install.sh
# Configure your first server
ssh-manager server addConfigure MCP with Claude Code (example): you can add the MCP server to Claude Code using the node runtime path to the MCP entry point.
claude mcp add ssh-manager node /path/to/mcp-ssh-manager/src/index.jsFor Claude Code, you can set auto-approval for a subset of MCP tools to streamline prompts.
# Example auto-approval configuration (in Claude Code config)
"mcpServers": {
"ssh-manager": {
"command": "node",
"args": ["/path/to/mcp-ssh-manager/src/index.js"],
"autoApprove": [
"mcp__ssh-manager__ssh_execute",
"mcp__ssh-manager__ssh_list_servers",
"mcp__ssh-manager__ssh_upload",
"mcp__ssh-manager__ssh_download",
"mcp__ssh-manager__ssh_sync",
"mcp__ssh-manager__ssh_alias"
]
}
}Use SSH keys whenever possible and avoid storing passphrases in plain configuration when you can use an SSH agent. If you enable passphrases, you can use either the ssh-agent connection or include a passphrase in the server configuration as a fallback.
If you encounter issues, test the connection to a server, verify network access, and check SSH service status on the remote host.
You can validate the MCP server installation and test connectivity using dedicated tooling provided with the setup.
# Test server connection (example)
python tools/test-connection.py production
# Verify MCP installation in Claude Code
claude mcp listList all configured SSH servers with their details.
Execute commands on remote servers with an optional working directory.
Upload files to remote servers.
Download files from remote servers.
Create backups for databases or files on remote servers.
List available backups on a remote server.
Restore a backup to the remote server.
Perform comprehensive health checks on remote servers.
Check status of services on remote servers.
Manage processes on remote servers.
Configure health monitoring alerts and thresholds.
Create database dumps on remote servers.
Import database dumps on remote servers.
List databases or tables on remote servers.
Execute read-only SQL queries on remote databases.
Deploy files with automated permission handling.
Execute commands with sudo privileges.
Manage server aliases for easier access.
Manage command aliases for frequently used commands.
Manage automation hooks for SSH operations.
Manage configuration profiles for different project types.
Start a persistent SSH session.
Send commands to an active session.
List active SSH sessions.
Close a specific SSH session.
Create SSH tunnels (local, remote, SOCKS).
List active tunnels with statistics.
Close specific or all tunnels.
Execute commands on a group of servers.
Manage server groups (create, update, delete).