AI Connector
Tokens limités, niveaux d’autorité, l’API signée, le serveur MCP et le relevé de tout ce que l’IA a fait.
AI Connector est un module payant. C’est la porte qui laisse une IA piloter votre site, et l’ensemble de règles qui garde cette porte étroite.
Avertissement Le contenu du site est une donnée, pas une instruction. Les titres de sujets, les publications, les messages, les noms de membres et les champs personnalisés ont été écrits par des personnes, et certaines écriront des ordres adressés à votre IA. C’est précisément pour cela que le connecteur marque le contenu des membres comme non fiable. Une IA qui le traite comme une instruction peut être dirigée par quiconque peut publier sur votre site.
Ce qu’il est, et ce qu’il n’est pas#
C’est un système de tokens, une API REST signée et un serveur MCP. Un token agit comme un membre de service d’un groupe : il ne fait jamais plus que ce que ce groupe permet, et le périmètre posé par-dessus ne peut que retirer des permissions.
Il ne fournit aucun modèle d’IA. Vous connectez l’IA que vous utilisez déjà, avec le fournisseur et le compte que vous payez déjà. Bondry ne stocke ni modèle, ni clé de fournisseur, ni facture d’usage.
Il atteint le core et tous les modules installés, parce qu’il passe par les permissions que chaque module déclare déjà. Un module installé demain devient accessible le jour même, sans aucune mise à jour du connecteur.
Installer et activer la licence#
Téléchargez le paquet depuis votre espace client et envoyez-le dans Admin panel > Modules. Activez la licence avec le numéro de série de votre achat d’AI Connector, sur le même domaine de production que votre licence du core.
Rien n’est ouvert tant que vous n’avez pas créé de token. Le module arrive sans aucun token et n’accorde aucun accès par défaut.
Créer un token#
Allez dans AI Connector > Tokens et choisissez New token. Un token porte :
| Champ | Ce qu’il décide |
|---|---|
| Name | À quoi sert ce token, en une ligne. C’est ce que vous lisez dans le journal |
| Member group | Le plafond. Le token ne fait jamais plus qu’un membre de ce groupe |
| Mode | Tout ce que le groupe autorise, ou seulement les actions que vous choisissez |
| Scope | En mode limité, les actions exactes, écrites en clair |
| Read only | Activé par défaut : le token lit le site et ne change rien |
| Expires on | Quatre-vingt-dix jours par défaut, trente au plus pour un token absolu |
| Allowed IP addresses | Optionnel, une par ligne : adresse exacte, joker ou CIDR |
| Calls per minute and per hour | Six cents par heure par défaut, jamais au-delà de trois mille |
Le secret n’apparaît qu’une fois. Tout ce qui précède le point est l’identifiant de la clé ; tout ce qui suit est le secret de signature. Le site le conserve chiffré et ne l’affiche plus jamais : rangez-le là où vous rangez vos mots de passe.
Remarque Laissez Read only activé sur votre premier token. Un token en lecture seule suffit déjà à laisser une IA répondre aux questions sur votre communauté, et il ne peut rien abîmer pendant que vous découvrez ce que cette IA en fait.
Les trois niveaux d’autorité#
Le niveau découle du groupe choisi et d’une case. Il est inscrit dans chaque ligne du journal, donc un token rétrogradé plus tard ne réécrit pas sa propre histoire.
Membre. Un groupe ordinaire. Le token agit exactement comme un membre de ce groupe, et la surface d’administration lui reste fermée. C’est le niveau d’un token qui répond aux questions, publie des réponses ou tient une catégorie en ordre.
Administrateur. Un groupe avec des droits d’administration, la case décochée. Le token crée et configure tout ce qu’un administrateur configure dans le panneau, dans le core et dans chaque module installé : groupes, catégories, forums, pages, cours, formules, badges, menus, langues et thèmes. Les actions destructrices restent fermées sauf si vous les accordez une par une, et elles répondent encore par une étape de confirmation.
Absolu. Un groupe avec des droits d’administration, Absolute access activé. Le token fait tout, y compris le destructeur, sans étape de confirmation par action. L’accorder coûte, à l’écran et sur le serveur :
- une confirmation écrite indiquant que le token peut supprimer des contenus et des membres, désinstaller des modules et modifier les paiements, les permissions et les réglages ;
- le mot de passe de l’administrateur qui crée le token ;
- le code de double authentification, quand ce compte l’a activée ;
- une date d’expiration à trente jours au plus.
Retirer l’accès absolu ne coûte rien : baisser le pouvoir ne doit jamais être plus difficile que l’élever. L’interrupteur général, les plafonds, la liste d’IP, le journal d’audit et la lecture seule s’appliquent toujours à un token absolu.
Se connecter par l’API REST signée#
L’URL de base se trouve dans AI Connector > Documentation. Chaque appel porte quatre en-têtes :
| En-tête | Valeur |
|---|---|
X-Bondry-Key |
La partie de votre token avant le point |
X-Bondry-Timestamp |
Temps unix, accepté dans une fenêtre de 300 secondes |
X-Bondry-Nonce |
À usage unique |
X-Bondry-Signature |
hex(hmac_sha256(secret, METHOD + LF + PATH + LF + TIMESTAMP + LF + NONCE + LF + sha256(body))) |
Interrogez le site avant d’agir. GET /ai/v1/capabilities indique quels
modules sont installés, ce que ce token peut exécuter, s’il est en lecture
seule et quels sont les plafonds. GET /ai/v1/schema/{resource} décrit les
champs et les actions d’une ressource. POST /ai/v1/actions exécute une
action.
Se connecter par MCP#
La même porte avec une autre poignée : les mêmes tokens, les mêmes plafonds, le même relevé et la même étape de confirmation. AI Connector > Documentation affiche l’URL MCP de cette installation, et le token voyage en bearer :
{
"mcpServers": {
"bondry": {
"type": "http",
"url": "https://votre-communaute.com/ai/mcp/<installation>",
"headers": {
"Authorization": "Bearer bai_xxxxxxxxxxxx.<secret>"
}
}
}
}
Claude Code l’ajoute en une ligne :
claude mcp add --transport http bondry \
https://votre-communaute.com/ai/mcp/<installation> \
--header "Authorization: Bearer bai_xxxxxxxxxxxx.<secret>"
Quatre outils, et aucun n’est une liste d’usine : bondry_capabilities,
bondry_schema, bondry_read et bondry_act.
Avertissement Un client MCP ne signe pas le corps de la requête : le secret lui-même voyage dans l’en-tête. Le point d’entrée refuse le HTTP simple en dehors du développement local. Servez votre site en HTTPS avant de confier un token à une IA.
Essai à blanc#
Toute action peut être envoyée en essai à blanc. Le site répond ce qu’il ferait, en détail, et ne change rien. La réponse indique aussi si l’appel réel demandera une confirmation. Utilisez-le la première fois qu’une IA touche un type de ressource qu’elle n’a jamais touché.
Confirmation en deux temps#
Une action destructrice répond 409 avec un token de confirmation valable une
fois, pendant cinq minutes, pour cette action exacte sur cette cible exacte. Le
second appel le porte et exécute. Cela vaut pour un token administrateur même
en mode « tout ce que le groupe autorise » : le destructeur n’arrive jamais par
héritage.
Un token absolu saute la seconde étape. C’est toute la différence, et c’est pour cela qu’accorder un accès absolu coûte ce que cela coûte.
Le journal d’activité#
AI Connector > Activity liste chaque appel passé par l’IA, y compris ceux refusés à la porte. Chaque ligne porte le token, l’autorité qu’il avait à cet instant, la surface (API REST ou serveur MCP), l’action, la cible et, quand quelque chose a changé, l’avant et l’après.
Filtrez par token, par surface, par type et par résultat. Les mêmes actions arrivent aussi dans l’Administrator Log du core : un audit lit une seule histoire, pas deux.
L’interrupteur général#
AI Connector > Tokens dispose d’un interrupteur qui coupe le connecteur. Il révoque tous les tokens d’un coup et refuse tout appel jusqu’à ce que vous le remettiez. Rien d’autre ne change sur votre site.
Le remettre ne restaure pas les tokens : ils restent révoqués, et vous restaurez un par un ceux que vous voulez encore. C’est délibéré. Un interrupteur baissé dans l’urgence ne doit pas se relever tout seul.