Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Assistants IA (MCP)

Le standard expose un serveur MCP (Model Context Protocol) : un assistant IA, qu’il s’agisse de Claude, de ChatGPT, de Le Chat ou de tout autre client MCP, utilise les opérations de l’API avec les droits d’une clé d’API. Vous lui demandez en langage naturel « qui a appelé hier après 18 h ? », il appelle les opérations nécessaires et vous répond.

Avant de commencer

  • Adresse du serveur : https://<adresse du portail>/api/v1/mcp, en HTTP streamable. Dans les exemples ci-dessous, remplacez portail.exemple par l’adresse de votre portail.
  • Clé d’API : créez-en une dans la page API (Clés d’API) ; elle ne voit et ne modifie que votre espace. Le client MCP l’envoie dans l’en-tête Authorization: Bearer <clé>.
  • Droits : l’assistant a exactement les droits de la clé. Choisissez le rôle le plus restreint qui suffit, en lecture seule pour commencer. Chaque écriture est tracée au journal d’audit, au canal mcp, au nom de la clé.
  • Une clé par outil : la révoquer coupe cet outil seul.
  • Secret : ne collez pas la clé dans une conversation. Placez-la dans la configuration de l’outil, ou mieux dans une variable d’environnement (CENTREX_CLE ci-dessous).
  • Données transmises : les réponses de l’API (journal d’appels, numéros, noms des utilisateurs) partent chez le fournisseur de l’assistant. Vérifiez que cet usage est compatible avec vos engagements RGPD, notamment envers vos collaborateurs.
  • Réseau : les outils installés sur votre poste (Claude Code, Claude Desktop, Codex, Vibe) joignent le portail depuis votre poste. Les assistants web (claude.ai, Le Chat, API d’OpenAI) le joignent depuis les serveurs de leur fournisseur : le portail doit être accessible depuis internet.

Claude

Claude Code : une commande, puis /mcp dans Claude Code pour vérifier la connexion.

claude mcp add --transport http centrex https://portail.exemple/api/v1/mcp \
  --header "Authorization: Bearer $CENTREX_CLE"

Claude Desktop : passez par le pont mcp-remote (Node.js requis). Ajoutez ce serveur à claude_desktop_config.json (menu Réglages, Développeur, Modifier la configuration), puis redémarrez l’application.

{
  "mcpServers": {
    "centrex": {
      "command": "npx",
      "args": ["mcp-remote", "https://portail.exemple/api/v1/mcp",
               "--header", "Authorization:${CENTREX_AUTH}"],
      "env": { "CENTREX_AUTH": "Bearer <clé>" }
    }
  }
}

claude.ai (web et mobile) : un connecteur personnalisé n’accepte une clé fixe que si votre organisation Claude a accès aux en-têtes de requête (en bêta). Le propriétaire de l’organisation ajoute alors le connecteur avec l’en-tête Authorization et la valeur Bearer <clé>. Sinon, utilisez Claude Desktop ou Claude Code.

OpenAI

ChatGPT : ses connecteurs n’acceptent qu’OAuth ou aucune authentification. Il ne peut pas utiliser une clé d’API pour l’instant.

Codex (en ligne de commande et extension d’éditeur) : ajoutez le serveur à ~/.codex/config.toml, exportez CENTREX_CLE avant de lancer Codex, puis vérifiez avec codex mcp list.

[mcp_servers.centrex]
url = "https://portail.exemple/api/v1/mcp"
bearer_token_env_var = "CENTREX_CLE"

API d’OpenAI (Responses), pour vos propres intégrations : déclarez le serveur dans les outils de la requête. allowed_tools limite les opérations proposées au modèle, et require_approval vous fait valider chaque appel.

"tools": [{
  "type": "mcp",
  "server_label": "centrex",
  "server_url": "https://portail.exemple/api/v1/mcp",
  "authorization": "<clé>",
  "require_approval": "always"
}]

Mistral

Le Chat : un administrateur de l’espace ouvre Connecteurs, Ajouter un connecteur, onglet Connecteur MCP personnalisé. Il donne un nom sans espace (centrex) et l’adresse du serveur, puis choisit l’authentification HTTP Bearer Token et colle la clé.

Vibe (en ligne de commande) : ajoutez le serveur à ~/.vibe/config.toml, et exportez CENTREX_CLE avant de lancer Vibe.

[[mcp_servers]]
name = "centrex"
transport = "http"
url = "https://portail.exemple/api/v1/mcp"
api_key_env = "CENTREX_CLE"
api_key_header = "Authorization"
api_key_format = "Bearer {token}"

Autres clients MCP

Tout client MCP qui envoie un en-tête fixe convient. Configuration usuelle :

{
  "mcpServers": {
    "centrex": {
      "type": "http",
      "url": "https://portail.exemple/api/v1/mcp",
      "headers": { "Authorization": "Bearer <clé>" }
    }
  }
}

Chaque opération de l’API de votre espace (documentation à l’adresse /api/docs du portail) est un outil du même nom (listerAppels, reglerRenvois…). Avec l’en-tête Accept-Language: en, les descriptions des outils et le détail des erreurs sont en anglais.

Exemples de demandes

  • « Qui a appelé hier après 18 h, et qui a répondu ? »
  • « Combien d’appels manqués cette semaine, poste par poste ? »
  • « Renvoie le poste 102 vers le 06 12 34 56 78. »
  • « Quels postes ne sont pas connectés en ce moment ? »

Le portail a aussi son propre assistant, sans rien à configurer.

Pour couper l’accès d’un assistant, révoquez sa clé dans la page API.