Lorsque l’agent Hermes se connecte au service MCP, si le service quitte dès son démarrage, il priorise le chemin de commande, le répertoire de travail, les variables d’environnement et les journaux stderr. La configuration MCP ressemble à un problème mineur JSON/YAML, mais le vrai problème est souvent que « les commandes ne peuvent pas être trouvées dans l’environnement d’exécution d’Hermes ».
Première reproduction dans le terminal
Copiez la commande et les args dans la configuration MCP vers le même utilisateur et le même shell pour exécution. Si le terminal ne peut pas fonctionner, Hermes ne fonctionnera pas non plus. Les situations courantes incluent Node/Python absent du PATH, l’environnement virtuel n’est pas actif, le package n’est pas installé, et le chemin du script utilise un chemin relatif.
Quatre points de contrôle clés
- Commande une fois avec un chemin absolu, par exemple Python dans
/usr/bin/nodeou VENV. - CWD correct : De nombreux serveurs MCP doivent être démarrés à la racine du projet.
- env terminé : clé API, chemin de configuration et variables proxy n’existent pas seulement dans le shell interactif.
- Journaux avec stderr : La vraie raison est généralement imprimée avant la fermeture du service.
N’ouvrez pas tous les MCP ensemble
Activez un seul serveur MCP lors du dépannage, assurez-vous qu’il démarre de manière stable, liste les outils et effectue une requête minimale avant de vous connecter au suivant. Lorsque plusieurs MCP échouent simultanément, les journaux sont mélangés, rendant difficile de déterminer qui sort.
Si MCP peut fonctionner en Cursor ou Claude Code, mais pas dans Hermes, c’est probablement parce que l’environnement de démarrage est différent. Écrire explicitement des chemins, cwd et env dans la configuration MCP d’Hermes est plus stable que de se fier à l’état implicite du shell.