← Retour à la liste
★★★½ 3.5 / 5
Catégorie 05MCP
SSH

MCP SSH

Exécuter des commandes sur vos serveurs distants via IA

Installation
Via pip (Python requis)pip install mcp-server-ssh # Ou depuis les sources git clone https://github.com/shaneholloman/mcp-server-ssh cd mcp-server-ssh && pip install -e .
Configurer dans Claude Codeclaude mcp add ssh \ -e SSH_HOST=staging.example.com \ -e SSH_USER=deploy \ -e SSH_KEY_PATH=/home/user/.ssh/id_ed25519 \ -- python -m mcp_server_ssh
Versionshaneholloman/mcp-server-ssh (Python)
PrixGratuit (open source, MIT)
Plateformes
macOSLinux
Commandes4
Exemples2
MCP
À propos

Serveur MCP qui permet à Claude d'exécuter des commandes SSH sur des serveurs distants. Indispensable pour un DevOps Drupal qui gère des serveurs en production — diagnostiquer des incidents, déployer du code, analyser des logs, redémarrer des services — le tout depuis le chat IA avec le contexte du code.

Fonctionnalités clés
Exécution de commandes à distanceLancer n'importe quelle commande sur un serveur distant via SSH — diagnostics, redémarrages de services, analyse de logs — depuis le chat Claude avec le contexte du code local.
Support des clés SSHAuthentification par clé SSH (pas de mot de passe en clair). Compatible avec les clés RSA, Ed25519, et les configs ~/.ssh/config pour les alias de serveurs.
Multi-serveursConfigurer plusieurs serveurs (dev, staging, prod) et spécifier lequel cibler dans chaque requête. Garder les contextes séparés dans la même conversation.
Intégration contexte localClaude peut corréler les logs du serveur distant avec le code local — "ce backtrace correspond à la ligne 42 de MonModule.php" — sans copier-coller entre fenêtres.
Commandes
CommandeDescription
execute_commandExécuter une commande shell sur le serveur distant
read_fileLire le contenu d'un fichier distant
write_fileÉcrire dans un fichier distant (avec précaution !)
list_directoryLister le contenu d'un répertoire distant
Exemples
Diagnostiquer un incident en productionCODE
"Le site Drupal en production renvoie des erreurs 500. Analyse le serveur :
1. Vérifie le statut des services (nginx, php8.3-fpm, mariadb)
2. Montre les 50 dernières lignes de /var/log/nginx/error.log
3. Montre les 50 dernières lignes du PHP-FPM error log
4. Vérifie le load average et la mémoire disponible
5. Identifie la cause probable et propose une solution"
Déploiement et vérificationCODE
"Déploie le tag v2.1.0 sur le serveur staging.example.com :
1. git fetch && git checkout v2.1.0 dans /var/www/drupal
2. composer install --no-dev --optimize-autoloader
3. drush updb -y && drush cim -y && drush cr
4. Vérifie que la page d'accueil retourne 200 (curl -o /dev/null -w '%{http_code}')
5. Affiche les dernières lignes du log PHP-FPM pour confirmer l'absence d'erreurs"
Points forts & faibles
Points forts
+Zéro intermédiaire cloud — SSH direct depuis la machine locale
+Compatible ~/.ssh/config (alias, ProxyJump, etc.)
+Indispensable pour le DevOps Drupal (drush en remote, logs, services)
+Authentification par clé SSH (sécurisé, pas de mot de passe)
+Peut lancer des scripts déjà présents sur le serveur
Points faibles
Risque élevé si mal utilisé en production (commandes destructives)
Ne pas exposer à des serveurs prod sans liste blanche de commandes
Python requis sur la machine locale
Pas d'implémentation officielle Anthropic
Pas de support natif du multiplexing SSH (une connexion par commande)
Verdict

Puissant mais à manier avec précaution. Idéal pour le debug d'incidents et les opérations de routine sur des serveurs dev/staging. En production, limiter les permissions du user SSH utilisé (sudo limité, pas de rm -rf) et logger toutes les commandes.

DevOps et développeurs Drupal qui gèrent des serveurs Linux et veulent diagnostiquer des incidents ou effectuer des opérations de routine depuis le chat IA.