SSH

Provides an MCP server that exposes SSH control to run shell commands securely on remote machines.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
SSH MCP Server - vilasone455/ssh-mcp-server | VeilStrat