MCP : connecter l'agent au monde extérieur
MCP (Model Context Protocol) permet à Hermes Agent d'utiliser des outils qui vivent en dehors de lui. GitHub, bases de données, systèmes de fichiers, APIs internes, navigateurs headless : tout ce qui expose un serveur MCP devient un outil pour votre agent.
Ce que MCP apporte
- Accès à des écosystèmes d'outils sans écrire un outil Hermes natif
- Serveurs stdio locaux et serveurs HTTP distants dans la même configuration
- Découverte automatique des outils au démarrage
- Filtrage par serveur : vous exposez uniquement les outils que vous voulez
Exemple : connecter un serveur filesystem
Dans ~/.hermes/config.yaml :
yamlconfig.yamlmcp_servers: filesystem: command: npx args: [-y, @modelcontextprotocol/server-filesystem, /home/user/projects]
Lancez hermes chat. L'agent découvre automatiquement les outils du serveur. Demandez-lui :
promptListe les fichiers dans /home/user/projects et résume la structure du repo.
Il utilise les outils MCP comme n'importe quel autre outil.
Le catalogue MCP
Hermes embarque un catalogue de serveurs MCP validés par Nous Research. Ils sont désactivés par défaut, installez seulement ce dont vous avez besoin :
bashhermes mcp # sélecteur interactif hermes mcp catalog # liste en texte brut hermes mcp install n8n # installer une entrée du catalogue
Le sélecteur montre chaque entrée avec son statut (disponible, activé, installé). Vous choisissez les outils à exposer parmi ceux que le serveur propose.
Cron : automatiser sans surveillance
La brique cron de Hermes permet de planifier des tâches en langage naturel. L'agent les exécute dans des sessions fraîches, avec ou sans LLM, et livre le résultat où vous voulez.
Ce que cron peut faire
- Tâches ponctuelles ou récurrentes
- Pause, reprise, édition, déclenchement manuel
- Une ou plusieurs skills attachées à un job
- Livraison sur Telegram, Discord, email, ou stockage local
- Mode sans agent : un script planifié, stdout livré tel quel, zéro appel LLM
Exemple : un briefing matinal
Dans le chat :
chat/cron add every day at 9am Cherche les actualités IA sur Hacker News et envoie-moi un résumé sur Telegram
Ou en CLI :
bashhermes cron create "0 9 * * *" "Cherche les actualités IA et résume" --skill blogwatcher --name "Briefing IA"
Mode no-agent
Pour les tâches purement scriptées (surveillance disque, heartbeat, alerte seuil) :
yaml# cronjob avec no_agent=true # Le script tourne, stdout est livré, zéro token consommé
Utile pour les watchdogs : le script reste silencieux quand tout va bien, parle seulement quand il y a un problème.
Piège à éviter
Un job sans modèle explicitement épinglé suit le modèle par défaut. Si vous changez de défaut, le job refuse de tourner et vous alerte. Épinglez toujours le modèle sur les jobs de production :
bashcronjob action=update job_id=... provider=openrouter model=anthropic/claude-sonnet-4
Voice mode : parler à son agent
Hermes Agent supporte l'interaction vocale complète sur CLI, Telegram et Discord.
Ce qui est possible
| Fonctionnalité | Plateforme | Description |
|---|---|---|
| Voice interactif | CLI | Ctrl+B pour enregistrer, l'agent détecte le silence et répond |
| Réponse vocale auto | Telegram, Discord | L'agent envoie de l'audio avec ses réponses texte |
| Canaux vocaux | Discord | L'agent rejoint un canal vocal, écoute et parle |
Prérequis
bash# CLI voice mode cd ~/.hermes/hermes-agent && uv pip install -e .[voice] # Discord + Telegram cd ~/.hermes/hermes-agent && uv pip install -e .[messaging] # Dépendances système (Ubuntu/Debian) sudo apt install portaudio19-dev ffmpeg libopus0
Pour le speech-to-text, faster-whisper tourne en local, gratuit, sans clé API. Pour le TTS, OpenAI TTS via Nous Portal ou ElevenLabs en premium.
Délégation multi-agent
Quand une tâche ne suffit plus, delegate_task lance des sous-agents isolés avec leur propre contexte, leurs propres outils, et leur propre session terminal.
Single task
pythondelegate_task( goal="Débogue pourquoi les tests échouent", context="Erreur: assertion dans test_foo.py ligne 42. Projet dans /home/user/monprojet.", toolsets=["terminal", "file"] )
Batch parallèle (jusqu'à 3 sous-agents simultanés)
pythondelegate_task(tasks=[ {"goal": "Recherche l'état de WebAssembly en 2025", "toolsets": ["web"]}, {"goal": "Recherche l'adoption de RISC-V en 2025", "toolsets": ["web"]}, {"goal": "Corrige le build cassé", "toolsets": ["terminal", "file"]} ])
Règle critique
Les sous-agents démarrent avec un contexte vierge. Ils ne savent rien de votre conversation. Tout ce dont ils ont besoin doit être dans le goal et le context que vous leur passez. Un sous-agent mal contexté, c'est un sous-agent qui tourne dans le vide.
FAQ
MCP est-il stable ?
Le protocole MCP est supporté nativement. La stabilité dépend surtout du serveur MCP que vous connectez. Les serveurs du catalogue Nous Research sont validés.
Combien coûte un cron job ?
Tout dépend du modèle utilisé et de la fréquence. Un job quotidien avec un modèle léger coûte quelques centimes par mois. Un job toutes les heures avec un gros modèle, c'est un autre budget. Le mode no-agent ne coûte rien en tokens.
Peut-on chaîner des cron jobs ?
Oui, avec context_from : un job B peut consommer la sortie du job A. Utile pour les pipelines : collecte → traitement → livraison.
Le voice mode fonctionne-t-il en français ?
Oui. Faster-whisper supporte le français. La qualité dépend du modèle choisi et de la clarté de l'audio.
Quelle est la limite de la délégation ?
3 sous-agents simultanés par défaut (configurable). Les sous-agents ne peuvent pas déléguer à leur tour (profondeur 1). Ils n'ont pas accès à la mémoire de la session parente.