ssh-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ssh-mcpCheck disk space on the remote server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SSH MCP
A cross-platform MCP (Model Context Protocol) server that lets Claude Code — or any MCP client — read, write, edit, search, run commands, transfer files, and use git on a remote Linux server over SSH. The server runs on your local machine; nothing is installed on the remote.
It uses a pure-Python SSH transport (Paramiko), so
it runs natively on Windows, macOS, and Linux — no WSL, no native ssh
client, no SSH ControlMaster. Authentication uses your SSH key / agent /
~/.ssh/config; credentials never pass through the MCP channel.
Why
Sometimes the remote box is great for the code but can't run the agent — e.g. the network blocks the model's API, or you don't want to install/authenticate an agent on a shared server. SSH MCP flips it: the agent runs locally (with internet + your credentials) and reaches into the remote host over plain SSH.
┌──────────────┐ MCP (stdio) ┌──────────────┐ SSH / SFTP ┌───────────────┐
│ Claude Code │ ◄───────────────► │ ssh-mcp │ ◄─────────────► │ Remote server │
│ (local) │ tool calls │ (Paramiko) │ exec + files │ (Linux / bash) │
└──────────────┘ └──────────────┘ └───────────────┘Related MCP server: remote-mcp
Features
22 MCP tools — files, line-edits, commands, background jobs, search, git, and binary-safe file transfer.
Binary-safe upload/download over SFTP —
.db, images, archives, etc., streamed (large files don't load into memory).Zero remote install — uses standard tools already on the remote.
Flexible auth — keys, ssh-agent,
~/.ssh/config,ProxyCommand.Atomic writes, output truncation, binary-file detection, background jobs.
Requirements
Python 3.10+
An SSH key / agent /
~/.ssh/configentry that can reach the remote hostuv (recommended) or pip
Claude Code (optional, to use it as an MCP server)
Install
git clone <your-repo-url> ssh-mcp
cd ssh-mcp
uv tool install . # puts the `ssh-mcp` command on your PATHOr with pip:
python -m venv .venv && . .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -e .Configure
Create ~/.config/ssh-mcp/config.yaml from the example and edit it:
mkdir -p ~/.config/ssh-mcp
cp config.example.yaml ~/.config/ssh-mcp/config.yaml# Windows (PowerShell)
mkdir "$env:USERPROFILE\.config\ssh-mcp" -Force
copy config.example.yaml "$env:USERPROFILE\.config\ssh-mcp\config.yaml"Minimal config:
default_host: myserver
hosts:
myserver:
ssh_host: server.example.com # hostname/IP or a ~/.ssh/config alias
user: jdoe
key_path: "~/.ssh/id_ed25519" # omit to use agent / default keys / ssh_config
default_cwd: "~/project"Register with Claude Code
claude mcp add --scope user ssh-mcp -- ssh-mcpThen run claude and ask: "List the files in ~/project on the remote server."
Tools
Commands: ssh_run · ssh_run_background · ssh_job_status
Connection: ssh_check_connection
Files: ssh_read_file · ssh_write_file · ssh_patch_file ·
ssh_append_file · ssh_insert_lines · ssh_replace_lines · ssh_list_dir ·
ssh_file_info · ssh_mkdir · ssh_move · ssh_delete
Transfer (binary-safe, SFTP): ssh_upload · ssh_download
Search: ssh_grep · ssh_find_files
Git: ssh_git_status · ssh_git_diff · ssh_git_log
Text vs binary:
ssh_write_fileis for text (UTF-8). For binary files (.db, images, archives) usessh_upload/ssh_download, which use SFTP and preserve bytes exactly.
Configuration reference
Key | Default | Meaning |
| — (required) | hostname/IP or |
| ssh_config / system | SSH username |
|
| SSH port |
| — | private key file (else agent / default keys / ssh_config) |
| — | password auth (discouraged) |
|
| read |
|
| reject unknown host keys |
| — |
|
|
| connect timeout (s) |
| — | shell sourced before each command |
|
| working directory |
|
| timeouts (s) |
|
| text read/write cap (binary transfer is unbounded) |
|
| command output truncation |
Config path: ~/.config/ssh-mcp/config.yaml (override with SSH_MCP_CONFIG or
ssh-mcp --config <path>).
Development
uv sync --extra dev
uv run pytest -qLicense
AGPL-3.0 — see LICENSE and NOTICE. This project is a modified version of a third-party AGPL-3.0 work and remains under the same license.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceEnables AI agents to remotely read/write files and execute commands on Linux servers via MCP protocol.Last updated4MIT
- Alicense-qualityBmaintenanceA local MCP server that proxies file and shell tools (Read, Write, Edit, Bash, etc.) to a remote Linux host over SSH, enabling MCP clients like Claude Code to operate on remote codebases.Last updatedMIT
- Alicense-qualityDmaintenanceMCP server for SSH remote execution, file transfer, and file editing with automatic backup/trash and ~/.ssh/config integration.Last updated1171MIT
- Alicense-qualityCmaintenanceA secure, git-aware MCP server for working with local repositories, enabling file management, shell commands, and full git operations within allowed directories.Last updated4321GPL 3.0
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
An MCP server for deep research or task groups
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mkavinkumar1/ssh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server