termal.in

SSH nativo para agentes

Um servidor MCP para SSH.

O Termalin é um cliente SSH/terminal normal — com um servidor MCP integrado. Adicione-o ao claude.ai ou ao ChatGPT como connector, ou aponte o Claude Code ou qualquer agente que fale o Model Context Protocol para os seus hosts — ele executa comandos e lê ou grava arquivos por SSH e SFTP. Suas chaves nunca saem do agente de chaves, e cada passo é espelhado ao vivo, gravado e escrito num registro de auditoria.

O servidor hospedado está listado no MCP Registry oficial como in.termal/termalin-web.

O que ele faz

O MCP é o padrão aberto para conectar agentes de IA a ferramentas. A maioria dos servidores MCP encapsula uma API; o do Termalin encapsula os seus servidores — para que um agente opere infraestrutura de verdade: acompanhar um log, reiniciar um serviço, verificar o disco, editar uma configuração, fazer deploy. Ele se autentica pelo agente de chaves SSH do Termalin, então nenhuma chave privada é entregue ao agente nem ao modelo.

As ferramentas

O endpoint hospedado expõe 16 ferramentas; o servidor local termalin-mcp expõe 22 — o núcleo comum abaixo, mais ferramentas de sessão, túnel e terminal ao vivo; as linhas marcadas como endpoint hospedado só existem lá. A lista completa com argumentos está na referência de ferramentas MCP (em inglês). O núcleo comum:

FerramentaO que faz
hosts_listLista os hosts que o agente pode acessar.
ssh_execExecuta um comando avulso em um host e retorna a saída e o código de saída.
ssh_exec_manyExecuta o mesmo comando em vários hosts de uma vez — endpoint hospedado.
job_start / status / stop / listInicia um build ou uma migração longa em segundo plano, volta depois para buscar o log e o código de saída, interrompe — endpoint hospedado. Os jobs sobrevivem ao turno do agente e à conexão.
server_metricsOs números mais recentes de CPU, memória, disco, carga e rede de todos os servidores, ou o detalhe de um servidor com médias e picos das últimas horas; lidos do monitoramento do Termalin, nada é executado no servidor — somente no endpoint hospedado.
alerts_listO que o monitoramento aponta como errado agora (disco enchendo, memória ou carga no limite, um serviço que falhou, um certificado prestes a expirar, um servidor offline) e o que se resolveu nos últimos sete dias — somente no endpoint hospedado.
sftp_listLista um diretório por SFTP.
sftp_readLê um arquivo de texto por SFTP (com limite, só texto) — endpoint hospedado; o servidor local usa sftp_get.
sftp_writeGrava um arquivo de texto por SFTP — endpoint hospedado; o servidor local usa sftp_put.
generate_passwordGera uma senha forte sob demanda — comprimento e conjuntos de caracteres sob o seu controle.
data_queryConsulta um banco de dados em um host — sem senha: executa o cliente próprio do engine pelo túnel sem chave, usando a confiança local (peer auth do Postgres, socket auth do MySQL, redis-cli, mongosh, sqlite3). Somente leitura por padrão.
data_tablesLista as tabelas / coleções / chaves de um banco de dados em um host — pelo mesmo caminho sem senha.
data_schemaDescreve as colunas de uma tabela.

O servidor local acrescenta estas:

FerramentaO que faz
session_open / exec / close / listAbre uma sessão SSH persistente, executa comandos nela e a gerencia.
sftp_get / sftp_putBaixa e envia arquivos.
tunnel_open / close / listAbre encaminhamentos de portas em um host — para acessar um serviço atrás dele, expor um serviço local ou rotear através dele — e os gerencia.
terminal_open / run / run_many / sessions / hostsControla o app de desktop em execução: abre abas de terminal ao vivo, ou entra numa sessão que você já tem aberta e trabalha ao seu lado (exige consentimento).
data_list / tables / schema / queryExplora e consulta seus bancos de dados salvos — lista bancos, tabelas e colunas, e executa uma consulta somente leitura. Desativado por padrão, por conexão, exige consentimento.

Três formas de conectar

1 · claude.ai / ChatGPT — no chat que você já usa

