SSH Remote MCP Server
Servidor MCP remoto SSH
Acceso remoto SSH para clientes compatibles con MCP a través del Protocolo de Contexto de Modelo (MCP).
Inicio rápido
Utilice un entorno virtual creado por el mismo sistema operativo que iniciará el servidor MCP. No comparta un venv entre Windows y WSL/Linux.
Windows
Instalar:
.\install.ps1Añadir el MCP en Claude Desktop, Claude Code o Codex:
{ "mcpServers": { "ssh-remote": { "command": "C:\\Users\\Intel\\Desktop\\adremote-mcp\\.venv-win\\Scripts\\python.exe", "args": [ "C:\\Users\\Intel\\Desktop\\adremote-mcp\\ssh_mcp_server.py" ] } } }Si ya tiene un Python de Windows con
paramikoymcpinstalados, puede usar ese intérprete directamente en lugar de.venv-win.
WSL/Linux
Instalar:
./install.shAñadir el MCP en Claude Desktop, Claude Code o Codex:
{ "mcpServers": { "ssh-remote": { "command": "/home/user/adremote-mcp/.venv-linux/bin/python", "args": [ "/home/user/adremote-mcp/ssh_mcp_server.py" ] } } }Si se accede al repositorio a través de WSL desde la unidad de Windows, utilice la ruta de WSL:
{ "mcpServers": { "ssh-remote": { "command": "/mnt/c/Users/Intel/Desktop/adremote-mcp/.venv-linux/bin/python", "args": [ "/mnt/c/Users/Intel/Desktop/adremote-mcp/ssh_mcp_server.py" ] } } }
Lanzadores portátiles
También puede apuntar un cliente MCP al lanzador incluido para el sistema operativo correspondiente:
Windows:
C:\Users\Intel\Desktop\adremote-mcp\run-ssh-mcp.cmdWSL/Linux:
/path/to/adremote-mcp/run-ssh-mcp.sh
Los lanzadores prefieren el venv específico del sistema operativo y, si no, recurren a python3 o python. En Windows, se puede configurar SSH_MCP_PYTHON para forzar un intérprete de Python específico.
Para clientes WSL/Linux, utilice command: "/bin/sh" con args: ["/path/to/adremote-mcp/run-ssh-mcp.sh"] si el script no está marcado como ejecutable.
Ejecución directa
Después de instalar las dependencias, puede ejecutar el servidor directamente:
Windows:
.\.venv-win\Scripts\python.exe .\ssh_mcp_server.pyWSL/Linux:
./.venv-linux/bin/python ssh_mcp_server.pyConfiguración automática
Descargue este repositorio, ejecute Claude o Codex y pídale que añada esta carpeta como un servidor MCP global para su sistema operativo actual. Después de eso, puede usarlo directamente desde el chat.
Solución de problemas
Si Windows informa:
No Python at '"/usr/bin\python.exe'el MCP apunta a un venv creado por WSL/Linux. Cree un venv de Windows con .\install.ps1 y actualice el comando MCP a .venv-win\Scripts\python.exe.
Related MCP server: MCP SSH Server
Características
Funciona con clientes compatibles con MCP en Windows y Linux
Conexión a servidores remotos mediante SSH
Soporte nativo para SSH jump-host / bastion
Ejecución de comandos de forma remota
Carga/descarga de archivos mediante SFTP
Gestión de múltiples conexiones
Monitoreo de salud
Ejemplos de uso
Conectar con contraseña:
Connect to 192.168.1.100 with username ubuntu and password mypasso en forma abreviada:
ssh 192.168.1.100:22 ubuntu mypassEl MCP primero prueba la conexión SSH con su nombre de usuario y contraseña. Si el inicio de sesión funciona, genera o instala una clave SSH, guarda la credencial basada en clave localmente y no guarda la contraseña. La contraseña solo se utiliza la primera vez.
Conectar con contraseña para una sesión única:
ssh 192.168.1.100:22 ubuntu mypass, save_credentials falseEsto mantiene solo la conexión en vivo. No se guarda ninguna credencial reutilizable y no se intenta el arranque automático de claves.
Conectar más tarde usando el nombre guardado:
ssh saved-nameDespués de la primera configuración exitosa, simplemente use el nombre de la credencial guardada para volver a conectar.
Conectar con una clave privada cifrada (protegida por frase de contraseña):
Connect to 10.0.2.15 as ubuntu using private key ~/.ssh/id_ed25519 with passphrase mysecreto mediante parámetros de herramienta:
{
"hostname": "10.0.2.15",
"username": "ubuntu",
"private_key_path": "~/.ssh/id_ed25519",
"private_key_passphrase": "mysecret"
}La frase de contraseña se almacena junto con la credencial guardada, por lo que las llamadas futuras a ssh_connect_saved no la requieren de nuevo. Todavía puede proporcionar private_key_passphrase en ssh_connect_saved para anular el valor almacenado para una sola sesión.
Conectar a través de un jump host:
Utilice el objeto jump_host en ssh_connect o ssh_save_credentials:
{
"hostname": "10.0.2.15",
"username": "ubuntu",
"private_key_path": "~/.ssh/id_ed25519",
"jump_host": {
"hostname": "203.0.113.10",
"username": "bastion",
"private_key_path": "~/.ssh/id_ed25519",
"port": 22
}
}Las claves de jump host también pueden estar protegidas por frase de contraseña: añada private_key_passphrase dentro del objeto jump_host.
Esto utiliza un túnel SSH nativo al host de destino y las credenciales guardadas conservan la misma configuración de jump-host. Para credenciales guardadas reutilizables, el jump host debe usar private_key_path en lugar de una contraseña.
Ejecutar comandos:
List files in /home directory on my server
Run 'top' command on the remote server
Execute script.py and monitor its logTransferencias de archivos:
Upload local file.txt to /home/user/ on the server
Download /var/log/app.log from the serverSalud de la conexión e inventario:
Check health of all SSH connections
Show me all active SSH connectionsRequisitos
Python 3.10+
paramiko
mcp
Última actualización
La versión 1.0.3 persiste la frase de contraseña de la clave privada en las credenciales guardadas:
private_key_passphraseahora se almacena en el archivo de credenciales al guardar mediantessh_connectossh_save_credentialsssh_connect_savedutiliza la frase de contraseña almacenada automáticamente; no es necesario proporcionarla en cada llamadaProporcionar
private_key_passphraseenssh_connect_savedanula el valor almacenado solo para esa sesiónssh_list_saved_credentialsmuestraprivate key (passphrase saved)cuando se almacena una frase de contraseña
La versión 1.0.2 añade soporte para claves privadas protegidas por frase de contraseña (cifradas):
private_key_passphraseaceptado enssh_connect,ssh_connect_savedyssh_save_credentialsSe aplica tanto a la clave del host de destino como a la clave del jump host
Mensajes de error claros cuando una clave está cifrada pero no se proporciona frase de contraseña, o cuando la frase de contraseña es incorrecta
La versión 1.0.1 añade flujos de trabajo SSH diarios más seguros y prácticos:
Los inicios de sesión directos siguen guardando credenciales reutilizables por defecto, pero
save_credentials=falseahora permite optar por no hacerlo también para sesiones con contraseñaLos flujos de credenciales guardadas ahora incluyen ayudantes para conectar, guardar, listar, eliminar y configurar claves manualmente
Las reglas de confianza de host y transferencia de archivos son más estrictas, con restricciones de root local y fijación de host basada en la confianza al primer uso
Se admiten conexiones nativas de jump-host tanto para sesiones en vivo como para credenciales guardadas
Las credenciales guardadas se basan en claves, por lo que no se requiere una contraseña maestra para el uso normal
Las rutas de clave privada guardadas manualmente se validan cuando las guarda, no más tarde en la primera conexión
Soporte
Contácteme para colaborar.
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
- Flicense-quality-maintenanceEnables remote server control via SSH through Claude, supporting command execution, file transfers, and multi-server management with both standard and streamable HTTP protocols.
- Alicense-quality-maintenanceConnects Claude to remote servers via SSH to execute commands, manage files, and browse directories. It allows users to add, edit, and switch between multiple server configurations through natural language conversations.
- AlicenseAqualityBmaintenanceEnables Claude to connect to servers via SSH, execute commands, transfer files, and manage connections through natural language.9151MIT
- -license-quality-maintenanceEnables Claude Code to control remote servers via SSH for automated deployment, testing, and operations, including command execution and file transfer.4
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
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/nqmn/adremote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server