loading…
Search for a command to run...
loading…
Enables SSH remote command execution on any host using the system ssh binary, supporting existing configurations like ssh-agent, ProxyCommand, and jump hosts.
Enables SSH remote command execution on any host using the system ssh binary, supporting existing configurations like ssh-agent, ProxyCommand, and jump hosts.
A Model Context Protocol (MCP) server that enables SSH remote command execution by delegating entirely to the system ssh binary. This means ssh-agent, ProxyCommand, ~/.ssh/config, jump hosts, and every other OS-level SSH feature work out of the box — no Node.js crypto, no native addons.
Instead of implementing the SSH protocol in Node.js, this server spawns ssh as a child process and pipes the output back to the MCP client. Authentication, key discovery, and connection routing are handled by your OS, exactly as if you ran ssh yourself in a terminal.
Requirements: ssh must be installed and available in PATH (standard on macOS and Linux).
ssh-agent, ~/.ssh/config, and key files automaticallyssh_test tool to verify reachability before running commandssshnpm install -g @danielecr/realssh-mcp
git clone https://github.com/danielecr/realssh-mcp.git
cd realssh-mcp
npm install
npm run build
After installing the package globally, add the server to your MCP configuration. In VS Code, open the MCP config file via Command Palette → MCP: Open User Configuration and add:
{
"servers": {
"realssh": {
"type": "stdio",
"command": "realssh-mcp"
}
}
}
Then run MCP: List Servers to verify the server is active.
ssh_executeExecute a command on a remote server via SSH.
Parameters:
host (string, required): SSH server hostname or IP addresscommand (string, required): Command to execute on the remote serverusername (string, optional): SSH username. Defaults to the current OS userport (number, optional): SSH server port (default: 22)timeout (number, optional): Command timeout in milliseconds (default: 30000)agentForward (boolean, optional): Enable SSH agent forwarding -A (default: false)extraArgs (string[], optional): Extra SSH arguments (e.g., ["-o", "StrictHostKeyChecking=no"])Example:
{
"host": "prod-web-01",
"command": "df -h"
}
{
"host": "192.168.1.100",
"username": "deploy",
"command": "systemctl status nginx"
}
ssh_testTest SSH connectivity to a remote host (runs echo ok and checks the response).
Parameters:
host (string, required): SSH server hostname or IP addressusername (string, optional): SSH usernameport (number, optional): SSH server port (default: 22)extraArgs (string[], optional): Extra SSH argumentsHosts, aliases, jump hosts, and identity files are configured in ~/.ssh/config — not in the MCP server. This is intentional: the OS ssh binary reads that file natively.
Example ~/.ssh/config:
Host prod
HostName prod.example.com
User deploy
ProxyJump bastion
Host bastion
HostName bastion.example.com
User admin
IdentityFile ~/.ssh/bastion_ed25519
With the above config, "host": "prod" works with no extra parameters.
BatchMode=yes is set by default, preventing the ssh process from hanging on interactive prompts.MIT
Выполни в терминале:
claude mcp add ssh-real-mcp-server -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.