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
- 01Run remote commands through SSH
- 02Load connection profiles from JSON configuration
- 03Select a profile or override connection details
- 04Use private-key authentication only
Use cases
- 01Run a command on a configured remote host
- 02Choose among multiple SSH server profiles
- 03Override host or user for a command
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEssh-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_commandvia 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"
}
}
}
hostorserver: 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
- Place your
ssh-utils-servers.jsonconfig file in one of the supported locations. - Use the
execute_ssh_commandtool 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
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.