Skip to main content
Glama
bhayanak

Simple SSH MCP Server

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

Package

Description

ssh-mcp-server

MCP server (29 tools) — standalone CLI & npm package

ssh-mcp-vscode

VS 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)

Category

Tools

Sessions

ssh_connect, ssh_disconnect, ssh_list_sessions, ssh_session_ping

Exec

ssh_exec, ssh_sudo_exec

Background

ssh_exec_background, ssh_exec_poll, ssh_exec_poll_list, ssh_exec_cancel

Shells

ssh_shell_open, ssh_shell_write, ssh_shell_read, ssh_shell_resize, ssh_shell_close, ssh_shell_list

SFTP

ssh_sftp_list, ssh_sftp_upload, ssh_sftp_download, ssh_sftp_read, ssh_sftp_write, ssh_sftp_delete, ssh_sftp_stat

Port Forward

ssh_port_forward_local, ssh_port_forward_remote, ssh_port_forward_list, ssh_port_forward_remove

Diagnostics

ssh_system_info, ssh_get_logs

Configuration

All settings via environment variables:

Variable

Default

Description

SSH_MCP_MAX_CONNECTIONS

10

Max concurrent SSH sessions

SSH_MCP_LOG_DIR

~/.ssh-mcp/logs

Audit log directory

SSH_MCP_DEFAULT_TERM

xterm-256color

Default TERM for PTY shells

SSH_MCP_DEFAULT_COLS

220

Terminal width

SSH_MCP_DEFAULT_ROWS

50

Terminal height

SSH_MCP_EXEC_TIMEOUT_MS

30000

Command timeout (ms)

SSH_MCP_HOST_KEY_MODE

accept

Host key: accept, strict, ask

SSH_MCP_ENV

development

production 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

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bhayanak/ssh-server-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server