mcpField
S
ssh-utils

ssh-utils

Local
github.com/GrahamJenkinsDeveloper Tools1Updated 78w ago

About ssh-utils

ssh-utils is an MCP server for running terminal commands on remote servers over SSH. It is intended for Roo Code and other MCP-compatible clients, and uses configured SSH profiles with key-based authentication only.

Key features

  1. 01Run remote commands through SSH
  2. 02Load connection profiles from JSON configuration
  3. 03Select a profile or override connection details
  4. 04Use private-key authentication only

Use cases

  1. 01Run a command on a configured remote host
  2. 02Choose among multiple SSH server profiles
  3. 03Override host or user for a command
  4. 04Connect without password-based SSH authentication

MCP support

Exposes the execute_ssh_command tool to MCP clients. It connects to a remote server using SSH settings from a configuration file or tool arguments, and prohibits password-based authentication.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.