1. Conduid
  2. Developer Tools
  3. io.github.danielecr/realssh-mcp
MCP server · Developer Tools

io.github.danielecr/realssh-mcp

MCP server for SSH remote command execution

Unclaimed last commit 6 months ago devtools
37Low

Scored 6 months ago · breakdown

About io.github.danielecr/realssh-mcp

io.github.danielecr/realssh-mcp is an MCP server published by danielecr in the Developer Tools category: mCP server for SSH remote command execution.

Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

Claude Code
claude mcp add io-github-danielecr-realssh-mcp -- npx -y @danielecr/realssh-mcp
npx
npx -y @danielecr/realssh-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about io.github.danielecr/realssh-mcp

Powered by Claude · Grounded in docs

I know everything about io.github.danielecr/realssh-mcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

SSH Real MCP Server

A Model Context Protocol (MCP) server that enables SSH remote command execution by delegating entirely to the system ssh binary. This means ssh-agent, ProxyCommand, ~/.ssh/config, jump hosts, and every other OS-level SSH feature work out of the box — no Node.js crypto, no native addons.

How it works

Instead of implementing the SSH protocol in Node.js, this server spawns ssh as a child process and pipes the output back to the MCP client. Authentication, key discovery, and connection routing are handled by your OS, exactly as if you ran ssh yourself in a terminal.

Requirements: ssh must be installed and available in PATH (standard on macOS and Linux).

Features

  • Zero auth config — uses your existing ssh-agent, ~/.ssh/config, and key files automatically
  • ProxyCommand / jump hosts — works natively, no special parameters needed
  • Connectivity test — ssh_test tool to verify reachability before running commands
  • Argument injection protection — host and username are validated before being passed to ssh
  • Configurable timeout — commands are killed and an error is returned if they exceed the timeout
  • Detailed results: stdout, stderr, and exit code

Installation

From npm

npm install -g @danielecr/realssh-mcp

From source

git clone https://github.com/danielecr/realssh-mcp.git
cd realssh-mcp
npm install
npm run build

VS Code / Copilot configuration

After installing the package globally, add the server to your MCP configuration. In VS Code, open the MCP config file via Command Palette → MCP: Open User Configuration and add:

{
  "servers": {
    "realssh": {
      "type": "stdio",
      "command": "realssh-mcp"
    }
  }
}

Then run MCP: List Servers to verify the server is active.

Tools

ssh_execute

Execute a command on a remote server via SSH.

Parameters:

  • host (string, required): SSH server hostname or IP address
  • command (string, required): Command to execute on the remote server
  • username (string, optional): SSH username. Defaults to the current OS user
  • port (number, optional): SSH server port (default: 22)
  • timeout (number, optional): Command timeout in milliseconds (default: 30000)
  • agentForward (boolean, optional): Enable SSH agent forwarding -A (default: false)
  • extraArgs (string[], optional): Extra SSH arguments (e.g., ["-o", "StrictHostKeyChecking=no"])

Example:

{
  "host": "prod-web-01",
  "command": "df -h"
}
{
  "host": "192.168.1.100",
  "username": "deploy",
  "command": "systemctl status nginx"
}

ssh_test

Test SSH connectivity to a remote host (runs echo ok and checks the response).

Parameters:

  • host (string, required): SSH server hostname or IP address
  • username (string, optional): SSH username
  • port (number, optional): SSH server port (default: 22)
  • extraArgs (string[], optional): Extra SSH arguments

Host configuration

Hosts, aliases, jump hosts, and identity files are configured in ~/.ssh/config — not in the MCP server. This is intentional: the OS ssh binary reads that file natively.

Example ~/.ssh/config:

Host prod
    HostName prod.example.com
    User deploy
    ProxyJump bastion

Host bastion
    HostName bastion.example.com
    User admin
    IdentityFile ~/.ssh/bastion_ed25519

With the above config, "host": "prod" works with no extra parameters.

Security considerations

  • Commands are executed on remote systems with the privileges of the SSH user — ensure proper access controls on the remote side.
  • BatchMode=yes is set by default, preventing the ssh process from hanging on interactive prompts.
  • Host and username inputs are validated to prevent SSH option injection.
  • Command output may contain sensitive data; treat it accordingly.

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.danielecr/realssh-mcp

How do I install io.github.danielecr/realssh-mcp?

Run claude mcp add io-github-danielecr-realssh-mcp -- npx -y @danielecr/realssh-mcp, then add the server to your MCP client's configuration.

Is io.github.danielecr/realssh-mcp safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.danielecr/realssh-mcp still maintained?

The last commit was 6 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.