# Serveur MCP

Connectez l'agent à un serveur Model Context Protocol distant et laissez-le appeler n'importe lequel de ses tools.

## Vue d'ensemble

Le **Model Context Protocol** (MCP) est un standard ouvert qui permet aux serveurs d'exposer tools, ressources et prompts aux LLM de façon uniforme. Notion, Linear, GitHub, Slack, bases internes — beaucoup proposent désormais des endpoints MCP. Attacher un tool MCP à votre agent, c'est :

1. On se connecte au serveur MCP que vous fournissez.
2. On appelle `list_tools` pour découvrir ce qui est disponible.
3. On enregistre **chaque tool distant comme sa propre fonction** sur l'agent (ex. `mcp_notion_search`, `mcp_notion_create_page`), pour que le LLM en choisisse une directement.
4. Quand le LLM appelle, on transmet les arguments par MCP et on renvoie la réponse.

C'est la même UX que le **nœud MCP** dédié — la modale du tool réutilise d'ailleurs le panneau de configuration du nœud MCP. La différence : *agentivité*. Le nœud MCP exécute un tool de façon déterministe ; le **tool MCP** laisse le LLM choisir lequel appeler (et s'il appelle) à chaque tour.

## Configuration

| Champ | Type | Notes |
| --- | --- | --- |
| URL du serveur | URL | Endpoint MCP (souvent `https://.../sse` ou `https://.../mcp`). |
| Credential | optionnel | Token stocké ; on l'attache via le header d'auth configuré. |
| Nom du header d'auth | string | Défaut `Authorization`. |
| Schéma d'auth | string | Défaut `Bearer`. Certains serveurs veulent `Token` ou rien. |
| Filtre de tool | `auto` ou nom précis | `auto` expose tous les tools distants. Un nom précis n'expose que celui-là. |

La modale propose aussi un **catalogue de connecteurs** (Notion, Slack, Gmail, ...) qui pré-remplit l'URL et le flow OAuth pour les serveurs populaires — même panneau que le nœud MCP.

## Découverte et nommage

Les noms des tools distants sont normalisés en identifiants compatibles OpenAI avant d'être exposés au LLM :

```
nom distant        →  nom exposé
search             →  mcp_<label>_search
create_page        →  mcp_<label>_create_page
```

Le nom distant original est conservé en métadonnée de routage, pour que le dispatcher sache quel tool appeler quand le LLM choisit `mcp_notion_create_page`.

## Exemple

Config :

- URL : `https://mcp.notion.com/sse`
- Credential : `notion-prod-token` → envoyé en `Authorization: Bearer ntn_...`
- Filtre : `auto`

À l'init de l'agent, on découvre (abrégé) : `notion-search`, `notion-fetch`, `notion-create-pages`, `notion-update-page`.

Tour utilisateur : *« Crée une page Notion dans ma DB Engineering titrée ‘Rétro T3' et mets la date du jour. »*

Le LLM appelle `mcp_notion_notion_create_pages` avec les arguments conformes au schéma publié, le transport MCP les transmet, Notion répond avec l'URL de la nouvelle page, l'agent répond avec le lien.

## Bonnes pratiques

- **Faites confiance au catalogue quand possible.** Pour Notion / Slack / Gmail / Drive, utilisez le connecteur intégré plutôt que de saisir l'URL — OAuth, schéma d'auth et particularités (Notion auth, rate limit Slack) sont pré-câblés.
- **Filtrez si le serveur est bavard.** Certains MCP exposent 50+ tools. Fixer le filtre à une seule opération garde la liste courte et le LLM focalisé.
- **Adaptez les scopes du credential.** Émettez un token MCP avec le scope minimal pour réussir le workflow.
- **Utilisez le nœud MCP dédié pour les opérations one-shot.** Si votre workflow appelle toujours le même tool avec des arguments templatisés, le nœud MCP est moins coûteux et plus prévisible.

## Pièges

- La découverte a lieu **à l'init de l'agent**, une fois par exécution. Un nouveau tool ajouté sur le serveur distant ne sera visible qu'à l'exécution suivante.
- Le transport MCP est HTTPS uniquement. Les certificats auto-signés sont refusés.
- Un tool distant qui renvoie un payload énorme (ex. arbre de pages Notion) gonfle le contexte du LLM — pensez à une étape de résumé ou à un argument `limit` plus serré.
- Certains serveurs MCP (notamment d'anciens déploiements Notion) ont besoin d'enveloppes spéciales ; le runtime gère les cas connus. Si un appel échoue en 400, regardez la réponse brute dans le log d'exécution.

---

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