Intégration MCP
Attachez n'importe quel MCP Server comme outil à un Agent d'un workflow pour étendre ce qu'il peut faire.
MCP (Model Context Protocol) est un protocole ouvert qui fournit des outils externes au LLM de manière uniforme. Dans Braidrun, MCP est rattaché à l'Agent : en configurant un ou plusieurs MCP server sur un Agent, les outils exposés par ces server apparaissent, au même titre que les outils intégrés, dans la liste des outils que cet Agent peut appeler.
Comment ça fonctionne
La configuration MCP est au niveau de l'Agent : dans le YAML du workflow, le mcp_servers de chaque Agent est un mappage « nom → configuration » permettant de rattacher plusieurs server à la fois. Avant l'exécution d'une étape, le runtime se connecte à ces server un à un et intègre leurs outils au registre d'outils de cet Agent.
Lorsqu'un MCP server ne parvient pas à se connecter, le runtime enregistre un avertissement et ignore ses outils sans interrompre l'ensemble du workflow — les autres server et les outils intégrés restent disponibles. Si une étape dépend d'un outil provenant d'un server non connecté, l'échec apparaît dans le journal d'exécution de cette étape.
Rattacher un server stdio local
La forme la plus courante : le MCP server est un processus local que le runtime lance à l'aide de command + args et avec lequel il communique via l'entrée/sortie standard. Lorsque l'Agent est déclaré avec un preset, mcp_servers s'écrit dans overrides :
agents:
researcher:
preset: universal
overrides:
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "<your-token>"
description: "读写 GitHub 仓库与 issue"Lorsqu'un Agent déclare un preset, le runtime ne fusionne que les valeurs par défaut du preset et les champs présents dans overrides ; un mcp_servers écrit au niveau supérieur de l'Agent est ignoré.
Se Connecter à un server distant
Un MCP server peut aussi être un service réseau : dès que url est renseigné, on n'utilise plus stdio ; type détermine le mode de transport (sse, websocket, http), et en l'absence de type c'est sse qui est utilisé.
agents:
analyst:
preset: universal
overrides:
mcp_servers:
crm:
url: "https://mcp.example.com/sse"
type: sse
timeout: 60000
docs-search:
url: "https://mcp.example.com/mcp"
type: http
enabled: trueLe service pointé par url doit être accessible depuis l'environnement d'exécution du workflow — indiquez une adresse accessible depuis Internet, et non une adresse accessible uniquement depuis votre machine locale.
Référence des champs
| Champ | Description |
|---|---|
command | Commande de lancement en mode stdio (nom ou chemin de l'exécutable) ; obligatoire en mode stdio |
args | Liste des arguments de ligne de commande |
env | Variables d'environnement transmises au sous-processus stdio ; les identifiants sont transmis ici |
cwd | Répertoire de travail du sous-processus stdio ; en l'absence de valeur, le répertoire par défaut du runtime est utilisé |
url | Adresse du server distant ; dès que url est renseigné, stdio n'est plus utilisé |
type | Type de transport : stdio (par défaut), sse, websocket, http ; ne prend effet que si url est renseigné, et en l'absence de valeur c'est sse qui est utilisé |
timeout | Délai d'expiration, en millisecondes ; 30000 par défaut |
enabled | true par défaut ; le passer à false permet de désactiver temporairement un server sans supprimer sa configuration |
description | Note, pour aider les collaborateurs à comprendre le rôle de ce server |
Précautions relatives aux identifiants et au réseau
- Le sous-processus stdio n'hérite pas de toutes les variables de l'environnement d'exécution : seules quelques variables de base comme PATH, HOME, LANG, ainsi que le contenu que vous écrivez explicitement dans env, lui sont transmises. Toute API Key requise par le MCP server doit être écrite explicitement dans env.
- Les valeurs de env sont enregistrées en clair dans le YAML du workflow. Avant de partager un workflow ou de publier un modèle, remplacez les clés réelles par des espaces réservés et laissez l'utilisateur renseigner les siennes.
- Il est recommandé d'utiliser une adresse HTTPS pour un server distant ; un échec de connexion est ignoré comme indiqué ci-dessus, et vous pouvez d'abord vérifier dans le journal d'exécution si l'outil a bien été enregistré.
- Plus il y a d'outils, plus l'espace de décision de l'Agent est vaste. Ne rattacher que les server que cet Agent utilise réellement améliore à la fois le taux de réussite et la vitesse.
Exposition MCP des outils Braidrun
Cette voie est elle aussi bidirectionnelle : les outils intégrés de Braidrun sont empaquetés dans un MCP server stdio (nommé braidrun-workflow), de sorte que ce même jeu d'outils peut être fourni via le protocole MCP à d'autres clients MCP pour réutilisation.
Au sein du produit, l'assistant IA peut utiliser Koog, Claude Code ou Codex comme runtime, et prend en charge la connexion par abonnement en lieu et place d'une API Key. Pour changer de runtime, voir la documentation de l'assistant IA.