# Serveur MCP

> Laissez des agents externes comme Claude Code ou Cursor consulter vos agents et leur confier du travail via MCP. Seuls les agents que vous activez peuvent être exécutés.

Le **serveur MCP** est l'adresse où un agent externe, comme Claude Code ou Cursor, consulte vos agents endue et leur confie du travail via MCP. C'est la quatrième voie d'accès, à côté d'une [conversation](/fr/docs/work/conversations/), d'un [canal](/fr/docs/automate/channels/) et de l'[API d'agent](/fr/docs/build/agent-api/), et celle-ci s'adresse aux autres agents.

```
https://platform.endue.ai/mcp
```

## Quand l'utiliser

Quand un agent de programmation que vous utilisez déjà a besoin de l'aide d'un de vos agents endue en plein travail : Claude Code corrige du code et demande à votre agent de support de résumer les tickets de remboursement de la semaine dernière.

Si l'appelant est du code que vous avez écrit, utilisez l'[API d'agent](/fr/docs/build/agent-api/). Elle diffuse la réponse en continu.

## Se connecter

<Steps>

1. **Ouvrez Paramètres → Compte → Connexion MCP** et sélectionnez **Créer une connexion**. La section **MCP** d'[Agent Builder](/fr/docs/build/agent-builder/) propose le même bouton.

2. **Créez une clé.** Définissez son nom et son expiration. Ses autorisations sont fixées à **Lecture** et **Exécution MCP**.

3. **Collez la configuration.** Choisissez votre client et la fenêtre affiche une configuration où la clé est déjà renseignée. Copiez-la à l'endroit que la fenêtre indique. La clé ne peut plus être affichée une fois la fenêtre fermée.

4. **Vérifiez la connexion.** Quand l'agent externe envoie sa première requête, la fenêtre passe à **Connecté**.

5. **Activez MCP pour l'agent que vous voulez exécuter.** Dans la section **MCP** d'Agent Builder, activez **Exécuter cet agent via MCP**. Un agent dont l'interrupteur est désactivé peut être lu, mais pas exécuté.

</Steps>

Voici les configurations que la fenêtre affiche. Votre clé se place là où figure `sk_...`.

<Tabs syncKey="mcp-client">
  <TabItem label="Claude Code">
    Exécutez cette commande dans votre terminal.

    ```bash
    claude mcp add --transport http endue https://platform.endue.ai/mcp --header "Authorization: Bearer sk_..."
    ```
  </TabItem>
  <TabItem label="Cursor">
    Placez ceci dans `~/.cursor/mcp.json`.

    ```json
    {
      "mcpServers": {
        "endue": {
          "url": "https://platform.endue.ai/mcp",
          "headers": { "Authorization": "Bearer sk_..." }
        }
      }
    }
    ```
  </TabItem>
  <TabItem label="VS Code">
    Placez ceci dans `.vscode/mcp.json`.

    ```json
    {
      "servers": {
        "endue": {
          "type": "http",
          "url": "https://platform.endue.ai/mcp",
          "headers": { "Authorization": "Bearer sk_..." }
        }
      }
    }
    ```
  </TabItem>
  <TabItem label="Autres clients">
    Saisissez vous-même l'adresse du serveur et l'en-tête. Le transport est HTTP.

    ```
    https://platform.endue.ai/mcp
    Authorization: Bearer sk_...
    ```
  </TabItem>
</Tabs>

Pour garder la clé hors du fichier de configuration, sélectionnez **Afficher avec une variable d'environnement** dans la fenêtre. La configuration devient une version qui lit la clé dans `ENDUE_API_KEY`.

<Aside type="note" title="Se connecter avec une clé que vous avez déjà">
  Une clé créée dans **Paramètres → Compte → Clés API** avec l'usage **Connexion MCP** fonctionne de la
  même façon. Une clé générée avant que les autorisations puissent être choisies est affichée comme
  **Toutes les autorisations** et fonctionne aussi via MCP.
</Aside>

## Les outils dont dispose l'agent externe

| Outil | Ce qu'il fait | Ce qu'il lui faut |
| --- | --- | --- |
| `list_agents` | Renvoie le nom et la description de vos agents, et indique si chacun peut être exécuté via MCP. | L'autorisation **Lecture** |
| `get_agent` | Renvoie un résumé de la configuration d'un agent : modèle, compétences, connecteurs, canaux. | L'autorisation **Lecture** |
| `invoke_agent` | Confie du travail à l'agent et renvoie sa réponse. | L'autorisation **Exécution MCP**, et l'interrupteur MCP de l'agent |
| `get_session` | Renvoie l'état et la réponse d'un travail confié plus tôt. | L'autorisation **Exécution MCP** |

`get_agent` renvoie des noms et des résumés. Le contenu du prompt système et de la mémoire, ainsi que les comptes liés aux connecteurs, ne sont pas envoyés.

La réponse d'`invoke_agent` contient un identifiant de session. Envoyez cet identifiant lors de l'appel suivant et l'agent poursuit dans la même conversation. Quand une exécution ne se termine pas en 50 secondes environ, l'état `running` et l'identifiant de session sont renvoyés d'abord, et l'agent externe récupère la réponse avec `get_session`. L'exécution va à son terme même si l'agent externe se déconnecte avant.

## Ce que vous réglez pour chaque agent

La section **MCP** d'Agent Builder comporte deux interrupteurs. Les deux sont désactivés au départ.

- **Exécuter cet agent via MCP.** `invoke_agent` ne fonctionne que lorsque cet interrupteur est activé. Les informations comme le nom et la description restent lisibles dans les deux cas.
- **Autoriser aussi les connecteurs et les livrables.** Quand il est désactivé, le travail qui arrive via MCP n'utilise ni les [connecteurs](/fr/docs/connect/overview/) ni les [livrables](/fr/docs/capabilities/outputs/). Quand il est activé, l'envoi et la suppression demandent quand même votre [approbation](/fr/docs/work/approvals/) à chaque fois, et **Toujours autoriser** ne s'applique pas ici.

**Appels récents**, dans la même section, liste les appels MCP qui ont atteint cet agent. Les appels refusés y figurent avec leur raison, par exemple **Aucune autorisation** ou **Désactivé**.

## Voir ce qui est arrivé

- **Notification.** Vous recevez une notification quand un agent externe démarre une nouvelle conversation, et aucune tant que cette conversation se poursuit.
- **Conversation.** Elle apparaît sous **MCP** pour cet agent dans la barre latérale. Ouvrez-la pour voir quelle clé et quel client ont lancé l'appel.
- **Approbation.** L'exécution se met en pause sur une action qui demande une approbation, et la demande vous parvient. Après votre approbation, l'exécution reprend et l'agent externe récupère la réponse avec `get_session`.

Une conversation MCP est en lecture seule. Elle ne se poursuit que par des appels MCP.

## Limites

- Un client qui ne peut pas envoyer de jeton dans un en-tête (un client qui ne se connecte que par OAuth) ne peut pas se connecter.
- Le travail qui arrive via MCP n'utilise pas les [appareils](/fr/docs/build/devices/). Aucun interrupteur ne permet de les activer.
- L'agent externe ne peut choisir ni le modèle ni le nombre d'étapes. L'exécution utilise ce qui est réglé sur l'agent.
- Les cartes de [question](/fr/docs/work/questions/) de l'agent ne sont pas envoyées à l'extérieur. Quand l'agent a besoin de poser une question, il la pose dans le texte de sa réponse.
- L'appelant externe ne peut pas écrire dans la [mémoire](/fr/docs/capabilities/memory/) de l'agent.
- Une session démarrée via MCP se poursuit et se lit uniquement via MCP. Elle ne se mélange pas aux sessions de l'API d'agent.
- `list_agents` renvoie jusqu'à 50 agents.
- Les autorisations d'une clé ne peuvent pas être modifiées une fois la clé générée. Créez une autre clé quand il vous en faut d'autres.
- Les exécutions et les frais sont imputés au compte qui a créé la clé.

## Voir aussi

<CardGrid>
  <LinkCard
    title="API d'agent"
    href="/fr/docs/build/agent-api/"
    description="Quand l'appelant est du code plutôt qu'un agent."
  />
  <LinkCard
    title="Approbations"
    href="/fr/docs/work/approvals/"
    description="Pourquoi l'envoi et la suppression vous attendent."
  />
  <LinkCard
    title="Connexions directes"
    href="/fr/docs/connect/direct-connections/"
    description="L'autre direction : votre agent utilise un serveur MCP externe."
  />
  <LinkCard
    title="Sécurité et autorisations"
    href="/fr/docs/account/security/"
    description="Ce qu'une clé peut atteindre, et comment la révoquer."
  />
</CardGrid>
