MCP Hub
Back to servers

Simple SSH MCP Server

An MCP server that gives AI assistants full SSH/SFTP remote operations — session management, command execution, interactive shells, file transfers, port forwarding, and system diagnostics.

glama
Updated
Mar 19, 2026

SSH MCP Server

CI npm License: MIT

An MCP server that gives AI assistants full SSH/SFTP remote operations — session management, command execution, interactive shells, file transfers, port forwarding, and system diagnostics.

Works with Claude Desktop, VS Code + GitHub Copilot, and any MCP-compatible client.

Packages

PackageDescription
ssh-mcp-serverMCP server (29 tools) — standalone CLI & npm package
ssh-mcp-vscodeVS Code extension — auto-registers the server with GitHub Copilot

Features

  • Session Management — Connect/disconnect/ping with password or key-based auth
  • Command Execution — Run commands with stdout/stderr capture, timeouts, exit codes
  • Sudo Execution — Elevated commands with password injected via stdin (never logged)
  • Background Jobs — Long-running commands with polling and cancellation
  • Interactive Shells — PTY shells with read/write/resize
  • SFTP Operations — Upload, download, read, write, delete, list, stat
  • Port Forwarding — Local (-L) and remote (-R) SSH tunnels
  • System Diagnostics — OS, CPU, memory, disk, network, load, processes
  • Audit Logging — NDJSON structured logs with filtering

Quick Start

Standalone (npm)

npm install -g simple-ssh-mcp-server

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ssh": {
      "command": "npx",
      "args": ["ssh-mcp-server"],
      "env": {
        "SSH_MCP_MAX_CONNECTIONS": "10",
        "SSH_MCP_HOST_KEY_MODE": "accept"
      }
    }
  }
}

VS Code + GitHub Copilot

Install the SSH MCP VS Code extension — the server starts automatically when VS Code launches. Requires VS Code 1.99+ and GitHub Copilot.

Tools (29)

CategoryTools
Sessionsssh_connect, ssh_disconnect, ssh_list_sessions, ssh_session_ping
Execssh_exec, ssh_sudo_exec
Backgroundssh_exec_background, ssh_exec_poll, ssh_exec_poll_list, ssh_exec_cancel
Shellsssh_shell_open, ssh_shell_write, ssh_shell_read, ssh_shell_resize, ssh_shell_close, ssh_shell_list
SFTPssh_sftp_list, ssh_sftp_upload, ssh_sftp_download, ssh_sftp_read, ssh_sftp_write, ssh_sftp_delete, ssh_sftp_stat
Port Forwardssh_port_forward_local, ssh_port_forward_remote, ssh_port_forward_list, ssh_port_forward_remove
Diagnosticsssh_system_info, ssh_get_logs

Configuration

All settings via environment variables:

VariableDefaultDescription
SSH_MCP_MAX_CONNECTIONS10Max concurrent SSH sessions
SSH_MCP_LOG_DIR~/.ssh-mcp/logsAudit log directory
SSH_MCP_DEFAULT_TERMxterm-256colorDefault TERM for PTY shells
SSH_MCP_DEFAULT_COLS220Terminal width
SSH_MCP_DEFAULT_ROWS50Terminal height
SSH_MCP_EXEC_TIMEOUT_MS30000Command timeout (ms)
SSH_MCP_HOST_KEY_MODEacceptHost key: accept, strict, ask
SSH_MCP_ENVdevelopmentproduction defaults to strict host keys

See server README for the full configuration reference.

Security

  • Sudo passwords injected via stdin, never logged
  • ANSI escape sequences stripped from output
  • Output truncation prevents unbounded memory
  • SSH keepalives detect dead connections
  • ESLint security plugin + Gitleaks + CodeQL + Trivy in CI

License

MIT

Reviews

No reviews yet

Sign in to write a review