Le problème : La gestion de serveurs est un chaos (organisé ?)
Si vous êtes développeur, DevOps ou administrateur système, votre quotidien ressemble probablement à une jonglerie entre plusieurs terminaux, des scripts SSH qui vieillissent mal, et des commandes scp à rallonge.
Gérer des serveurs, déployer des applications, transférer des fichiers, et monitorer des services est une tâche complexe et répétitive. On finit souvent avec :
- Des scripts shell spécifiques à chaque machine.
- Des commandes
sshetsftptapées à la main, sources d'erreurs. - Un manque de visibilité sur les tâches longues.
- Une difficulté à automatiser de manière fiable et centralisée.
Et si on pouvait piloter tout ça depuis une interface unifiée, voire... directement depuis une conversation avec une IA ?
La solution : mcp-orchestrator-server
C'est exactement le problème que nous avons voulu résoudre en créant mcp-orchestrator-server, un serveur d'orchestration open-source basé sur Node.js et le Model-Context-Protocol (MCP).
En bref : C'est un outil que vous lancez en arrière-plan et qui expose une API riche pour gérer vos serveurs. Il est conçu pour être piloté par un client MCP, comme une interface en ligne de commande (CLI) ou, plus intéressant encore, un agent IA comme Gemini.
- GitHub : https://github.com/fkom13/mcp-sftp-orchestrator
- NPM : https://www.npmjs.com/package/mcp-orchestrator-server
Qu'est-ce que ça fait concrètement ?
Imaginez pouvoir taper des commandes en langage naturel et voir la magie opérer. Voici quelques exemples.
1. Exécuter une séquence de déploiement
Fini les scripts bash fragiles. Déployez votre application avec une seule commande sémantique.
L'intention :
"Sur le serveur 'prod_vps', déploie la dernière version de mon app : va dans le dossier
/var/www/app, fais ungit pull, installe les dépendancesnpm, et redémarre le servicepm2."
La commande MCP correspondante :
{
"tool": "task_exec_sequence",
"arguments": {
"alias": "prod_vps",
"commands": [
"cd /var/www/app",
"git pull origin main",
"npm install",
"pm2 restart app"
]
}
}
2. Transférer des fichiers avec des patterns complexes
Besoin de sauvegarder tous les logs et les fichiers de configuration ?
L'intention :
"Sauvegarde tous les logs de l'application et les fichiers de configuration JSON du serveur 'prod_vps' dans mon dossier local de backups."
La commande MCP :
{
"tool": "task_transfer_multi",
"arguments": {
"alias": "prod_vps",
"direction": "download",
"files": [
{
"remote": "/var/log/app/*.log",
"local": "/home/user/backups/logs/"
},
{
"remote": "/etc/app/configs/**/*.json",
"local": "/home/user/backups/configs/"
}
]
}
}
3. Monitorer un service en temps réel
Un bug en production ? Affichez les logs en direct.
L'intention :
"Montre-moi les 100 dernières lignes de logs d'erreurs de l'app 'api-server' sur 'prod_vps'."
La commande MCP :
{
"tool": "get_pm2_logs",
"arguments": {
"alias": "prod_vps",
"app": "api-server",
"lines": 100,
"errors": true
}
}
Fonctionnalités Clés
-
Gestion de Serveurs Centralisée : Ajoutez tous vos serveurs via l'outil
server_addet appelez-les par un simple alias. - Pool de Connexions SSH : Les connexions sont maintenues et réutilisées pour des performances optimales.
- Queue de Tâches Persistante : Les tâches longues (transferts, commandes...) continuent en arrière-plan et survivent à un redémarrage du serveur.
- Exécution Hybride : Les tâches rapides retournent un résultat immédiatement, les tâches longues sont asynchrones.
- Monitoring Intégré : Outils pour vérifier les ressources système, le statut des services (systemd, Docker, PM2), et la santé de vos APIs.
Installation et Utilisation
Le moyen le plus simple est d'utiliser npx. Configurez votre client MCP (comme gemini-cli) pour qu'il utilise l'orchestrateur :
{
"mcpServers": {
"orchestrator": {
"command": "npx",
"args": [
"mcp-orchestrator-server"
],
"env": {
"MCP_DATA_DIR": "~/.config/mcp-orchestrator"
}
}
}
}
C'est tout ! Votre client peut maintenant communiquer avec le serveur et utiliser tous ses outils.
Conclusion
mcp-orchestrator-server est un pas vers une gestion d'infrastructure plus intelligente et automatisée. En l'exposant via le Model-Context-Protocol, il devient un outil surpuissant dans l'arsenal de tout développeur ou DevOps qui utilise des agents IA.
Nous vous invitons à l'essayer, à contribuer sur GitHub et à nous faire part de vos retours !
Top comments (0)