termal.in

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:

HerramientaQué hace
hosts_listLista los hosts que el agente puede alcanzar.
ssh_execEjecuta un comando puntual en un host y devuelve su salida y código de salida.
ssh_exec_manyEjecuta el mismo comando en varios hosts a la vez — endpoint alojado.
job_start / status / stop / listLanza 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_metricsLas 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_listActualizaciones 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_listLo 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_createHace 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_listLas 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_createPrepara 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 / deletePon 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_listLista un directorio por SFTP.
sftp_readLee un archivo de texto por SFTP (con límite, solo texto) — endpoint alojado; el servidor local usa sftp_get.
sftp_writeEscribe un archivo de texto por SFTP — endpoint alojado; el servidor local usa sftp_put.
generate_passwordGenera una contraseña fuerte a demanda — longitud y conjuntos de caracteres bajo tu control.
data_queryConsulta 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_tablesLista las tablas / colecciones / claves de una base de datos en un host — por la misma vía sin contraseña.
data_schemaDescribe las columnas de una tabla.

El servidor local añade estas encima:

HerramientaQué hace
session_open / exec / close / listAbre una sesión SSH persistente, ejecuta comandos en ella y gestiónala.
sftp_get / sftp_putDescarga y sube archivos.
tunnel_open / close / listAbre 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 / hostsControla 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 / queryExplora 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 /mcp e 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-plugin y 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/mcp e 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, luego openclaw mcp login termalin para 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, bajo mcp_servers:, añade una entrada termalin: con url: "https://termal.in/mcp" y auth: 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 ejecuta opencode 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/mcp en 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.json y mcp.json en la raíz), así que Cursor lo carga; la ficha en el marketplace está pendiente — hasta entonces, usa la entrada única en mcp.json
    • Grok Build, cuando aparezca en su catálogo: /marketplace dentro de Grok Build, o grok plugin install termalin --trust

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.

Los caminos llegan a hosts distintos: el servidor local trabaja los hosts que exportas desde la app; los connectors del chat y el endpoint con clave API trabajan tus servidores de túnel dados de alta (Connectors). Elige el que encaje con dónde corre tu agente.

Guías de configuración

Paso a paso para cada cliente:

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.

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 git en 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.