SSH MCP Server

by nikolanddtesla

Not rated
GitHub

About

SSH server management with zero-token SFTP file transfer and SOCKS proxy support

Details

Author
nikolanddtesla
Categories
Developer Tools, Other, Infrastructure, File Management

Setup

Install SSH MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/nikolanddtesla/ssh-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

Let AI manage your remote servers.A Model Context Protocol (MCP) server that gives AI assistants full SSH access — execute commands, transfer files, manage multiple servers simultaneously, all through natural conversation.

You: "Deploy the latest build to production server" AI: connects → uploads build → restarts service → verifies status

- 21 Tools— Connect, execute, upload, download, write files, and more
- Connection Pool— Operate multiple servers simultaneously, each command tagged withserver_id
- Zero-Token File Transfer— SFTP path-based transfer, file content never enters AI context
- Directory Upload— Auto tar.gz compress → upload → remote decompress (fast for many small files)
- Async Transfer + Progress— Background transfer for large files with real-time progress tracking
- Quick Connect— Temporary connections without saving config, returnshost:portas temp ID
- SOCKS4/5 Proxy— Per-connection proxy support
- Jump Host— SSH ProxyJump for bastion/gateway access
- Multi-Auth— Password, private key, ssh-agent, keyboard-interactive (OTP/2FA)

{ "mcpServers": { "sshmcp": { "command": "npx", "args": ["-y", "@nl4ever/sshmcp"] } } }
{ "sshmcp": { "command": "npx", "args": ["-y", "@nl4ever/sshmcp"] } }

Connection Pool: Multi-Server Operations

All operation tools take aserver_idparameter. The connection pool auto-manages connections — no manual connect/disconnect needed:

AI: execute(server_id="prod", command="nginx -s reload") ← auto-connects to prod AI: execute(server_id="dev", command="tail -f /var/log/app.log") ← auto-connects to dev, prod stays AI: execute(server_id="prod", command="curl localhost") ← reuses prod connection

For temporary servers, usequick_connectwhich returnshost:portas the ID:

AI: quick_connect(host="1.2.3.4", username="root", password="") → "Connected: root@1.2.3.4:22, use server_id="1.2.3.4:22"" AI: execute(server_id="1.2.3.4:22", command="df -h") AI: disconnect(server_id="1.2.3.4:22")

For large files, enable background transfer mode to avoid blocking:

AI: upload_file(server_id="prod", local_path="big.tar.gz", remote_path="/data/", async_transfer=true) → "Background upload started: tf_1" AI: transfer_status("tf_1") → "🔄 Uploading: 638.2 MB / 1.2 GB (53.2%) — 12.4 MB/s, ETA 46s" AI: transfer_status("tf_1") → "✅ Upload complete: 1.2 GB, 98s, 12.3 MB/s"

Small files use synchronous mode by default — no config needed.

AI: add_server(server_id="prod", name="Production", host="10.0.0.1", username="deploy", password="") AI: execute(server_id="prod", command="systemctl status nginx")
AI: add_server(server_id="aws", name="AWS EC2", host="ec2-xx.compute.amazonaws.com", username="ubuntu", private_key="~/.ssh/id_rsa")
AI: quick_connect(host="192.168.1.100", username="root", password="") → server_id="192.168.1.100:22" AI: execute(server_id="192.168.1.100:22", command="df -h") AI: disconnect(server_id="192.168.1.100:22")
AI: add_proxy(proxy_id="tunnel", name="SSH Tunnel", host="127.0.0.1", port=1080, type="5") AI: add_server(server_id="internal", ..., proxy="tunnel")
AI: add_server(server_id="bastion", name="Bastion", host="bastion.example.com", username="admin", private_key="~/.ssh/id_rsa") AI: add_server(server_id="internal", name="Internal DB", host="10.0.0.5", username="dbadmin", password="", jump_host="bastion")

Server and proxy configurations are stored in:

Passwords are stored in plaintext. For production use, prefer private key authentication.

- Node.js >= 18
- An MCP-compatible client (Claude Code, Claude Desktop, Cursor, etc.)
- Remote server with SSH access

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Production-ready MCP server for AI-driven console automation and monitoring. 40+ tools for session management, SSH, testing, and background jobs.

Hetzner Cloud MCP Server — (Cloud API + SSH)

Hetzner Cloud MCP Server — two management layers (Cloud API + SSH) with 60 tools. Manage server power, snapshots, firewalls, DNS, plus SSH into servers for service control, log viewing, Nginx management, MySQL queries, and system monitoring. Self-hosted PHP, MIT licensed.

Provides remote machine control capabilities, eliminating SSH overhead for token-efficient system operations.

Orchestrates remote server tasks via SSH and SFTP with a persistent queue. Ideal for DevOps and AI agents.

Securely execute remote commands and perform file operations over SSH, with support for both password and key-based authentication.

A remote terminal tool for Cursor to manage and connect to remote servers via SSH, jump hosts, and Docker containers.

MCP server that exposes an SSH server list from a TOML config file

MCP-based SSH session manager for Linux backend teams

An MCP server that provides SSH-based remote management tools, acting as proxy

Execute commands on local or remote hosts via SSH. Supports session persistence and environment variables.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.