SSH pensé pour les agents
Un serveur MCP pour SSH.
Termalin est un client SSH/terminal classique — avec un serveur MCP intégré. Ajoutez-le à claude.ai ou ChatGPT comme connector, ou connectez Claude Code ou tout agent qui parle le Model Context Protocol à vos hôtes : il exécute des commandes et lit ou écrit des fichiers via SSH et SFTP. Vos clés ne quittent jamais l’agent de clés, et chaque action est reflétée en direct, enregistrée et consignée dans un journal d’audit.
Le serveur hébergé figure dans le MCP Registry officiel sous le nom in.termal/termalin-web.
Ce qu’il fait
MCP est le standard ouvert qui relie les agents IA à des outils. La plupart des serveurs MCP encapsulent une API ; celui de Termalin encapsule vos serveurs — un agent peut donc réellement opérer l’infrastructure : suivre un journal, redémarrer un service, vérifier le disque, modifier une config, déployer. Il s’authentifie via l’agent de clés SSH de Termalin, si bien qu’aucune clé privée n’est jamais remise à l’agent ni au modèle.
Les outils
L’endpoint hébergé expose 16 outils ; le serveur local termalin-mcp en expose 22 — le socle commun ci-dessous, plus des outils de session, de tunnel et de terminal en direct ; les lignes marquées « endpoint hébergé » n’existent que là. La liste complète avec les arguments se trouve dans la référence des outils MCP (en anglais). Le socle commun :
| Outil | Ce qu’il fait |
|---|---|
hosts_list | Liste les hôtes que l’agent peut atteindre. |
ssh_exec | Exécute une commande ponctuelle sur un hôte et renvoie sa sortie et son code de sortie. |
ssh_exec_many | Exécute la même commande sur plusieurs hôtes à la fois — endpoint hébergé. |
job_start / status / stop / list | Lance un long build ou une migration en arrière-plan, revient chercher son journal et son code de sortie, l’arrête — endpoint hébergé. Les tâches survivent au tour de l’agent et à la connexion. |
server_metrics | Les derniers chiffres de CPU, mémoire, disque, charge et réseau de tous les serveurs, ou le détail d’un serveur avec moyennes et pics des dernières heures ; lus dans la supervision de Termalin, rien n’est exécuté sur le serveur — endpoint hébergé uniquement. |
alerts_list | Ce que la supervision signale comme anormal en ce moment (disque qui se remplit, mémoire ou charge saturée, un service en échec, un certificat qui expire bientôt, un serveur hors ligne) et ce qui s’est résolu au cours des sept derniers jours — endpoint hébergé uniquement. |
sftp_list | Liste un répertoire via SFTP. |
sftp_read | Lit un fichier texte via SFTP (taille plafonnée, texte uniquement) — endpoint hébergé ; le serveur local utilise sftp_get. |
sftp_write | Écrit un fichier texte via SFTP — endpoint hébergé ; le serveur local utilise sftp_put. |
generate_password | Génère un mot de passe robuste à la demande — longueur et jeux de caractères à votre main. |
data_query | Interroge une base de données sur un hôte — sans mot de passe : lance le client du moteur lui-même via le tunnel sans clé, en s’appuyant sur la confiance locale (peer auth Postgres, socket auth MySQL, redis-cli, mongosh, sqlite3). Lecture seule par défaut. |
data_tables | Liste les tables / collections / clés d’une base de données sur un hôte — par le même chemin sans mot de passe. |
data_schema | Décrit les colonnes d’une table. |
Le serveur local ajoute en plus :
| Outil | Ce qu’il fait |
|---|---|
session_open / exec / close / list | Ouvre une session SSH persistante, y exécute des commandes et la gère. |
sftp_get / sftp_put | Télécharge et téléverse des fichiers. |
tunnel_open / close / list | Ouvre des redirections de port sur un hôte — atteindre un service derrière lui, exposer un service local ou faire transiter le trafic par lui — et les gère. |
terminal_open / run / run_many / sessions / hosts | Pilote l’app de bureau en cours d’exécution : ouvre des onglets de terminal en direct, ou entre dans une session que vous avez déjà ouverte et travaille à vos côtés (soumis à votre accord). |
data_list / tables / schema / query | Explore et interroge vos bases de données sauvegardées — liste les bases, tables et colonnes, et exécute une requête en lecture seule. Désactivé par défaut, par connexion, soumis à votre accord. |
Trois façons de se connecter
1 · claude.ai / ChatGPT — dans le chat que vous utilisez déjà
Rien à installer, aucune clé à coller. Ajoutez Termalin comme connector et gérez vos serveurs en conversant :
- claude.ai : ouvrez la fiche du connector Termalin → Connect (ou Settings → Connectors → Add custom connector →
https://termal.in/mcp) - ChatGPT : ajoutez Termalin depuis l’annuaire d’applications (cherchez Termalin dans Apps), ou Settings → Connectors → même URL
- Claude Code :
claude mcp add --transport http termalin https://termal.in/mcp, puis lancez/mcpet connectez-vous. Les autres clients qui prennent en charge les serveurs MCP distants avec connexion (Codex, Cursor, VS Code) acceptent la même URL.
Le chat ouvre la page de connexion de Termalin ; vous approuvez une fois, et il peut lister vos serveurs, exécuter des commandes, lire ou écrire des fichiers et consulter la supervision et les alertes — « vérifier le disque sur prod », « afficher la fin du journal nginx », « corriger cette config », directement depuis la conversation. L’accès est accordé via OAuth — limité à vos propres serveurs inscrits, audité et révocable à tout moment. Chaque application connectée reçoit sa propre politique de commandes — accès complet, une liste de commandes autorisées, ou lecture seule — définie dans la carte Applications d’IA de votre compte.
Guides complets : le connector ChatGPT et le connector claude.ai.
Prérequis que les nouveaux utilisateurs oublient : le serveur hébergé nécessite un compte sur Pro ou l’essai de 14 jours ; le chat n’atteint que les serveurs inscrits — connectez-vous sur termal.in/account, cliquez sur Ajouter un Connector, copiez la commande d’installation d’une ligne et lancez-la sur le serveur (un hôte qui n’existe que dans l’app de bureau reste hors d’atteinte). Et dans la conversation elle-même, activez Termalin via le menu des outils de la zone de saisie — ajouter le connector dans les réglages ne suffit pas toujours.
2 · Serveur local (sur votre machine)
Pointez le client MCP de votre agent vers le binaire termalin-mcp fourni. Avec Claude Code :
claude mcp add termalin -- <path>/termalin-mcp
Ou dans la config d’un client MCP :
{
"mcpServers": {
"termalin": { "command": "<path>/termalin-mcp" }
}
} Il atteint les hôtes que vous choisissez dans Paramètres → MCP (écrits avec une authentification réservée à l’agent — aucun mot de passe sur le disque). Chaque hôte porte aussi son propre niveau d’accès pour l’agent — complet, une liste de commandes autorisées, ou bloqué — défini sur l’hôte lui-même.
3 · Endpoint hébergé avec une clé API (CI, scripts, autres agents)
Créez une clé API dans l’espace web et pointez n’importe quel agent vers l’endpoint MCP HTTP :
{
"mcpServers": {
"termalin": {
"url": "https://termal.in/api/v1/mcp",
"headers": { "Authorization": "Bearer tk_live_…" }
}
}
} Il exécute des commandes et déplace des fichiers sur vos serveurs tunnelisés — ceux où tourne l’agent installé en une ligne — même quand rien n’est ouvert sur votre machine. Il s’authentifie avec un certificat à courte durée, donc aucune clé n’est distribuée. Les clés peuvent être limitées à certains serveurs, soumises à une politique de commandes — accès complet, liste de commandes autorisées ou lecture seule —, dotées d’une expiration (30 / 90 / 365 jours) et révoquées à tout moment.
Guides d’installation
Pas à pas, pour chaque client :
- Claude Code — une seule ligne
claude mcp add. - ChatGPT et claude.ai — le connector de chat OAuth.
- Cursor — une entrée dans
mcp.json. - Codex — une entrée dans
config.toml. - Gemini CLI (en anglais) — la CLI de Google via SSH.
Vous gardez le contrôle
- L’accès des agents est désactivé par défaut ; laisser un agent taper dans vos sessions en cours est encore un interrupteur à part.
- L’accès est granulaire : par hôte sur l’app de bureau (complet / liste d’autorisation / bloqué), et par clé API et par application d’IA connectée sur l’endpoint hébergé (complet / liste d’autorisation / lecture seule) — un agent peut ainsi être en lecture seule sur un serveur et ne lancer que
gitsur un autre. - L’agent ne détient jamais de clé — il s’authentifie via l’agent de clés SSH de Termalin ou un certificat à courte durée.
- Chaque commande d’agent est marquée dans l’enregistrement de session, visible en direct dans la grille de surveillance et consignée dans le journal d’audit.
- Les exécutions hébergées sont limitées en débit et en durée par clé API.
Questions fréquentes
Comment connecter mes serveurs à claude.ai ou ChatGPT ?
Dans claude.ai : ouvrez la fiche de Termalin dans l’annuaire des connectors et cliquez sur Connect (ou ajoutez-le par URL dans Settings → Connectors → Add custom connector → https://termal.in/mcp). La page de connexion de Termalin s’ouvre ; approuvez, et Claude peut lister vos serveurs, exécuter des commandes et gérer des fichiers directement dans le chat. Dans ChatGPT, ajoutez Termalin depuis l’annuaire d’applications (cherchez Termalin dans Apps), ou ajoutez la même URL sous Settings → Connectors. Aucune clé API à coller — l’accès est accordé via OAuth, limité à vos propres serveurs inscrits, et révocable à tout moment.
Qu’est-ce qu’un serveur MCP pour SSH ?
Un serveur MCP pour SSH expose SSH et SFTP sous forme d’outils qu’un agent IA peut appeler via le Model Context Protocol, afin que l’agent exécute des commandes et lise ou écrive des fichiers sur vos serveurs. Ils se présentent sous deux formes : des serveurs autonomes (par exemple ssh-mcp, mcp-ssh) qui détiennent une clé là où ils s’exécutent, et des clients SSH qui en intègrent un (Conduit, XPipe, Termalin). Termalin en intègre un directement dans le client SSH : vous choisissez les hôtes que l’agent peut atteindre, et Termalin se charge de l’authentification, si bien que l’agent ne manipule jamais de clé privée.
Comment donner à un agent IA l’accès SSH à mes serveurs ?
Deux méthodes. Hébergée : inscrivez vos serveurs avec un Connector, puis ajoutez https://termal.in/mcp à votre agent et connectez-vous une fois — avec Claude Code, c’est claude mcp add --transport http termalin https://termal.in/mcp, puis /mcp pour vous connecter ; les scripts et la CI utilisent https://termal.in/api/v1/mcp avec une clé API. Aucune app de bureau n’a à tourner. Locale : installez Termalin, activez les hôtes voulus dans Paramètres → MCP, puis déclarez le serveur fourni avec claude mcp add termalin -- <path>/termalin-mcp. Dans les deux cas, tout agent compatible MCP — Claude Code, Cursor, Codex ou le vôtre — peut alors lister ces hôtes et y travailler via SSH et SFTP.
Un agent IA peut-il utiliser SSH sans voir ma clé privée ?
Oui. Termalin joue le rôle de gardien des clés : vous déverrouillez vos clés une fois et il signe au nom de l’agent, si bien qu’aucune clé privée n’est jamais remise à l’agent ni transmise au modèle. L’endpoint hébergé va plus loin : il authentifie chaque exécution avec un certificat SSH à courte durée plutôt qu’avec une clé.
Quels clients SSH intègrent un serveur MCP ?
En octobre 2026 : Conduit (SSH, RDP, VNC et web, environ 60 outils locaux, Apache-2.0, socket local uniquement) ; XPipe (un serveur MCP HTTP local, désactivé par défaut, en lecture seule tant que vous n’autorisez pas les modifications) ; VibeShell (environ 28 outils, MIT, local) ; et Termalin (22 outils locaux plus un endpoint hébergé de 16 outils à l’adresse https://termal.in/mcp, avec connexion OAuth pour claude.ai, ChatGPT, Claude Code, Codex et Cursor — serveurs atteints sans clé via un Connector, avec des règles de commandes par connexion, un journal d’audit, sur Windows, macOS, Linux, iOS et le navigateur). Conduit convient si vous voulez une seule app open source pour SSH/RDP/VNC ; XPipe si vous vivez dans Docker et les VM ; Termalin si l’agent doit aussi fonctionner depuis la CI ou un chat sans app de bureau lancée. Voir le comparatif complet du marché (en anglais).
Le serveur MCP fonctionne-t-il sans que l’app de bureau soit lancée ?
Les deux modes existent. Le serveur local tourne à côté de l’app de bureau, pour les hôtes que vous en exportez. Le serveur hébergé — https://termal.in/mcp avec une connexion unique, ou https://termal.in/api/v1/mcp avec une clé API — n’a besoin d’aucune app de bureau — il atteint les serveurs inscrits avec le Termalin Connector sans clé, en s’authentifiant par certificats à courte durée ; les agents en CI ou dans des sandboxes cloud fonctionnent donc aussi. Il figure dans le MCP Registry officiel sous le nom in.termal/termalin-web.
Documentation complète → · Modèle de sécurité → · Télécharger →