Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI β†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE β†— (opens in a new tab)
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. πŸ€– Coding Agents
  3. Ssh MCP
Ssh MCP logo
Health: ActiveRecent health check succeeded.Last checked 9/11/2026, 8:16:36 PM

Ssh MCP

User RatingsBe the first to rate and review this MCP server!
View Repository718 GitHub StarsTotal stargazers on GitHub for the source repository (718 stars).Visit Website
sshremote-executionlinuxwindowsshell

MCP server enabling secure remote SSH command execution on Linux and Windows with password or key authentication.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
We couldn’t automatically confirm this listing starts correctly

We ran the install command below but it didn't respond within our test window β€” this can mean a slow first-time install rather than a real problem.

npx -y ssh-mcp

No response to initialize.

This is an experimental automated check and can have false negatives β€” missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Manual Client & Custom JSON ConfigExpand JSON β–Ύ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "tufantunc-ssh-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ssh-mcp"
      ]
    }
  }
}

πŸ’‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Tool Schemas (11) Directory Badge Claim listing AlternativesπŸ€– More in Coding Agents

Overview

This MCP server exposes SSH control to execute shell commands remotely on Linux and Windows systems. It supports secure authentication via password or SSH key and allows running commands with optional sudo or su elevation. The server includes configurable timeout and command length limits, aborting hanging processes gracefully. Use it to integrate SSH command execution into LLMs or MCP clients.

Use cases

β€’Execute remote shell commands on Linux or Windows servers
β€’Run commands with sudo privileges remotely
β€’Integrate SSH command execution into AI agents or IDEs
β€’Automate server management tasks via natural language
β€’Control remote servers securely using password or key authentication

Key features

β€’MCP-compliant SSH command execution
β€’Supports password and SSH key authentication
β€’Execute commands with sudo or su elevation
β€’Configurable command timeout with process abortion
β€’Configurable max command length or unlimited
β€’Graceful handling of hanging commands

Capabilities & Tool Schemas (11) ~190 tokensApproximate context cost of this server’s tool schemas (~4 chars/token), before any tool is called. Actual usage depends on your client and model.Self-reported Self-reportedParsed from the repository README, not verified against a live server β€” may be incomplete or out of date.

Inspect callable tools, capabilities, and parameters exposed to AI agents by Ssh MCP.

list-connections

Discover available hosts and connection status

list-sessions

List active sessions per host

open-session

Create a named interactive (stateful) or background session

close-session

Close a session. A background session's command is signalled (INT/TERM/KILL) before its channel is dropped

read-session-output

Read output from background sessions (e.g., `tail -f`)

read-command

Execute allowlisted read-only commands (`ls`, `cat`, `grep`, ...)

Documentation Overview

SSH MCP Server v2

NPM Version Downloads CI OpenSSF Scorecard codecov License GitHub issues

SSH MCP Server is a security-first Model Context Protocol server that gives LLM agents controlled SSH access to remote hosts β€” with command classification, policy-based authorization, human-in-the-loop approval, and full audit logging.

The risk this server exists to manage. Giving an LLM shell access on a remote host puts private data, untrusted input and network egress in one place β€” Simon Willison's "lethal trifecta". Prompt injection has no general fix, so ssh-mcp assumes any command may be attacker-influenced: it classifies before executing, authorizes against a role Γ— host-group matrix, gates destructive work behind approval, and records the decision either way. That narrows the blast radius; it does not remove the risk. Two things stay yours: never point it at a root account, and never set auto approval on a production profile. SECURITY.md has the full threat model.


Quick Start

1. Install

Terminal
npm install -g ssh-mcp

2. Configure

Without a config the server still starts, so a client or directory can complete the MCP handshake and read tools/list β€” but every tool call is refused until you configure it, with a message naming the path below. Nothing runs on a host until this step is done.

Create the config file at the path for your platform:

PlatformPath
Linux~/.config/ssh-mcp/config.toml (or $XDG_CONFIG_HOME/ssh-mcp/config.toml)
macOS~/Library/Application Support/ssh-mcp/config.toml
Windows%APPDATA%\ssh-mcp\config.toml
toml
[defaults]
defaultProfile = "dev"
approvalMode = "ask-destructive"

[[profiles]]
name = "dev"
host = "192.168.1.100"
port = 22
user = "deploy"           # NOT root!
auth = "key"
keyRef = "~/.ssh/id_ed25519"
role = "admin"
approvalPolicy = "auto"    # dev is permissive
bash
chmod 700 ~/.config/ssh-mcp && chmod 600 ~/.config/ssh-mcp/config.toml

