SSH nativo para agentes
Un servidor MCP para SSH.
Termalin es un cliente SSH/terminal normal — con un servidor MCP integrado. Añádelo a claude.ai o ChatGPT como connector, o apunta Claude Code o cualquier agente que hable el Model Context Protocol a tus hosts — ejecuta comandos y lee o escribe archivos por SSH y SFTP. Tus claves nunca salen del agente de claves, y cada movimiento se refleja en vivo, se graba y se escribe en un registro de auditoría.
El servidor alojado está listado en el MCP Registry oficial como in.termal/termalin-web.
Instalación rápida para Claude Code. El connector alojado no necesita ninguna app en marcha; el servidor local viene incluido con la app de escritorio:
claude mcp add --transport http termalin https://termal.in/mcp
claude mcp add termalin -- <ruta>/termalin-mcp
Qué hace
MCP es el estándar abierto para conectar agentes de IA con herramientas. La mayoría de los servidores MCP envuelven una API; el de Termalin envuelve tus servidores — así un agente puede operar infraestructura de verdad: seguir un log, reiniciar un servicio, revisar el disco, editar una config, desplegar. Se autentica a través del agente de claves SSH de Termalin, de modo que ninguna clave privada llega jamás al agente ni al modelo.
Las herramientas
El endpoint alojado expone 24 herramientas; el servidor local termalin-mcp expone 22 — el núcleo común de abajo, más herramientas de sesión, túnel y terminal en vivo; las filas marcadas como endpoint alojado solo existen allí. La lista completa con argumentos está en la referencia de herramientas MCP (en inglés). El núcleo común:
| Herramienta | Qué hace |
|---|---|
hosts_list | Lista los hosts que el agente puede alcanzar. |
ssh_exec | Ejecuta un comando puntual en un host y devuelve su salida y código de salida. |
ssh_exec_many | Ejecuta el mismo comando en varios hosts a la vez — endpoint alojado. |
job_start / status / stop / list | Lanza una compilación o migración larga en segundo plano, vuelve a por su registro y código de salida, detenla — endpoint alojado. Los trabajos sobreviven al turno del agente y a la conexión. |
server_metrics | Las cifras más recientes de CPU, memoria, disco, carga y red de todos los servidores, o el detalle de un servidor con medias y picos de las últimas horas; se leen de la monitorización de Termalin, no se ejecuta nada en el servidor — solo en el endpoint alojado. |
updates_list | Actualizaciones de seguridad pendientes y las vulnerabilidades conocidas (CVE) en lo que hay instalado — para un servidor, una etiqueta o todos: la gravedad, la versión que corrige cada una, si CISA la marca como usada en ataques, la probabilidad de explotación (EPSS) y cómo corregirla. Cubre Linux, Windows, macOS, contenedores, lock files y apps independientes; se lee de la comprobación diaria/horaria, no se ejecuta nada en el servidor — solo en el endpoint alojado. También responde «qué servidores tienen CVE-…». |
alerts_list | Lo que la monitorización dice que va mal ahora mismo (disco llenándose, memoria o carga al límite, un servicio caído, un certificado a punto de caducar, un servidor sin conexión) y lo que se resolvió en los últimos siete días — solo en el endpoint alojado. |
backup_create | Hace una copia de seguridad cifrada de un servidor antes de un cambio arriesgado, con una nota que explica el motivo — endpoint alojado; el servidor necesita una tarea de copia de seguridad configurada en el panel web. |
backup_list | Las tareas de copia de seguridad y las copias recientes de un servidor: cuándo se ejecutaron, si funcionaron, cuánto ocupan — endpoint alojado. |
backup_job_create | Prepara el borrador de una tarea de copia de seguridad — archivos y/o bases de datos, frecuencia, cuántas conservar, dónde — para que la confirmes en el panel web con un clic (la clave se genera en tu navegador); solo se ejecuta después de que la confirmes — endpoint alojado; acceso completo. |
web_link_create / list / update / delete | Pon en tu panel web, como sitio interno, un panel o una consola de administración que solo alcanza la red del servidor (localhost:3000, 10.0.0.5:8080), lístalos, renombra uno o apúntalo a la nueva dirección de la app, elimina uno — endpoint alojado. Un solo sitio abre todas las páginas de una app. Solo tú lo abres, con la sesión iniciada; compartir se queda contigo en el panel web. |
sftp_list | Lista un directorio por SFTP. |
sftp_read | Lee un archivo de texto por SFTP (con límite, solo texto) — endpoint alojado; el servidor local usa sftp_get. |
sftp_write | Escribe un archivo de texto por SFTP — endpoint alojado; el servidor local usa sftp_put. |
generate_password | Genera una contraseña fuerte a demanda — longitud y conjuntos de caracteres bajo tu control. |
data_query | Consulta una base de datos en un host — sin contraseña: ejecuta el cliente propio del motor sobre el túnel sin clave usando la confianza local (peer auth de Postgres, socket auth de MySQL, redis-cli, mongosh, sqlite3). Solo lectura por defecto. |
data_tables | Lista las tablas / colecciones / claves de una base de datos en un host — por la misma vía sin contraseña. |
data_schema | Describe las columnas de una tabla. |
El servidor local añade estas encima:
| Herramienta | Qué hace |
|---|---|
session_open / exec / close / list | Abre una sesión SSH persistente, ejecuta comandos en ella y gestiónala. |
sftp_get / sftp_put | Descarga y sube archivos. |
tunnel_open / close / list | Abre reenvíos de puertos en un host — alcanza un servicio detrás de él, expón uno local o enruta a través de él — y gestiónalos. |
terminal_open / run / run_many / sessions / hosts | Controla la app de escritorio en marcha: abre pestañas de terminal en vivo, o entra en una sesión que ya tienes abierta y trabaja a tu lado (requiere consentimiento). |
data_list / tables / schema / query | Explora y consulta tus bases de datos guardadas — lista bases de datos, tablas y columnas, y ejecuta una consulta de solo lectura. Desactivado por defecto, por conexión, requiere consentimiento. |
En un servidor Windows alcanzado a través de un Connector, ssh_exec y las herramientas de trabajos en segundo plano se ejecutan en PowerShell; las herramientas de datos necesitan un shell Unix, así que son solo para Linux (y macOS).
Tres formas de conectar
1 · claude.ai / ChatGPT — en el chat que ya usas
Sin instalar nada, sin clave que pegar. Añade Termalin como connector y gestiona tus servidores hablando:
- claude.ai: abre la ficha de Termalin en el directorio → Connect (o Settings → Connectors → Add custom connector →
https://termal.in/mcp) - ChatGPT: añade Termalin desde el directorio de apps (busca Termalin en Apps), o Settings → Connectors → la misma URL
- Claude Code:
claude mcp add --transport http termalin https://termal.in/mcp, luego ejecuta/mcpe inicia sesión. O instálalo como plugin, desde el mismo repositorio que los agentes de programación de abajo:/plugin marketplace add termalinapp/termalin-pluginy luego/plugin install termalin@termalin. Otros clientes que admiten servidores MCP remotos con inicio de sesión (Codex, Cursor, VS Code) usan la misma URL. - Gemini (gemini.google.com): Settings → Connected Apps → Custom apps → Add a custom app → pega
https://termal.in/mcp→ Next. Por ahora solo en EE. UU., para mayores de 18 años, con cuentas personales de Google y en inglés; una vez conectado en la web, funciona también en la app móvil de Gemini. - Grok: grok.com/connectors → New Connector → Custom → la misma URL. Funciona en grok.com, en las apps móviles de Grok y en el Grok CLI.
- Mistral Le Chat: chat.mistral.ai/connections → Add Connector → Custom MCP Connector → un nombre y la misma URL → inicia sesión. Lo añade un administrador del espacio de trabajo; disponible en todos los planes, Free incluido.
- Perplexity: Settings → Connectors → + Custom connector → Remote → un nombre y la misma URL → inicia sesión. En los planes Pro, Max y Enterprise.
- Meta Muse: añade un connector personalizado con la URL
https://termal.in/mcpe inicia sesión. La ficha de Termalin en el directorio de connectors de Muse está en revisión. - Manus: abre Connectors → Create → añade un servidor MCP por URL → la misma URL → inicia sesión.
- OpenClaw:
openclaw mcp add termalin --url https://termal.in/mcp, luegoopenclaw mcp login termalinpara iniciar sesión. O instala el paquete de plugin:openclaw plugins install https://github.com/termalinapp/termalin-plugin. Termalin también está listado en ClawHub. - Hermes Agent (Nous Research): en
~/.hermes/config.yaml, bajomcp_servers:, añade una entradatermalin:conurl: "https://termal.in/mcp"yauth: oauth. Hermes abre la página de inicio de sesión en tu navegador en la primera conexión. Una entrada en el catálogo (hermes mcp install termalin) está pendiente de revisión. - OpenCode: añade un servidor remoto a
opencode.jsonc; OpenCode inicia sesión con OAuth en el primer uso (o ejecutaopencode mcp auth termalin):{ "mcp": { "servers": { "termalin": { "type": "remote", "url": "https://termal.in/mcp" } } } } - Kilo Code / Kilo CLI: añade un servidor MCP remoto con la URL
https://termal.in/mcpen los ajustes de MCP. Una entrada en Kilo Marketplace está pendiente de revisión. - Agentes de programación — Cursor, Kiro, Gemini CLI, Antigravity, Grok Build: instala el repositorio de plugins de Termalin (MIT). Es un solo repositorio con un manifiesto para cada formato de plugin, todos apuntando a
https://termal.in/mcp, y cinco skills que enseñan al agente a revisar primero el estado, diagnosticar en solo lectura, ejecutar comandos con seguridad, verificar un despliegue y consultar bases de datos en solo lectura por defecto (server-health,incident-triage,run-commands,deploy-check,database-access).- Gemini CLI:
gemini extensions install https://github.com/termalinapp/termalin-plugin - Antigravity (el IDE y CLI de agentes de Google, que sustituyó a Gemini CLI para usuarios individuales en junio de 2026):
agy plugin install https://github.com/termalinapp/termalin-plugin - Kiro: Powers → Add Custom Power → Import power from GitHub → pega la URL del repositorio → Install
- Cursor: el repositorio sigue el estándar Agent Plugins (
plugin.jsonymcp.jsonen la raíz), así que Cursor lo carga; la ficha en el marketplace está pendiente — hasta entonces, usa la entrada única enmcp.json - Grok Build, cuando aparezca en su catálogo:
/marketplacedentro de Grok Build, ogrok plugin install termalin --trust
- Gemini CLI:
El chat abre la página de inicio de sesión de Termalin; apruebas una vez y puede listar tus servidores, ejecutar comandos, leer o escribir archivos y consultar la monitorización y las alertas — «revisa el disco en prod», «sigue el log de nginx», «arregla esa config» directamente desde la conversación. El acceso se concede con OAuth — limitado a tus propios servidores dados de alta, auditado y revocable en cualquier momento. Cada app conectada tiene su propia política de comandos — acceso completo, una lista de comandos permitidos o solo lectura — definida en la tarjeta AI apps de tu cuenta.
Guías completas: el connector de ChatGPT y el connector de claude.ai.
¿Prefieres un botón a copiar y pegar? La extensión de navegador de Termalin (Chrome, Edge, Firefox) añade un botón Run on server a los bloques de código de ChatGPT, Claude y sitios como GitHub y Stack Overflow, con un panel lateral para tus servidores, métricas y alertas — con la sesión iniciada en tu cuenta de Termalin.
Requisitos que se saltan los que empiezan: el servidor alojado necesita una cuenta en Pro o los 14 días de prueba; el chat solo alcanza los servidores dados de alta — inicia sesión en termal.in/account, pulsa Añadir Connector, copia el comando de instalación de una línea y ejecútalo en el servidor (un host que solo existe en la app de escritorio queda fuera de alcance). Y en la propia conversación, activa Termalin desde el menú de herramientas del cuadro de texto — añadir el connector en los ajustes no siempre basta.
2 · Servidor local (corre en tu máquina)
Apunta el cliente MCP de tu agente al binario termalin-mcp incluido. Con Claude Code:
claude mcp add termalin -- <ruta>/termalin-mcp
O en la configuración de un cliente MCP:
{
"mcpServers": {
"termalin": { "command": "<ruta>/termalin-mcp" }
}
} Alcanza los hosts que elijas en Ajustes → MCP (guardados con autenticación solo-agente — sin contraseñas en disco). Cada host lleva además su propio nivel de acceso del agente — completo, una lista de comandos permitidos o bloqueado — fijado en el propio host.
3 · Endpoint alojado con una clave API (CI, scripts, otros agentes)
Crea una clave API en el panel web y apunta cualquier agente al endpoint MCP HTTP:
{
"mcpServers": {
"termalin": {
"url": "https://termal.in/mcp",
"headers": { "Authorization": "Bearer tk_live_…" }
}
}
} Ejecuta comandos y mueve archivos en tus servidores tunelizados — los que corren el agente de instalación de una línea — aunque no haya nada abierto en tu máquina. Se autentica con un certificado de corta duración, así que no se entrega ninguna clave. Las claves pueden limitarse a servidores concretos, llevar una política de comandos — acceso completo, una lista de comandos permitidos o solo lectura — tener caducidad (30 / 90 / 365 días) y revocarse en cualquier momento.
Guías de configuración
Paso a paso para cada cliente:
- Claude Code — una sola línea
claude mcp add. - ChatGPT y claude.ai — el connector de chat con OAuth.
- Cursor — una entrada en
mcp.json. - Codex — una entrada en
config.toml. - Gemini CLI — el CLI de Google por SSH.
- Repositorio de plugins de Termalin — Cursor, Kiro, Gemini CLI, Antigravity y Grok Build, más el plugin de Claude Code.
Dónde está listado Termalin
El servidor alojado en https://termal.in/mcp ya aparece en estos directorios. Hay más catálogos en revisión, y el repositorio de plugins incluye manifiestos para Cursor, Kiro, Gemini CLI, Antigravity, Grok Build, OpenClaw y Claude Code.
- Directorio de connectors de Claude
- Directorio de apps de ChatGPT — busca Termalin en Apps
- MCP Registry oficial, entrada
in.termal/termalin-web - Glama
- Smithery
- mcpservers.org
- MCP Server Spot
- ClawHub (OpenClaw)
- mcptry y Toolradar
Mantienes el control
- El acceso de agentes está desactivado por defecto; dejar que un agente escriba en tus sesiones en vivo es otro interruptor aparte.
- El acceso es granular: por host en el escritorio (completo / lista de permitidos / bloqueado), y por clave API y por app de IA conectada en el endpoint alojado (completo / lista de permitidos / solo lectura) — así un agente puede ser de solo lectura en un servidor y ejecutar solo
giten otro. - El agente nunca tiene una clave — se autentica a través del agente de claves SSH de Termalin o un certificado de corta duración.
- Cada comando del agente queda marcado en la grabación de la sesión, visible en vivo en el watch grid y escrito en el registro de auditoría.
- Las ejecuciones alojadas tienen límite de tasa y de tiempo por clave API.
Preguntas frecuentes
¿Cómo conecto mis servidores a claude.ai o ChatGPT?
En claude.ai: abre la ficha de Termalin en el directorio de connectors y pulsa Connect (o añádela por URL en Settings → Connectors → Add custom connector → https://termal.in/mcp). Se abre la página de inicio de sesión de Termalin; apruebas y Claude puede listar tus servidores, ejecutar comandos y gestionar archivos dentro del chat. En ChatGPT, añade Termalin desde el directorio de apps (busca Termalin en Apps), o añade la misma URL en Settings → Connectors. Sin clave API que pegar — el acceso se concede con OAuth, limitado a tus propios servidores dados de alta, y revocable en cualquier momento.
¿Funciona con Gemini, Grok, Le Chat o Perplexity?
Sí, como connector personalizado por URL: pega https://termal.in/mcp e inicia sesión en la misma página de consentimiento de Termalin que en claude.ai y ChatGPT. Gemini: Settings → Connected Apps → Custom apps → Add a custom app (por ahora solo en EE. UU., para mayores de 18 años, con cuentas personales de Google y en inglés; una vez conectado en la web, funciona también en la app móvil de Gemini). Grok: grok.com/connectors → New Connector → Custom (en grok.com, en las apps móviles de Grok y en el Grok CLI). Le Chat: chat.mistral.ai/connections → Add Connector → Custom MCP Connector (lo añade un administrador del espacio de trabajo; en todos los planes, Free incluido). Perplexity: Settings → Connectors → + Custom connector → Remote (planes Pro, Max y Enterprise). Los agentes de programación — Cursor, Kiro, Gemini CLI, Antigravity y Grok Build — usan en su lugar el repositorio de plugins de Termalin.
¿Qué es un servidor MCP para SSH?
Un servidor MCP para SSH expone SSH y SFTP como herramientas que un agente de IA puede invocar a través del Model Context Protocol, de modo que el agente puede ejecutar comandos y leer o escribir archivos en tus servidores. Vienen en dos formas: servidores independientes (p. ej. ssh-mcp, mcp-ssh) que guardan una clave donde se ejecutan, y clientes SSH con uno integrado (Conduit, XPipe, Termalin). Termalin trae uno integrado en el cliente SSH: tú eliges qué hosts puede alcanzar el agente y Termalin se encarga de autenticar, así que el agente nunca maneja una clave privada.
¿Cómo le doy a un agente de IA acceso a mis servidores por SSH?
Dos vías. Alojada: da de alta tus servidores con un Connector, luego añade https://termal.in/mcp a tu agente e inicia sesión una vez — con Claude Code eso es claude mcp add --transport http termalin https://termal.in/mcp, y luego /mcp para iniciar sesión; los scripts y CI usan https://termal.in/api/v1/mcp con una clave API. No hace falta que corra ninguna app de escritorio. Local: instala Termalin, activa los hosts que quieras en Ajustes → MCP y registra el servidor incluido con claude mcp add termalin -- <ruta>/termalin-mcp. En cualquier caso, cualquier agente compatible con MCP — Claude Code, Cursor, Codex o el tuyo propio — puede entonces listar esos hosts y trabajarlos por SSH y SFTP.
¿Puede un agente de IA usar SSH sin ver mi clave privada?
Sí. Termalin actúa como custodio de claves: desbloqueas tus claves una vez y firma en nombre del agente, de modo que ninguna clave privada llega jamás al agente ni pasa al modelo. El endpoint alojado va más allá y autentica cada ejecución con un certificado SSH de corta duración en lugar de una clave.
¿Qué clientes SSH traen un servidor MCP integrado?
A octubre de 2026: Conduit (SSH, RDP, VNC y web, unas 60 herramientas locales, Apache-2.0, solo socket local); XPipe (un servidor MCP HTTP local, desactivado por defecto, de solo lectura hasta que habilitas los cambios); VibeShell (unas 28 herramientas, MIT, local); y Termalin (22 herramientas locales más un endpoint alojado de 24 herramientas en https://termal.in/mcp con inicio de sesión OAuth para claude.ai, ChatGPT, Claude Code, Codex y Cursor — servidores alcanzados sin clave a través de un Connector, con reglas de comandos por conexión, un registro de auditoría, en Windows, macOS, Linux, iOS y el navegador). Conduit encaja si quieres una sola app de código abierto para SSH/RDP/VNC; XPipe si vives en Docker y VMs; Termalin si el agente también debe funcionar desde CI o un chat sin ningún escritorio en marcha. Consulta la comparativa completa del panorama.
¿Funciona el servidor MCP sin la app de escritorio abierta?
Existen los dos modos. El servidor local corre junto a la app de escritorio para los hosts que exportas desde ella. El servidor alojado — https://termal.in/mcp con un inicio de sesión único, o https://termal.in/api/v1/mcp con una clave API — no necesita ningún escritorio — alcanza servidores dados de alta con el Termalin Connector sin clave, autenticándose con certificados de corta duración, así que también funcionan los agentes en CI o en sandboxes de la nube. Está listado en el MCP Registry oficial como in.termal/termalin-web.
Docs completas (en inglés) → · Modelo de seguridad → · Descargar →