Aller au contenu principal
DocumentÉcosystème d'extensionsIntégration MCP

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 :

yaml
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"
En mode preset, il doit figurer dans overrides

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é.

yaml
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: true

Le 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

ChampDescription
commandCommande de lancement en mode stdio (nom ou chemin de l'exécutable) ; obligatoire en mode stdio
argsListe des arguments de ligne de commande
envVariables d'environnement transmises au sous-processus stdio ; les identifiants sont transmis ici
cwdRépertoire de travail du sous-processus stdio ; en l'absence de valeur, le répertoire par défaut du runtime est utilisé
urlAdresse du server distant ; dès que url est renseigné, stdio n'est plus utilisé
typeType 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é
timeoutDélai d'expiration, en millisecondes ; 30000 par défaut
enabledtrue par défaut ; le passer à false permet de désactiver temporairement un server sans supprimer sa configuration
descriptionNote, 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.

Relation avec Claude Code / Codex

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.

Pages connexes