SSH MCP Server

this is a collection of tools that allows your agent to execute commands on your remote servers

Local serverstdioTypeScript

What is the SSH MCP server?

this is a collection of tools that allows your agent to execute commands on your remote servers. That is what the ssh mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

A Model Context Protocol (MCP) server implementation that provides SSH capabilities. This server allows for secure remote access and execution through the MCP protocol.

  • SSH server implementation using MCP protocol
  • SQLite database integration for data persistence
  • TypeScript implementation for type safety and better development experience

The tools it exposes

The server publishes 9 tools. What each one is for:

  • add_credential — save { "name", "host", "username", "privateKeyPath" }
  • list_credentials — list stored credential records
  • remove_credential — delete { "name" }
  • ssh_exec — run a shell command with { "credentialName", "command", "timeout" }
  • ssh_exec_raw — run an argv-style command array, for example { "credentialName": "prod", "command": ["grep", "-E", "foo|bar", "/var/log/app.log"] }
  • scp_copy — copy one file over SFTP with { "credentialName", "localPath", "remotePath", "direction" }
  • rsync_copy — copy directories or larger trees with rsync and the same transfer shape
  • Configuration — The server uses a SQLite database (ssh.db) to store SSH credentials. The database file will be created automatically when the server starts
  • Tools — The server stores named credentials, then every remote action refers to a credentialName. privateKeyPath must point to an existing private key

Getting it running

The server ships on npm as @smithery/cli, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

What it needs from you

  • Node.js 18 or higher - npm or yarn package manager - TypeScript knowledge for development

How it compares

Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. SSH's toolset — add_credential, list_credentials, remove_credential and 6 more — is a fair guide to whether it matches your workflow. It is maintained by KinoThe-Kafkaesque; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against SSH's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch SSH.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
add_credentialsave { "name", "host", "username", "privateKeyPath" }.
list_credentialslist stored credential records.
remove_credentialdelete { "name" }.
ssh_execrun a shell command with { "credentialName", "command", "timeout" }.
ssh_exec_rawrun an argv-style command array, for example { "credentialName": "prod", "command": ["grep", "-E", "foo|bar", "/var/log/app.log"] }.
scp_copycopy one file over SFTP with { "credentialName", "localPath", "remotePath", "direction" }.
rsync_copycopy directories or larger trees with rsync and the same transfer shape.
ConfigurationThe server uses a SQLite database (ssh.db) to store SSH credentials. The database file will be created automatically when the server starts.
ToolsThe server stores named credentials, then every remote action refers to a credentialName. privateKeyPath must point to an existing private key.

How to install the SSH MCP server

{
  "mcpServers": {
    "ssh-mcp-server-kinothe-kafkaesque": {
      "command": "npx",
      "args": ["-y", "@smithery/cli"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Node.js 18 or higher - npm or yarn package manager - TypeScript knowledge for development

Example prompts to try

  • Use SSH to add credential.
  • Use SSH to list credentials.
  • Use SSH to remove credential.

Frequently asked questions

Node.js 18 or higher, a package manager (npm or yarn), and TypeScript knowledge for development.