mcp-remote-ssh
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., "@mcp-remote-sshssh to staging host and execute 'uptime'"
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.
mcp-remote-ssh
MCP server giving AI agents full SSH access -- persistent sessions, structured command output, SFTP file transfer, and port forwarding. Works with any SSH server on any platform.
Why this exists
Every other SSH MCP server is missing something: no password auth, no persistent sessions, no SFTP, no port forwarding, or no structured exit codes. This one has all of them.
Installation
uvx mcp-remote-ssh # or: pip install mcp-remote-sshConfiguration
{
"mcpServers": {
"remote-ssh": {
"command": "uvx",
"args": ["mcp-remote-ssh"]
}
}
}Tools (18)
Connection
Tool | Description |
| Connect with password, key, or agent auth. Returns |
| List active sessions |
| Close a session and release resources |
Execution
Tool | Description |
| Run a command, returns |
| Run with sudo elevation |
Interactive Shell
Tool | Description |
| Open persistent shell (preserves cwd, env, processes) |
| Send text (with optional Enter) |
| Read current output buffer |
| Send Ctrl+C, Ctrl+D, etc. |
| Wait for a pattern or output to stabilize |
SFTP
Tool | Description |
| Upload local file to remote host |
| Download remote file to local machine |
| Read a remote text file |
| Write/append to a remote file |
| List directory with metadata |
Port Forwarding
Tool | Description |
| Create SSH tunnel (local -> remote) |
| List active tunnels |
| Close a tunnel |
Quick start
ssh_connect(host="server.example.com", username="admin", password="secret")
→ {"session_id": "a1b2c3d4", "connected": true}
ssh_execute(session_id="a1b2c3d4", command="uname -a")
→ {"stdout": "Linux ...", "stderr": "", "exit_code": 0}
ssh_shell_open(session_id="a1b2c3d4")
ssh_shell_send(session_id="a1b2c3d4", data="cd /opt && make -j$(nproc)")
ssh_shell_wait(session_id="a1b2c3d4", pattern="$ ", timeout=600)
ssh_upload_file(session_id="a1b2c3d4", local_path="config.yaml", remote_path="/etc/app/config.yaml")
ssh_forward_port(session_id="a1b2c3d4", remote_port=5432, local_port=15432)Design
Built on Paramiko (SSH) + FastMCP (MCP protocol).
ssh_executeusesexec_command()for clean structured output with real exit codesssh_shell_*usesinvoke_shell()for persistent interactive sessionsAll blocking Paramiko calls run in
run_in_executorto stay asyncShell keeps a 500KB rolling buffer for
shell_readpolling
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/faizbawa/mcp-remote-ssh'
If you have feedback or need assistance with the MCP directory API, please join our Discord server