Sem instalar nada, sem chave para colar. Adicione o Termalin como connector e gerencie seus servidores conversando:

  • claude.ai: abra a página do connector do Termalin → Connect (ou Settings → Connectors → Add custom connector → https://termal.in/mcp)
  • ChatGPT: adicione o Termalin pelo diretório de apps (busque por Termalin em Apps), ou Settings → Connectors → a mesma URL
  • Claude Code: claude mcp add --transport http termalin https://termal.in/mcp e depois execute /mcp e faça login. Outros clientes que aceitam servidores MCP remotos com login (Codex, Cursor, VS Code) usam a mesma URL.

O chat abre a página de login do Termalin; você aprova uma vez e ele pode listar seus servidores, executar comandos, ler ou gravar arquivos e verificar monitoramento e alertas — “verifique o disco em prod”, “acompanhe o log do nginx”, “corrija essa configuração” direto da conversa. O acesso é concedido via OAuth — restrito aos seus próprios servidores cadastrados, auditado e revogável a qualquer momento. Cada app conectado recebe sua própria política de comandos — acesso total, uma lista de comandos permitidos ou somente leitura — definida no cartão Apps de IA da sua conta.

Passo a passo completo: o connector do ChatGPT e o connector do claude.ai.

Pré-requisitos que quem está começando costuma esquecer: o servidor hospedado precisa de uma conta no Pro ou nos 14 dias de teste; o chat só acessa servidores cadastrados — entre em termal.in/account, clique em Adicionar Connector, copie o comando de instalação de uma linha e execute-o no servidor (um host que só existe no app de desktop fica fora de alcance). E, na própria conversa, ative o Termalin pelo menu de ferramentas da caixa de mensagem — adicionar o connector nas configurações nem sempre basta.

2 · Servidor local (roda na sua máquina)

Aponte o cliente MCP do seu agente para o binário termalin-mcp incluído. Com o Claude Code:

claude mcp add termalin -- <path>/termalin-mcp

Ou na configuração de um cliente MCP:

{
  "mcpServers": {
    "termalin": { "command": "<path>/termalin-mcp" }
  }
}

Ele acessa os hosts que você escolher em Configurações → Acesso do agente (MCP) (gravados com autenticação só por agente — nenhuma senha em disco). Cada host também tem seu próprio nível de acesso do agente — total, uma lista de comandos permitidos ou bloqueado — definido no próprio host.

3 · Endpoint hospedado com chave de API (CI, scripts, outros agentes)

Crie uma chave de API no painel web e aponte qualquer agente para o endpoint MCP HTTP:

{
  "mcpServers": {
    "termalin": {
      "url": "https://termal.in/api/v1/mcp",
      "headers": { "Authorization": "Bearer tk_live_…" }
    }
  }
}

Ele executa comandos e move arquivos nos seus servidores com túnel — aqueles que rodam o agente instalado com uma linha — mesmo quando não há nada aberto na sua máquina. Ele se autentica com um certificado de curta duração, então nenhuma chave é entregue. As chaves de API podem ser restritas a servidores específicos, receber uma política de comandos — acesso total, uma lista de comandos permitidos ou somente leitura —, ter uma validade (30 / 90 / 365 dias) e ser revogadas a qualquer momento.

Os caminhos levam a hosts diferentes: o servidor local trabalha com os hosts que você exporta do app; os connectors de chat e o endpoint com chave de API trabalham com os seus servidores de túnel cadastrados (Connectors). Escolha o que corresponde ao lugar onde o seu agente roda.

Guias de configuração

Passo a passo para cada cliente:

Você no controle

  • O acesso de agentes vem desativado por padrão; deixar um agente digitar nas suas sessões ao vivo é outra opção, separada.
  • O acesso é granular: por host no desktop (total / lista de permitidos / bloqueado) e por chave de API e por app de IA conectado no endpoint hospedado (total / lista de permitidos / somente leitura) — então um agente pode ter somente leitura num servidor e executar só git em outro.
  • O agente nunca recebe uma chave — ele se autentica pelo agente de chaves SSH do Termalin ou por um certificado de curta duração.
  • Cada comando do agente fica marcado na gravação de sessão, visível ao vivo na grade de monitoramento (watch grid) e escrito no registro de auditoria.
  • As execuções hospedadas têm limite de taxa e de tempo por chave de API.

Perguntas frequentes

Como conecto meus servidores ao claude.ai ou ao ChatGPT?

No claude.ai: abra a página do Termalin no diretório de connectors e clique em Connect (ou adicione pela URL em Settings → Connectors → Add custom connector → https://termal.in/mcp). A página de login do Termalin se abre; aprove, e o Claude pode listar seus servidores, executar comandos e gerenciar arquivos direto no chat. No ChatGPT, adicione o Termalin pelo diretório de apps (busque por Termalin em Apps), ou adicione a mesma URL em Settings → Connectors. Nenhuma chave de API para colar — o acesso é concedido via OAuth, restrito aos seus próprios servidores cadastrados e revogável a qualquer momento.

O que é um servidor MCP para SSH?

Um servidor MCP para SSH expõe SSH e SFTP como ferramentas que um agente de IA pode chamar pelo Model Context Protocol, para que o agente execute comandos e leia ou grave arquivos nos seus servidores. Eles vêm em duas formas: servidores autônomos (por exemplo, ssh-mcp, mcp-ssh) que mantêm uma chave onde são executados, e clientes SSH que já trazem um (Conduit, XPipe, Termalin). O Termalin traz um integrado ao cliente SSH: você escolhe quais hosts o agente pode acessar, e o Termalin cuida da autenticação, então o agente nunca manipula uma chave privada.

Como dou a um agente de IA acesso aos meus servidores por SSH?

Dois caminhos. Hospedado: cadastre seus servidores com um Connector e depois adicione https://termal.in/mcp ao seu agente e faça login uma vez — com o Claude Code, isso é claude mcp add --transport http termalin https://termal.in/mcp e depois /mcp para entrar; scripts e CI usam https://termal.in/api/v1/mcp com uma chave de API. Nenhum app de desktop precisa estar aberto. Local: instale o Termalin, ative os hosts que quiser em Configurações → Acesso do agente (MCP) e registre o servidor incluído com claude mcp add termalin -- <path>/termalin-mcp. De qualquer forma, qualquer agente compatível com MCP — Claude Code, Cursor, Codex ou o seu próprio — passa a listar esses hosts e a trabalhar neles por SSH e SFTP.

Um agente de IA pode usar SSH sem ver minha chave privada?

Sim. Suas chaves ficam com o Termalin, nunca com o agente: você desbloqueia as chaves uma vez e o Termalin assina em nome do agente, então nenhuma chave privada é entregue ao agente nem passada ao modelo. O endpoint hospedado vai além e autentica cada execução com um certificado SSH de curta duração em vez de uma chave.

Quais clientes SSH têm um servidor MCP integrado?

Em outubro de 2026: Conduit (SSH, RDP, VNC e web, cerca de 60 ferramentas locais, Apache-2.0, apenas socket local); XPipe (um servidor MCP HTTP local, desativado por padrão, somente leitura até você habilitar alterações); VibeShell (cerca de 28 ferramentas, MIT, local); e Termalin (22 ferramentas locais mais um endpoint hospedado de 16 ferramentas em https://termal.in/mcp, com login OAuth para claude.ai, ChatGPT, Claude Code, Codex e Cursor — servidores acessados sem chave por um Connector, com regras de comandos por conexão, um registro de auditoria, no Windows, macOS, Linux, iOS e no navegador). O Conduit serve se você quer um único app open source para SSH/RDP/VNC; o XPipe se você vive em Docker e VMs; o Termalin se o agente também precisa funcionar a partir do CI ou de um chat sem desktop em execução. Veja a comparação completa do cenário (em inglês).

O servidor MCP funciona sem o app de desktop aberto?

Existem os dois modos. O servidor local roda junto com o app de desktop, para os hosts que você exporta dele. O servidor hospedado — https://termal.in/mcp com um login único, ou https://termal.in/api/v1/mcp com uma chave de API — não precisa de desktop nenhum — ele acessa servidores cadastrados com o Termalin Connector sem chave, autenticando-se com certificados de curta duração, então agentes em CI ou em sandboxes na nuvem também funcionam. Ele está listado no MCP Registry oficial como in.termal/termalin-web.