The config decides which hosts, roles and policy rules this server honours, so it checks that nobody but you can read it β€” and treats the two platforms differently, because the question has a much clearer answer on one of them.

Linux and macOS: enforced. The mode check above, on the file and the directory β€” which is why chmod 700 is in that command, since mkdir -p under the default umask leaves the directory 0755. The server refuses to start otherwise. "Only the owner" is unambiguous here and chmod is a one-line fix.

Windows: split by what the ACL actually allows. There are no mode bits, so the ACL is read instead β€” and read exposure and write exposure are not treated alike, because Windows is much clearer about one of them than the other.

The ACL lets another account…Default
only read the configreported, and the server starts
change the configrefused
nothing (no ACL at all)refused β€” that is full control for everyone
…and if the ACL could not be readrefused, except when icacls is absent or the check timed out

A config under %APPDATA% inherits access for you, SYSTEM and Administrators and needs nothing done to it. One created elsewhere does not: a file under C:\ inherits read for every local account and modify for every authenticated one. The message names the two icacls commands that fix it either way.

Read exposure is reported rather than refused because that is where Windows is genuinely muddier than POSIX, and refusing over it blocked a config at the documented location (#138). Write exposure is refused because it is not muddy at all: another account being able to rewrite the file that decides which hosts, roles and approval policy this server honours is an authorization bypass, not a disclosure.

Two flags move the whole thing: --strictConfigAcl refuses everything the check objects to, read-only grants included; --allowUncheckedConfigAcl reports everything and refuses nothing. Neither combination leaves you without an exit, which is the lesson of #138.

Exit statuses

StatusMeaning
0Clean shutdown
1A defect in the server β€” printed with a stack trace; please report it
2How it was invoked or configured β€” printed as a message, no stack

A supervisor that treats any non-zero status as a failure needs no change. One that matched on 1 to detect a startup problem should match on 2 as well.

Starting with nothing configured is not an exit-2 condition, as of the release that added introspection without a config: the server starts so it can be described, and refuses each tool call instead. A supervisor that used a non-zero exit to catch an unconfigured deployment should watch for starting unconfigured on stderr, or read configured from GET /health when running the HTTP transport.

3. Set credentials via environment variables

server.ts
export SSH_MCP_PASSWORD="your-password"        # if using auth=password
# OR use SSH agent (recommended):
export SSH_AUTH_SOCK="$SSH_AUTH_SOCK"           # already set if agent running

4. Connect from your MCP client

Claude Code:

Terminal
claude mcp add --transport stdio ssh-mcp -- ssh-mcp

Claude Desktop / Cursor / Windsurf:

config.json
{
  "mcpServers": {
    "ssh-mcp": {
      "command": "ssh-mcp",
      "env": {
        "SSH_MCP_PASSWORD": "your-password"
      }
    }
  }
}

Never pass passwords as CLI arguments β€” they're visible via ps aux. Use env vars, config files, SSH agent, or OS keychain.


Tools (11)

ToolPurposereadOnlydestructive
list-connectionsDiscover available hosts and connection statusβœ…β€”
list-sessionsList active sessions per hostβœ…β€”
open-sessionCreate a named interactive (stateful) or background sessionβ€”β€”
close-sessionClose a session. A background session's command is signalled (INT/TERM/KILL) before its channel is droppedβ€”βœ…
read-session-outputRead output from background sessions (e.g., tail -f)βœ…β€”
read-commandExecute allowlisted read-only commands (ls, cat, grep, ...)βœ…β€”
run-commandExecute arbitrary commands (destructive/privileged need approval, unless approvalPolicy = "auto")β€”β€”
privileged-commandExecute with sudo (needs approval, unless approvalPolicy = "auto")β€”βœ…
sftp-uploadUpload a file via SFTPβ€”βœ…
sftp-downloadDownload a file via SFTPβœ…β€”
signal-processSend INT/TERM/KILL to a remote PIDβ€”βœ…

Interactive Sessions

Sessions maintain state (CWD, environment variables) between commands:

Code
Agent: open-session(name="deploy", type="interactive")
Agent: run-command(session="deploy", command="cd /opt/myapp")
Agent: run-command(session="deploy", command="git pull")    # runs in /opt/myapp
Agent: run-command(session="deploy", command="npm ci")      # CWD persists
Agent: close-session(name="deploy")

Background Sessions

Long-running processes (logs, builds):

Code
Agent: open-session(name="logs", type="background", command="tail -f /var/log/syslog")
Agent: read-session-output(name="logs", lines=20)   # poll
Agent: close-session(name="logs")

Remote host support

Tested against Linux (Debian/bash, Alpine/busybox ash), Dropbear, and Windows OpenSSH on Windows 11.

Linux / BSD / macOSWindows OpenSSH
read-command, run-command, privileged-command, signal-processβœ…βœ…
sftp-upload, sftp-downloadβœ…βœ…
Background sessionsβœ…βœ…
Interactive sessionsβœ…βŒ

Interactive sessions require a POSIX shell (sh, bash, ash, zsh). They work by bracketing each command with printf markers and reading $? and $PWD from a trailer β€” none of which exist in cmd.exe, the default shell for Windows OpenSSH. Opening one against such a host fails immediately with an explicit error rather than timing out; everything else works normally.

Setting PowerShell as the OpenSSH DefaultShell does not help: the protocol is POSIX-specific, not merely non-cmd.


Configuration

Profile options

toml
[defaults]
defaultProfile = "dev"
sessionMaxPerConnection = 5
sessionIdleTimeoutMs = 600000       # 10min
sessionBackgroundMaxMs = 3600000    # 1hr
commandTimeoutMs = 60000
commandMaxChars = 5000              # 0 = unlimited, the config spelling of --maxChars=none
commandMaxOutputBytes = 1048576     # 1MB
connectionIdleReapMs = 900000       # 15min
commandQuotaPerDay = 0              # 0 = unlimited; circuit breaker for runaway agents
approvalGrantTtlMs = 0              # 0 = always prompt; see "Approval Grants"
approvalMode = "ask-destructive"    # auto | ask-destructive | ask-all | deny

Read the full README β†’View source on GitHub β†’

Related MCP Servers

View all in Coding Agents View all alternatives
  • Developer logoDeveloper

    Comprehensive developer tools for file editing, shell command execution, and screen capture capabilities

    πŸ€– Coding Agents1 views
    Compare vs Developer β†’
  • Codex MCP Tool logoCodex MCP Tool

    MCP server that connects your IDE or AI assistant to Codex CLI for code analysis and editing with support for multiple models (gpt-5-codex, o3, codex-1)

    πŸ€– Coding Agents4 views
    Compare vs Codex MCP Tool β†’
  • MCP Shell Server logoMCP Shell Server

    A secure shell command execution server implementing the Model Context Protocol (MCP)

    πŸ€– Coding Agents3 views
    Compare vs MCP Shell Server β†’
  • MCP Server Commands logoMCP Server Commands

    Run any command with runcommand and runscript tools.

    πŸ€– Coding Agents2 views
    Compare vs MCP Server Commands β†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars
718
Stargazers on the source repository.
npm downloads
109k
Package downloads in the last 30 days.
Last commit
2d ago
Most recent push to the default branch.
Install check
Inconclusive
Didn't respond in our test window β€” often a slow first install.
Tools exposed
11
Callable tools this server registers over MCP.
Directory activity
2 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet β€” be the first to share how this listing worked for you.

Frequently Asked Questions about Ssh MCP

You can authenticate using either a password or an SSH private key.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSsh MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/tufantunc-ssh-mcp?style=directory)](https://allmcps.com/mcp/tufantunc-ssh-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/tufantunc-ssh-mcp"><img src="https://allmcps.com/api/badge/tufantunc-ssh-mcp?style=directory" alt="Ssh MCP on AllMCPs" /></a>

Technical Specs & Signals

CategoryπŸ€–Coding Agents
PricingFree
More technical detailsExpand β–Ύ
TransportSTDIO
RuntimeNode.js
AuthNo auth required
LicenseMIT
ClientsClaude Desktop, Cursor, Windsurf
Last updatedSep 10, 2026
10/11 checks healthy over the last 33d
Views2
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars718
GitHub Star CountTotal stargazers on GitHub representing community popularity (718 stars).
Last commit2d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Sep 10, 2026
npm downloads109,256/mo
Monthly npm DownloadsAverage monthly package installs recorded from npm registry statistics.
68Quality signal: Great Β· 68/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools28/30
Adoption & activity13/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 22d ago via OSV.dev Β· ssh-mcp (npm)

β˜… FeaturedMoxie Docs MCP logo

Moxie Docs MCP

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

Explore Server β†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge β€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it β€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in πŸ€– Coding Agents β†’Best MCP servers for Coding Agents β†’Alternatives to Ssh MCP β†’Install in Claude DesktopInstall in CursorInstall in VS Code