Skip to content

Construire un agent MCP simple

Un agent MCP charge des outils, laisse le modèle choisir une action, exécute l’outil demandé puis reformule le résultat.

La boucle agentique

  1. MCP - Liste d’outils produit tools et toolServerRouting.
  2. Instruction LLM prépare le contexte et la consigne métier.
  3. Requête LLM reçoit {{listTools-1.tools}} et produit éventuellement genericToolCalls.
  4. Condition teste gt (length chatCompletion-1.genericToolCalls) 0.
  5. MCP - Appel d’outils consomme les appels et le routage.
  6. Une deuxième instruction intègre le résultat, puis revient vers la requête LLM.
  7. Si aucun outil n’est demandé, la réponse content termine directement le tour.

Configurer le catalogue

Pour chaque serveur MCP, renseignez son nom, son URL, ses en-têtes et éventuellement ses métadonnées. Cliquez sur Récupérer les outils, puis autorisez uniquement les actions utiles au workflow.

json
{
  "Authorization": "{{customParams.mcpAuthorization}}"
}
json
{
  "conversationId": "{{queryExecutionId}}",
  "userEmail": "{{userData.email}}"
}

Transmettre les outils au modèle

Dans la Requête LLM :

txt
Outils : {{listTools-1.tools}}
Mode strict : true

La consigne doit indiquer quand utiliser un outil, quand répondre directement et quelles actions nécessitent une confirmation.

Appeler le bon serveur

Dans MCP - Appel d’outils :

txt
Exécutions d'outils : {{chatCompletion-1.genericToolCalls}}
Serveur de routage : {{listTools-1.toolServerRouting}}

Le routage associe chaque outil au serveur qui l’expose. Ne remplacez pas cette référence par une URL écrite en dur.

Reformuler le résultat

Après l’appel, le modèle doit recevoir le résultat de l’outil et l’historique afin de produire une réponse utilisateur, pas un objet technique brut.

Exemple de consigne :

txt
À partir du résultat d'outil, réponds clairement à l'utilisateur.
N'invente aucune donnée absente du résultat.
Si l'action a échoué, explique-le sans exposer de détail technique.

Avec ou sans outil

Sans MCPAvec MCP
Le bot décrit comment accomplir l’actionLe bot peut exécuter l’action
Les données externes ne sont pas consultéesLe serveur fournit des données à jour
La réponse reste informativeLa réponse devient opérationnelle

Sécurité et fiabilité

  • limitez le catalogue aux outils nécessaires ;
  • transmettez les jetons via customParams, jamais en clair dans le workflow ;
  • ajoutez une confirmation utilisateur pour les actions sensibles ;
  • testez les expirations et les droits insuffisants ;
  • reliez les erreurs du catalogue, du LLM et des appels d’outils ;
  • vérifiez que la boucle possède toujours une route de sortie.