# MCP (nœud workflow)

Appelle un outil Model Context Protocol comme étape déterministe — sans LLM dans la boucle.

## Vue d'ensemble

Le nœud MCP standalone appelle un outil précis sur un serveur MCP avec des arguments mappés et écrit le résultat dans `last_output`. Il s'appuie sur le même catalogue de connecteurs que l'outil MCP intra-agent (Notion, Slack, GitHub, Linear, Drive, serveurs custom via OAuth ou bearer), mais s'exécute comme une étape de workflow standard plutôt qu'exposé à un agent.

À utiliser pour des appels d'intégration prévisibles et reproductibles :

- Insérer une ligne Notion à chaque webhook reçu.
- Poster un message Slack en fin de pipeline.
- Ouvrir un issue GitHub depuis une alerte.

La résolution des arguments passe par un LLM au moment de l'exécution, à partir du contexte courant. Fixez un `toolName` précis (ex. `notion-create-pages`) pour sauter l'étape de découverte et aller direct à l'extraction.

## Configuration

| Champ | Description |
| --- | --- |
| Connecteur | Choix dans le catalogue (Notion, Slack, GitHub, Linear, Drive…) ou **Custom** pour toute URL MCP. |
| `serverUrl` | Endpoint MCP (rempli automatiquement pour le catalogue). |
| `toolName` | Outil à invoquer. `auto` laisse un LLM choisir parmi les outils découverts ; un nom comme `notion-create-pages` le fige. |
| `authMode` | `oauth`, `token`, `custom_headers`, `none`. OAuth lance le popup de consentement une fois, le mode token stocke un bearer chiffré, custom_headers permet des schémas d'auth arbitraires. |
| `apiKey` / `customHeaders` | Credentials chiffrés au repos. |

Après sauvegarde, le panneau liste tous les outils exposés par le serveur pour pouvoir pinner le bon. Il affiche aussi l'état de connexion (`Connected`, `Reconnect required`…).

Clés du contexte en sortie :

| Clé | Valeur |
| --- | --- |
| `last_output` | Contenu texte du résultat MCP. |
| `mcp_transport` | Transport utilisé (`streamable_http`, `sse`). |

## Exemple

Créer une page Notion depuis une soumission de formulaire :

```
Webhook (form)
  → MCP (connecteur: Notion, toolName: notion-create-pages)
  → Respond webhook (200, {"created": true})
```

Notification Slack en fin de pipeline :

```
Agent (résumé) → MCP (connecteur: Slack, toolName: chat.postMessage)
```

## Pièges

- L'extraction d'arguments passe par un LLM pour mapper le contexte sur le schéma d'entrée — ça économise du câblage mais coûte un call modèle par exécution. Pour la perf pure, préférez **HTTP Request** sur l'API sous-jacente.
- Les tokens OAuth expirent. Le panneau affiche **Reconnect required** ; cliquez **Reconnect** pour rafraîchir.
- Le connecteur Notion impose de vrais UUID dans `filters.created_by_user_ids` — des placeholders comme `"me"` sont rejetés par le serveur.
- `toolName: auto` coûte un call LLM supplémentaire pour découvrir et choisir. Figez le nom dès que vous le connaissez.
- Le nœud n'écrit que la partie texte du résultat MCP. Pour des champs structurés, parsez `last_output` dans un **Transform** aval ou branchez avec **If/else**.

---

*Source: https://agentbuilder.systalink.sn/docs/node-mcp — human documentation.*
*Other language: [/docs-md/en/node-mcp.md](/docs-md/en/node-mcp.md).*
*Machine-readable index: [/llms.txt](/llms.txt).*
