GitDiagram
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
MCP server for executing shell commands on remote hosts via SSH.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 15, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
Copy this message into a Claude chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Ssh Client MCP Server for Claude on this computer, in this order: 1) Check Node.js with node -v. If it is missing, tell me to install it from https://nodejs.org/en/download; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "ssh-client": { "command": "npx", "args": [ "-y", "ssh-client-mcp-server", "--host", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Ssh Client MCP Server tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
node -vMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: Open the official download page, pick the LTS version and the click-through installer: .pkg on Mac · .msi on Windows. Double-click and follow it to the end. No curl command needed
Open the Node.js download page ↗
When it’s done, close Terminal, open it again and run the same command. You should see a version number: node -v
Install once; it works for everything that needs Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"ssh-client": {
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}Use Ssh Client MCP Server and tell me what you can do for me, then show me one thing✓ If Claude says it is using Ssh Client MCP Server or shows a Ssh Client MCP Server tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Ssh Client MCP Server yet
Ssh Client MCP Server runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Ssh Client MCP Server
B · Others in Developer tools that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Node.js on your computer first (one time)
Copy this message into a Claude Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Ssh Client MCP Server for Claude Code on this computer, in this order: 1) Check Node.js with node -v. If it is missing, tell me to install it from https://nodejs.org/en/download; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): claude mcp add --scope user ssh-client -- npx -y ssh-client-mcp-server --host your-value 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Ssh Client MCP Server tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
node -vMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: Open the official download page, pick the LTS version and the click-through installer: .pkg on Mac · .msi on Windows. Double-click and follow it to the end. No curl command needed
Open the Node.js download page ↗
When it’s done, close Terminal, open it again and run the same command. You should see a version number: node -v
Install once; it works for everything that needs Node.js
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user ssh-client -- npx -y ssh-client-mcp-server --host your-valueYou should see Ssh Client MCP Server listed as connected
Use Ssh Client MCP Server and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Ssh Client MCP Server or shows a Ssh Client MCP Server tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Node.js on your computer first (one time) · No one-click button: paste the settings and fill in the values yourself
Copy this message into a Cursor chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Ssh Client MCP Server for Cursor on this computer, in this order: 1) Check Node.js with node -v. If it is missing, tell me to install it from https://nodejs.org/en/download; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "ssh-client": { "command": "npx", "args": [ "-y", "ssh-client-mcp-server", "--host", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Ssh Client MCP Server tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
node -vMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: Open the official download page, pick the LTS version and the click-through installer: .pkg on Mac · .msi on Windows. Double-click and follow it to the end. No curl command needed
Open the Node.js download page ↗
When it’s done, close Terminal, open it again and run the same command. You should see a version number: node -v
Install once; it works for everything that needs Node.js
~/.cursor/mcp.json
Paste these settings, fill in the empty values and save
{
"mcpServers": {
"ssh-client": {
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}Use Ssh Client MCP Server and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Ssh Client MCP Server or shows a Ssh Client MCP Server tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Node.js on your computer first (one time) · No one-click button: paste the settings and fill in the values yourself
Copy this message into a VS Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Ssh Client MCP Server for VS Code on this computer, in this order: 1) Check Node.js with node -v. If it is missing, tell me to install it from https://nodejs.org/en/download; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "servers": { "ssh-client": { "type": "stdio", "command": "npx", "args": [ "-y", "ssh-client-mcp-server", "--host", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Ssh Client MCP Server tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
node -vMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: Open the official download page, pick the LTS version and the click-through installer: .pkg on Mac · .msi on Windows. Double-click and follow it to the end. No curl command needed
Open the Node.js download page ↗
When it’s done, close Terminal, open it again and run the same command. You should see a version number: node -v
Install once; it works for everything that needs Node.js
MCP: Open User Configuration
Paste these settings, fill in the empty values and save
{
"servers": {
"ssh-client": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}Use Ssh Client MCP Server and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Ssh Client MCP Server or shows a Ssh Client MCP Server tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user ssh-client -- npx -y ssh-client-mcp-server --host your-valueClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ssh-client": {
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"ssh-client": {
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"ssh-client": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ssh-client-mcp-server",
"--host",
"your-value"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: ssh-client-mcp-serverBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 15, 2026
The registry name was verified with the GitHub account jordanburke, which owns the repo
Code last changed today
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
No entries on OSV.dev for ssh-client-mcp-server@1.6.2
Checks only this package version, not every dependency · checked Nov 15, 2026
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed today, and the latest version (1.6.2) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.
Cloudflare MCP servers
Deploy durable AI agents with Omnara, an open-source managed-agent platform.
Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
SSH Client MCP Server is a local Model Context Protocol (MCP) server that lets LLMs and other MCP clients execute shell commands on remote hosts over SSH. It runs from Linux, macOS, or Windows and targets any reachable SSH server (Linux, macOS, Windows with OpenSSH, etc.).
Built on somamcp — a functional MCP framework on the MCP TypeScript SDK 2.x, with telemetry and introspection.
This repository is a pnpm monorepo with three packages:
| Package | npm name | Role |
|---|---|---|
packages/core | @ssh-mcp/core (private) | Shared SSH pool, tmux command builders, and auth resolution. Bundled into the other packages; not published separately. |
packages/connector | ssh-client-mcp-server | Single-host MCP server (the original package). exec + tmux_* tools for one configured SSH host. |
packages/orchestrator | ssh-fleet-mcp-server | Multi-host fleet MCP server. Host-routed exec + tmux_* tools driven by a TOML fleet config. |
For the fleet server, start with its README: first run, fleet_setup, audit log, policy, CA mode, and running on several machines (where to register it, installing on a hub, per-hub keys versus CA mode, macOS hosts).
Run the full validation suite across all packages:
pnpm -r validate
npx — see Client Setup.No global install required — npx fetches and runs the latest published version.
[stderr] marker. A failure reads exit : then stderr, then stdout under [stdout]; a command a signal ended reads exit 137 (signal KILL).SSH_AUTH_SOCK (system ssh-agent, 1Password, Bitwarden Desktop, KeePassXC).--key supports ~, $VAR, ${VAR}, and relative paths via functype-os. Unresolved variables fail fast with a typed error.--user defaults to the current OS username when omitted.exec call.info tool, auto-registered by somamcp, reports the server's name, version, runtime, and tool counts.| Tool | Description |
|---|---|
exec | Execute a shell command on the remote SSH server and return its output. |
info | Server name, version, runtime, and registered tool counts. |
For driving long-running interactive processes (e.g. a remote coding agent) across calls, the server exposes tmux-backed tools. tmux must be installed on the remote host.
tmux_list — list live tmux sessions.tmux_send({ session?, input, submit? }) — type input into session (created if absent); presses Enter unless submit: false.tmux_read({ session?, lines? }) — return the recent pane transcript (lines default 200, max 2000).tmux_keys({ session?, keys }) — send control/special keys, e.g. { keys: ["C-c"] }.session defaults to --tmux-session (default agent). Tip: run agents in a line-oriented mode (not a full-screen TUI) so tmux_read returns a clean transcript.
npx (recommended)No install step — your MCP client launches it on demand. See Client Setup.
npm install -g ssh-client-mcp-server
ssh-client-mcp-server --host=1.2.3.4 --user=root --password=pass
git clone https://github.com/jordanburke/ssh-client-mcp-server.git
cd ssh-client-mcp-server pnpm install pnpm build
The server reads SSH connection info from CLI flags:
| Flag | Required | Default | Description |
|---|---|---|---|
--host | yes | — | Hostname or IP of the remote SSH server. |
--user | no | OS username | SSH username. Falls back to the local OS user (whoami) when omitted. |
--port | no | 22 | SSH port. |
--password | no\* | — | SSH password. |
--key | no\* | — | Path to a private SSH key. Supports ~, $VAR, ${VAR}, and relative paths. |
--key-env | no\* | — | Name of an env var holding the private key PEM (e.g. injected by envpkt, Vault, Doppler). |
--agent | no\* | — | Set to true to use SSH_AUTH_SOCK (system ssh-agent, 1Password, Bitwarden Desktop, KeePassXC). |
\*Auth precedence is --password → --key → --key-env → --agent. If none are set the server starts but ssh2 will fail to authenticate on first exec.
Each of these can expose your SSH keys via SSH_AUTH_SOCK. Unlock the vault, confirm the agent is enabled, then run with --agent=true — the server never sees the private key.
# verify the agent is reachable
ssh-add -l
ssh-client-mcp-server --host=1.2.3.4 --user=root --agent=true
For Bitwarden Desktop ≥ 2024.12: enable Settings → SSH agent, then on macOS confirm launchctl getenv SSH_AUTH_SOCK points at Bitwarden's socket.
Store the PEM as a sealed value in envpkt.toml, then launch via envpkt exec:
envpkt exec -- ssh-client-mcp-server --host=1.2.3.4 --user=root --key-env=MY_SSH_KEY
Same pattern works for HashiCorp Vault, Doppler, Infisical, AWS Secrets Manager, or any wrapper that lands the key in process.env.
claude_desktop_config.json){
"mcpServers": { "ssh-client-mcp-server": { "command": "npx", "args": ["-y", "ssh-client-mcp-server", "--host=1.2.3.4", "--user=root", "--key=~/.ssh/id_ed25519"] } } }
Replace the --key arg with --password=hunter2. Avoid checking this into version control.
Omit --user entirely — the server defaults to your local username.
Any client that speaks the stdio MCP transport works. Same command / args shape.
npx @modelcontextprotocol/inspector npx ssh-client-mcp-server --host=1.2.3.4 --user=root --key=~/.ssh/id_ed25519
pnpm build)pnpm inspect
This builds and launches the MCP Inspector pointed at dist/index.js.
All tooling is delegated to ts-builds:
pnpm validate # format → lint → typecheck → test → build
pnpm test # vitest run pnpm test:watch # vitest watch mode pnpm build # production build to dist/ pnpm dev # tsdown watch mode to lib/ pnpm inspect # build + launch MCP Inspector
Pure helpers (parseArgv, validateConfig, resolveAuth, effectiveUser) live in src/config.ts and are covered by test/config.spec.ts (18 cases, including tempfile-backed key reads and env-var expansion).
Provided under the MIT License. Use at your own risk. Not affiliated with or endorsed by any SSH vendor or MCP provider. Be careful granting LLMs shell access — audit commands, restrict target-account privileges, and consider a jump box.
Issues and PRs welcome at jordanburke/ssh-client-mcp-server. Please run pnpm validate before submitting.