SSH MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_PROFILES_PATH | No | Optional path to the profiles.json configuration file. Defaults to the local directory. | |
| SSH_PASSWORD_STAGING | No | SSH password for the 'staging' profile defined in profiles.json. | |
| SSH_PASSWORD_PRODUCTION | No | SSH password for the 'production' profile defined in profiles.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ssh_list_profilesA | Lista los perfiles de servidores SSH disponibles (incluye host, port, username y privateKeyPath; nunca expone la llave privada ni la passphrase) |
| ssh_connectC | Conecta a un servidor SSH usando un perfil configurado |
| ssh_disconnectA | Cierra la conexión SSH activa |
| ssh_statusA | Muestra el estado de la conexión SSH actual (perfil, host, tiempo conectado) |
| ssh_execA | Ejecuta un comando en el servidor remoto. Si el comando es destructivo (rm -rf, reboot, etc.) requiere confirm: true para ejecutarse |
| ssh_uploadB | Sube un archivo local al servidor remoto via SFTP |
| ssh_downloadB | Descarga un archivo del servidor remoto al sistema local via SFTP |
| ssh_lsB | Lista el contenido de un directorio en el servidor remoto |
| ssh_read_fileA | Lee el contenido de un archivo en el servidor remoto. Soporta lectura parcial con offset/limit |
| ssh_write_fileC | Escribe contenido a un archivo en el servidor remoto |
| ssh_exec_interactiveA | Ejecuta un comando interactivo en el servidor remoto con PTY. Permite responder automáticamente a prompts (ej: sudo password, confirmaciones yes/no). Si el comando es destructivo requiere confirm: true |
| ssh_shell_startA | Inicia una sesión de shell interactiva persistente con PTY. Útil para REPLs, workflows multi-paso, o login a servicios. Máximo 5 sesiones concurrentes. Auto-cierre tras 5 min de inactividad |
| ssh_shell_sendA | Envía input a una sesión de shell activa. Si raw es false (default), aplica detección de comandos peligrosos. Retorna el output generado tras enviar el input |
| ssh_shell_readA | Lee el output acumulado en el buffer de una sesión de shell. Espera brevemente por output adicional antes de retornar |
| ssh_shell_closeA | Cierra una sesión de shell interactiva y libera recursos |
| ssh_historyA | Muestra el historial de operaciones ejecutadas durante la conexión activa. Permite filtrar por tipo de operación y limitar resultados |
| ssh_undoA | Revierte una operación específica del historial usando su ID. Solo funciona con operaciones marcadas como reversibles (ssh_write_file, ssh_upload, ssh_download). Requiere confirm: true para ejecutar la reversión |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Tools are generally distinct, but ssh_exec and ssh_exec_interactive have overlapping purposes, and ssh_shell_send might be confused with ssh_exec for non-interactive commands. Descriptions mitigate this, but some ambiguity remains.
All tool names follow 'ssh_' prefix with consistent snake_case and verb_noun pattern. Even compound names like ssh_exec_interactive maintain the convention.
17 tools cover a broad SSH domain (connection, execution, shells, file operations, history) without being excessive. Each tool serves a clear purpose.
Covers core SSH operations well, including interactive shells and undo. Missing port forwarding and key management, but these are advanced features not essential for basic SSH control.