ssh-utils

by GrahamJenkins

287 downloads
Not rated
GitHub

About

MCP Server featuring multiple SSH related utilities

Details

Author
GrahamJenkins
Downloads
287
Categories
Developer Tools

- Executes remote commands via SSH over MCP.
- Supports only key-based authentication (no passwords).
- Configurable multiple server profiles in one file.
- Connection parameters can be overridden per command.
- Compatible with Roo Code and any MCP client.
- Configuration file loads from several standard locations.

Place the configuration file (ssh-utils-servers.json) in the current working directory, workspace root, or the global config directory (~/.config/ssh-utils/). Then invoke the execute_ssh_command tool from an MCP client, specifying the command and optionally overriding connection parameters.

ssh-utils

Purpose

ssh-utils is a Model Context Protocol (MCP) server that allows you to execute terminal commands on a remote server via SSH. It is designed to be used as a tool within Roo Code or any MCP-compatible client, enabling secure, key-based SSH command execution from your development environment.

How It Works

- The server exposes a tool called execute_ssh_command via the MCP protocol.
- When invoked, it connects to a remote server using SSH and runs the specified command.
- Credentials and connection details are loaded from a configuration file (ssh-utils-servers.json), which can be placed in:
- The current working directory
- The workspace root
- The global config directory: ~/.config/ssh-utils/ssh-utils-servers.json
- If multiple profiles are present in the config, the first is used by default, or you can specify a profile by name.
- Any tool arguments (such as user, host, or server) override the config file values.

Configuration File

The configuration file is a JSON file named ssh-utils-servers.json with the following structure:

{
  "profiles": {
    "default": {
      "host": "example.com",
      "user": "bob",
      "port": 22,
      "privateKeyPath": "/home/bob/.ssh/id_ed25519"
    },
    "work": {
      "server": "workhost",
      "user": "alice"
    }
  }
}

- host or server: The SSH hostname or IP address.
- user: The SSH username.
- port: (Optional) The SSH port (default: 22).
- privateKeyPath: (Optional) Path to the private key file.

Usage

1. Place your ssh-utils-servers.json config file in one of the supported locations.
2. Use the execute_ssh_command tool from Roo Code or another MCP client, specifying the command and (optionally) overriding any connection parameters.

Security

- Password-based SSH authentication is explicitly prohibited for security reasons. Only key-based authentication is supported.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.