yawlabs avatar

SSH MCP Server

yawlabs/ssh-mcp

Need to execute remote commands or manage files over SSH without leaving Claude? This server wraps standard SSH operations into MCP primitives, letting you run shell commands, transfer files, and navigate remote filesystems through the protocol. The built-in diagnostics suggest it includes connection testing and error reporting, which helps when dealing with flaky remote hosts or debugging authentication issues. Reach for this when you're orchestrating deployments, managing remote servers, or need to interact with machines that only expose SSH access. It handles the transport layer so you can focus on what you're actually trying to accomplish on the remote system.

GitHub stars
6
tools
21
transport
STDIO
last updated
Nov 12, 2026

Tools

21 tools

Public tool metadata for what this MCP can expose to an agent.

ssh_agent_ensureEnsure ssh-agent is running. Starts one if needed and sets env vars for the session.

Ensure ssh-agent is running. Starts one if needed and sets env vars for the session.

No parameter schema in public metadata yet.

ssh_key_listList all SSH keys in ~/.ssh/ with type, fingerprint, and agent status.

List all SSH keys in ~/.ssh/ with type, fingerprint, and agent status.

No parameter schema in public metadata yet.

ssh_key_loadLoad a key into the running agent. Ensures the agent is started first.

Load a key into the running agent. Ensures the agent is started first.

No parameter schema in public metadata yet.

ssh_config_lookupResolve the effective SSH config for a host (hostname, user, port, proxy, identity files).

Resolve the effective SSH config for a host (hostname, user, port, proxy, identity files).

No parameter schema in public metadata yet.

ssh_known_hosts_fixRemove a stale host key and re-scan. Fixes "host key verification failed" errors.

Remove a stale host key and re-scan. Fixes "host key verification failed" errors.

No parameter schema in public metadata yet.

ssh_git_checkTest Git-over-SSH auth to GitHub, GitLab, Bitbucket, etc.

Test Git-over-SSH auth to GitHub, GitLab, Bitbucket, etc.

No parameter schema in public metadata yet.

ssh_testQuick connectivity test with timing and actionable error details.

Quick connectivity test with timing and actionable error details.

No parameter schema in public metadata yet.

ssh_diagnoseFull SSH environment diagnostic. Checks agent, keys, config, known_hosts, and connectivity. Returns exact fix commands for every failure.

Full SSH environment diagnostic. Checks agent, keys, config, known_hosts, and connectivity. Returns exact fix commands for every failure.

No parameter schema in public metadata yet.

ssh_execExecute a command on a remote host. Returns up to three content blocks, status first, then stderr, then stdout.

Execute a command on a remote host. Returns up to three content blocks, status first, then stderr, then stdout.

No parameter schema in public metadata yet.

ssh_read_fileRead a file from a remote host via SFTP (whole file up to 10 MB). Optional offset and length read one page.

Read a file from a remote host via SFTP (whole file up to 10 MB). Optional offset and length read one page.

No parameter schema in public metadata yet.

ssh_write_fileWrite content to a file on a remote host via SFTP.

Write content to a file on a remote host via SFTP.

No parameter schema in public metadata yet.

ssh_uploadUpload a local file to a remote host via SFTP.

Upload a local file to a remote host via SFTP.

No parameter schema in public metadata yet.

ssh_downloadDownload a file from a remote host to local filesystem.

Download a file from a remote host to local filesystem.

No parameter schema in public metadata yet.

ssh_lsList files in a directory on a remote host.

List files in a directory on a remote host.

No parameter schema in public metadata yet.

ssh_statGet metadata for a file or directory (size, mode in octal, uid/gid, mtime/atime, isFile/isDirectory/isSymbolicLink).

Get metadata for a file or directory (size, mode in octal, uid/gid, mtime/atime, isFile/isDirectory/isSymbolicLink).

No parameter schema in public metadata yet.

ssh_mkdirCreate a directory via SFTP. Set recursive: true for mkdir -p behavior.

Create a directory via SFTP. Set recursive: true for mkdir -p behavior.

No parameter schema in public metadata yet.

ssh_deleteDelete a file or empty directory via SFTP. Auto-dispatches unlink vs rmdir based on the path's own type.

Delete a file or empty directory via SFTP. Auto-dispatches unlink vs rmdir based on the path's own type.

No parameter schema in public metadata yet.

ssh_multi_execRun a command on multiple hosts in parallel. Returns results per host.

Run a command on multiple hosts in parallel. Returns results per host.

No parameter schema in public metadata yet.

ssh_findSearch for files remotely with structured parameters (name, type, size, depth, newer).

Search for files remotely with structured parameters (name, type, size, depth, newer).

No parameter schema in public metadata yet.

ssh_tailRead the last N lines of a file, optionally filtered by a grep pattern.

Read the last N lines of a file, optionally filtered by a grep pattern.

No parameter schema in public metadata yet.

ssh_service_statusCheck systemd service status (active, PID, uptime, description).

Check systemd service status (active, PID, uptime, description).

No parameter schema in public metadata yet.

Sponsors

Readme

@yawlabs/ssh-mcp

Add to Yaw MCP

One click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.

npm version License: MIT

Make SSH work for AI tools. MCP server that manages your SSH environment, diagnoses what's broken, fixes it, and gives your agent remote access to anything.

Built and maintained by Yaw Labs.

The problem


View the full README on GitHub

Details

Repository
github.com/yawlabs/ssh-mcp
Website
yaw.sh/mcp-servers/ssh-mcp
Package
@yawlabs/ssh-mcp
Transport
STDIO
Registry
MCP registry, active

More from yawlabs