MCP ExplorerExplorer

Ssh Utils Mcp

@GrahamJenkinson 12 days ago
1 MIT
FreeCommunity
AI Systems
MCP Server featuring multiple SSH related utilities

Overview

What is Ssh Utils Mcp

SSH-Utils-MCP is a Model Context Protocol (MCP) server that enables users to execute terminal commands on a remote server via SSH. It serves as a utility tool within Roo Code or any MCP-compatible client, facilitating secure, key-based SSH command execution from the development environment.

Use cases

Use cases for SSH-Utils-MCP include automating deployment processes, managing remote servers, executing scripts on remote machines, and integrating remote command execution into development workflows.

How to use

To use SSH-Utils-MCP, place the ‘ssh-utils-servers.json’ configuration file in one of the supported locations (current working directory, workspace root, or global config directory). Invoke the ‘execute_ssh_command’ tool from Roo Code or another MCP client, specifying the command and optionally overriding connection parameters.

Key features

Key features of SSH-Utils-MCP include secure key-based SSH authentication, support for multiple server profiles through a JSON configuration file, and the ability to execute commands remotely with customizable parameters.

Where to use

SSH-Utils-MCP can be used in various fields such as software development, system administration, and DevOps, where secure remote command execution is required.

Content

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.

Tools

No tools

Comments