SSH MCP Server is a local Model Context Protocol (MCP) server that exposes SSH control for Linux and Windows systems, enabling LLMs and other MCP clients to execute shell commands securely via SSH.
- MCP-compliant server exposing SSH capabilities
- Execute shell commands on remote Linux and Windows systems
- Secure authentication via password or SSH key
- Read-only mode with built-in security checks
- Built with TypeScript and the official MCP SDK
Tool | Description |
---|---|
get_available_connections |
Lists machines available to connect via SSH |
create_connection |
Opens a new SSH session and tracks it by connection_id |
get_connections |
Lists all active SSH sessions |
execute_command |
Runs a shell command (unrestricted) |
secure_execute_command |
Safer command execution; blocks destructive actions |
close_connection |
Closes an active SSH session |
$ git clone https://github.com/vilasone455/ssh-mcp-server.git
Create a machines.json
file with the following structure:
[
{
"machine_id": "todo-server-01",
"label": "Todo server",
"os": "ubuntu",
"source": "digitalocean",
"ssh": {
"host": "192.168.1.11",
"port": 22,
"username": "user",
"password": "your_password_here"
}
},
{
"machine_id": "build-agent-01",
"label": "CI Build Agent (Key Auth)",
"os": "ubuntu",
"source": "aws",
"ssh": {
"host": "192.168.1.12",
"port": 22,
"username": "ubuntu",
"keyPath": "/home/ubuntu/.ssh/id_rsa"
}
}
]
To integrate this MCP server into Claude Desktop, add both the server command and the required environment variable:
Now you can interact with your server using natural language, e.g., "Run uptime
on Todo VM."
Use at your own risk. This server grants shell-level access via MCP. Review commands carefully and run in a secure environment.
Star the repo, open issues, and submit pull requests! Feedback is welcome.