SSH
- typescript
2
GitHub Stars
typescript
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": {
"vilasone455-ssh-mcp-server": {
"command": "node",
"args": [
"/path/to/ssh-mcp-server/dist/index.js"
],
"env": {
"MACHINES_PATH": "/path/to/your/machines.json"
}
}
}
}You can run a local MCP server that exposes SSH control to manage remote machines securely from your preferred MCP client. This lets you connect to Linux or Windows hosts, execute shell commands, and manage sessions in a centralized, programmatic way while applying access controls and safety checks.
How to use
You will run the SSH MCP Server locally and connect to it from an MCP client. Start a session for a target machine, then issue shell commands through the MCP client as if you were typing into an SSH session. You can list available machines, open and manage multiple SSH sessions, execute commands, and safely close sessions when you are done. Use a client that supports MCP and point it at your local SSH MCP Server to begin.
How to install
Prerequisites: ensure you have Node.js installed on your system. You should also have a Git client and a working shell environment.
# Optional: clone the project repository
$ git clone https://github.com/vilasone455/ssh-mcp-server.git
# Install dependencies
$ cd ssh-mcp-server
$ npm install
# Build the TypeScript source (if applicable for your setup)
$ npm run build
# Run the server (example path to built index.js and environment variable for machines.json)
$ MACHINES_PATH=/path/to/your/machines.json node dist/index.js
Additional notes
Create a machines.json file that defines each machine you want to manage. Include fields such as machine_id, label, os, source, and the SSH connection details (host, port, username, and either password or keyPath). You can define multiple machines to manage from a single server.
Available tools
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 with unrestricted permissions.
secure_execute_command
Executes commands with safety checks to block destructive actions.
close_connection
Closes an active SSH session.