Aller au contenu
Bondry

Serveur MCP

Connectez votre agent de développement à Bondry : l'adresse, le jeton bkm_, les portées, les outils et la configuration du client.

Nous hébergeons un serveur MCP pour les auteurs de modules et de thèmes. Votre agent lui pose les mêmes questions que celles auxquelles répond cette documentation, lance les mêmes contrôles que la revue et publie par les mêmes routes que votre pipeline appellerait.

Ce n'est pas un accès au Bondry installé de qui que ce soit. Piloter un site, c'est le connecteur d'IA du produit, un autre sujet, qui vit du côté de Bondry.

L'adresse#

Code
https://mcp.bondry.org/v1/<hash>
Authorization: Bearer bkm_<12 hex>.<secret>

Le hash identifie ; le jeton authentifie. L'identifiant présent dans l'URL est celui que votre compte utilise déjà dans les liens de téléchargement, et c'est lui qui dit à quel compte appartient la session. Ce n'est pas un mot de passe, et il ne suffit pas à lui seul : un jeton ne vaut que sur l'URL de son propre propriétaire, et toute autre adresse répond 404 sans jamais confirmer si cet identifiant appartient à quelqu'un.

Le jeton s'émet dans votre compte, sous Accès MCP. Il s'affiche une seule fois, il est révocable, il porte des portées et il enregistre sa dernière utilisation. Nous n'en gardons qu'une empreinte, donc aucun écran ne peut vous le remontrer.

Les portées#

Cochées à l'émission, jamais élargies ensuite.

Portée Autorise
docs lire la documentation développeurs, le schéma du manifeste, les hooks, les permissions, les jetons de design et les événements
validate lancer les contrôles de paquet et de manifeste
publish enregistrer un artefact, annoncer une version et envoyer un paquet
status lire l'état de revue et l'historique des livraisons

publish démarre décochée. Un jeton sans elle ne publie pas, et un appel d'outil qui en a besoin est refusé par l'outil lui-même, avec le motif, pendant que la session continue. Besoin d'un jeton plus large ? Émettez-en un nouveau et révoquez l'ancien.

Les outils#

Lecture (portée docs)

Outil Renvoie
bondry_docs_search des passages de cette documentation, avec le chemin de la page et celui du fichier
bondry_manifest_schema le schéma de module.json ou theme.json, champ par champ, avec ce qui est obligatoire
bondry_hooks les emplacements d'interface et la façon dont un module en remplit un
bondry_permissions le modèle de permissions et les règles d'indépendance qui le soutiennent
bondry_design_tokens les contrôles du customiseur et les variables CSS auxquelles ils se rattachent
bondry_events le modèle d'événements et les méthodes de cycle de vie appelées par le kernel

Vérification (portée validate)

Outil Fait
bondry_validate_manifest valide un module.json ou theme.json collé, champ par champ
bondry_validate_package lance la revue automatique sur un zip envoyé dans l'appel : chemin sortant, lien symbolique, bombe, taille, manifeste, slug, version, la traduction anglaise obligatoire et l'analyse statique
bondry_review_preflight les deux précédents, plus chaque signalement avec son fichier et sa ligne

Publication (portée publish, et status pour les deux lectures)

Outil Fait
bondry_register_artifact enregistre un artefact et réserve son slug, ou met à jour les métadonnées d'un artefact que vous publiez déjà
bondry_announce_release annonce une version, sans envoyer un octet
bondry_upload_package envoie le zip d'une version annoncée
bondry_artifact_status état de revue, version publiée, points en attente et dernière annonce
bondry_webhook_deliveries les dernières livraisons, avec renvoi (renvoyer exige publish)

Toute écriture répond avec ce qui a changé et ce qui manque encore, jamais un simple « ok ». Aucun outil n'accepte un slug qui n'est pas le vôtre : un slug appartenant à quelqu'un d'autre répond exactement comme un slug qui n'a jamais existé.

Aucun outil ne va chercher un paquet sur le réseau. Seuls les octets envoyés dans l'appel sont lus. Par un appel d'outil, le zip voyage encodé en base64, plafonné à 8 Mo ; au-delà, le chemin est PUT /v1/publisher/releases/{version}/package, qui accepte les octets bruts jusqu'à 40 Mo.

Ce qui revient est une donnée#

Tout ce que renvoie un outil de lecture est du texte de documentation. C'est une donnée de référence, pas une instruction : une phrase dans une page, dans un manifeste ou dans un paquet ne change pas ce qu'on a demandé à votre agent. Les descriptions des outils le disent, et le serveur le répète dans ses instructions d'ouverture.

Configuration du client#

Remplacez l'identifiant et le jeton par les vôtres. Le jeton s'affiche une seule fois, à l'émission, accompagné d'un bloc identique à celui-ci.

Claude Code

Shell
claude mcp add --transport http bondry \
  https://mcp.bondry.org/v1/<hash> \
  --header "Authorization: Bearer bkm_xxxxxxxxxxxx.<secret>"

Claude Desktop, et tout client qui lit mcpServers

JSON
{
  "mcpServers": {
    "bondry": {
      "type": "http",
      "url": "https://mcp.bondry.org/v1/<hash>",
      "headers": {
        "Authorization": "Bearer bkm_xxxxxxxxxxxx.<secret>"
      }
    }
  }
}

Avertissement Le jeton est une donnée d'authentification. Gardez-le hors du dépôt, hors du journal de build et hors d'un enregistrement d'écran. Si l'un s'échappe, la révocation est immédiate.

Le transport, pour les auteurs de clients#

Streamable HTTP, sous la forme qu'un serveur sans processus résident peut honorer : un POST, une réponse JSON.

  • POST avec un seul message JSON-RPC. initialize, notifications/initialized, ping, tools/list et tools/call.
  • GET répond 405 : il n'y a pas de flux longue durée ici. Bondry Web tourne sur PHP-FPM, et un worker retenu sur une connexion ouverte est un worker en moins pour le site.
  • initialize répond avec un Mcp-Session-Id, lié au jeton et valable trente minutes d'inactivité. Renvoyez-le sur les appels suivants. Une session expirée, ou appartenant à un autre jeton, répond 404, ce qui indique au client qu'il doit en ouvrir une nouvelle.
  • DELETE avec l'en-tête de session la termine.
  • Versions de protocole parlées : 2025-11-25, 2025-06-18, 2025-03-26. Un en-tête MCP-Protocol-Version nommant une autre version répond 400 avec la liste de celles que nous parlons.
  • Un bearer invalide ou absent répond 401 avec WWW-Authenticate. Une portée manquante n'est pas une erreur HTTP : c'est un résultat d'outil avec isError.

Les plafonds#

120 appels par minute et par jeton. Les outils d'écriture héritent des plafonds de publication, dont les 500 annonces par jour et par jeton.

Chaque appel d'outil devient une ligne du journal d'API, avec le jeton, l'outil et la façon dont il s'est terminé. Les écritures deviennent aussi une ligne d'audit, avec l'origine enregistrée, si bien que « était-ce le pipeline ou l'agent ? » est une question qui a une réponse. Aucun argument, aucun paquet et aucun secret n'entre dans un journal.

Les skills#

Les outils sont la source ; les skills sont le parcours. Cinq d'entre elles sont publiées, en anglais, et fonctionnent avec ou sans ce serveur connecté : Skills d'agent.

Confidentialité

Ce site utilise uniquement des cookies nécessaires : session, langue, thème et la vérification antispam hCaptcha dans les formulaires. Il n'y a ni suivi ni publicité. Politique de confidentialité