SSH MCP Server
@yawlabs/ssh-mcp
Operaciones SSH para agentes de IA. Servidor MCP con ejecución remota de comandos, transferencia de archivos y diagnósticos SSH integrados que te indican exactamente qué está mal y cómo solucionarlo.
Creado y mantenido por Yaw Labs.
¿Por qué esta herramienta?
Los agentes de IA que se conectan por SSH a servidores remotos se encuentran con los mismos problemas una y otra vez: ssh-agent inactivo, clave incorrecta cargada, claves de host obsoletas por instancias recreadas, acceso denegado sin contexto útil. La mayoría de los servidores MCP SSH simplemente envuelven ssh2 y dejan que el agente descifre errores crípticos.
Este incluye ssh_diagnose, una herramienta de diagnóstico que verifica todo tu entorno SSH (agente, claves, configuración, known_hosts, conectividad) y devuelve comandos de solución accionables. Úsala antes de conectarte o después de un fallo.
Inicio rápido
npm install -g @yawlabs/ssh-mcpAñádelo a la configuración de tu cliente MCP:
{
"mcpServers": {
"ssh": {
"command": "ssh-mcp"
}
}
}Herramientas
Operaciones principales
Herramienta | Descripción |
| Ejecuta un comando en un host remoto. Devuelve stdout, stderr y el código de salida. |
| Lee un archivo de un host remoto a través de SFTP. |
| Escribe contenido en un archivo en un host remoto a través de SFTP. |
| Sube un archivo local a un host remoto a través de SFTP. |
| Descarga un archivo de un host remoto al sistema de archivos local. |
| Lista los archivos en un directorio en un host remoto. |
Diagnósticos
Herramienta | Descripción |
| Diagnostica problemas de conectividad SSH. Verifica el agente, las claves, known_hosts, la configuración SSH y la conectividad en vivo. Devuelve comandos de solución accionables. |
Autenticación
Todas las herramientas aceptan parámetros de conexión:
Parámetro | Descripción | Predeterminado |
| Nombre de host o IP SSH (obligatorio) | — |
| Puerto SSH |
|
| Nombre de usuario SSH | Usuario actual |
| Ruta a la clave privada SSH | Detección automática |
| Contraseña SSH (se prefieren claves) | — |
Orden de resolución de autenticación: clave explícita > contraseña explícita > ssh-agent (SSH_AUTH_SOCK) > rutas de clave predeterminadas (~/.ssh/id_ed25519, id_rsa, id_ecdsa).
Diagnósticos
ssh_diagnose ejecuta 5 comprobaciones y devuelve un informe estructurado:
Agente SSH — ¿Está
ssh-agenten ejecución? ¿Están cargadas las claves?Claves SSH — ¿Existen claves privadas en
~/.ssh/?Configuración SSH — ¿Existe una entrada de configuración para este host? (admite comodines)
Hosts conocidos — ¿Está la clave del host en caché?
Conectividad — ¿Podemos conectarnos realmente?
Cada comprobación fallida incluye el comando exacto para solucionarlo. Ejemplo de salida:
SSH Diagnostic Report for dev-server:22
Overall: ERROR
[PASS] SSH Agent
ssh-agent running with keys:
256 SHA256:abc... user@host (ED25519)
[PASS] SSH Keys
Found SSH keys: id_ed25519, gh_woods
[PASS] SSH Config
SSH config for "dev-server":
Host dev-server
HostName 10.0.1.50
User ec2-user
[FAIL] Known Hosts
Host "dev-server" is not in known_hosts.
[FAIL] Connectivity
Host key verification failed for dev-server. The host key changed (instance recreated?).
Suggested fixes:
- Remove stale host key: ssh-keygen -R "dev-server"
- Re-add host key: ssh-keyscan -H "dev-server" >> ~/.ssh/known_hostsUso programático
import { connect, exec, diagnose } from '@yawlabs/ssh-mcp';
// Run a command
const client = await connect({ host: 'my-server', username: 'deploy' });
const result = await exec(client, 'uptime');
console.log(result.stdout);
client.end();
// Diagnose connectivity issues
const report = diagnose('my-server');
console.log(report.overall); // "ok" | "warning" | "error"
for (const check of report.checks) {
console.log(`[${check.status}] ${check.name}: ${check.message}`);
}Requisitos
Node.js 18+
Cliente SSH instalado (para diagnósticos)
Licencia
MIT
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/YawLabs/ssh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server