- Home
- MCP servers
- MCP SSH Server
MCP SSH Server
- javascript
66
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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-manager
Option 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 add
Configure 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.js
Additional setup for Codex or Claude Code integration
For 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"
]
}
}
Security and troubleshooting notes
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.
Testing and validation
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 list
Available tools
ssh_list_servers
List all configured SSH servers with their details.
ssh_execute
Execute commands on remote servers with an optional working directory.
ssh_upload
Upload files to remote servers.
ssh_download
Download files from remote servers.
ssh_backup_create
Create backups for databases or files on remote servers.
ssh_backup_list
List available backups on a remote server.
ssh_backup_restore
Restore a backup to the remote server.
ssh_health_check
Perform comprehensive health checks on remote servers.
ssh_service_status
Check status of services on remote servers.
ssh_process_manager
Manage processes on remote servers.
ssh_alert_setup
Configure health monitoring alerts and thresholds.
ssh_db_dump
Create database dumps on remote servers.
ssh_db_import
Import database dumps on remote servers.
ssh_db_list
List databases or tables on remote servers.
ssh_db_query
Execute read-only SQL queries on remote databases.
ssh_deploy
Deploy files with automated permission handling.
ssh_execute_sudo
Execute commands with sudo privileges.
ssh_alias
Manage server aliases for easier access.
ssh_command_alias
Manage command aliases for frequently used commands.
ssh_hooks
Manage automation hooks for SSH operations.
ssh_profile
Manage configuration profiles for different project types.
ssh_session_start
Start a persistent SSH session.
ssh_session_send
Send commands to an active session.
ssh_session_list
List active SSH sessions.
ssh_session_close
Close a specific SSH session.
ssh_tunnel_create
Create SSH tunnels (local, remote, SOCKS).
ssh_tunnel_list
List active tunnels with statistics.
ssh_tunnel_close
Close specific or all tunnels.
ssh_execute_group
Execute commands on a group of servers.
ssh_group_manage
Manage server groups (create, update, delete).