Retour à la Bibliothèque
Connecteurs

Connecter un agent IA à Brightpearl : quand il n'existe pas de serveur MCP propriétaire

Dernière mise à jour : 2026年7月22日

Points clés

  • Zéro couverture MCP propriétaire — Brightpearl n'a pas de serveur MCP fourni par le vendeur pour les opérations de magasin, contrairement à NetSuite (AI Connector), Shopify (Storefront MCP + UCP) et HubSpot (Remote MCP Server). Le module personnalisé est l'intégration, pas un bouche-trou.
  • 200 requêtes par fenêtre glissante de 60 secondes, HTTP 503 en cas de dépassement — le plafond de l'API REST Brightpearl. Les applications privées partagent un pool par compte. Pas de plafonds par paliers, pas de plans d'augmentation. Un agent faisant 30 appels d'outils parallèles peut épuiser la fenêtre en quelques secondes.
  • 76 endpoints de données disponibles via SyncHub MCP tiers, mais en lecture seule — le seul serveur MCP géré pour Brightpearl est SyncHub, qui synchronise les données vers un entrepôt Azure et les expose comme une surface MCP en lecture seule. Pas d'écriture, pas de création de commande, pas de mises à jour d'inventaire.
  • Listes de prix B2B attribuées par groupe de clients — la couche sémantique qu'aucun wrapper ne code — le modèle de tarification en gros de Brightpearl (listes de prix par compte, groupe ou commercial) est le sens commercial qu'un wrapper API générique ne peut pas déduire. Quelle liste de prix s'applique à quel contact pour quel produit est une décision de couche sémantique, pas une récupération de données.
  • Le rapport 2026 State of AI Agents d'Anthropic identifie l'intégration comme la barrière d'adoption n°1 à 46% — pour les marchands Brightpearl, la barrière n'est pas une lacune dans un serveur propriétaire. C'est l'absence d'un serveur.

Le problème : aucun point d'entrée d'agent fourni par le vendeur

Le rapport 2026 State of AI Agents d'Anthropic a enquêté auprès de plus de 500 leaders techniques avec des implémentations réelles chez Novo Nordisk, Doctolib, L'Oréal et Shopify. L'intégration est la barrière d'adoption n°1 à 46%. Pour un marchand Brightpearl, cette barrière a une forme spécifique : il n'existe pas de serveur MCP propriétaire avec lequel s'intégrer.

La série par connecteur a jusqu'à présent cartographié quatre fournisseurs. NetSuite a livré un AI Connector Service avec un endpoint MCP — le module personnalisé comble la lacune de la couche sémantique (quels comptes du grand livre sont des « revenus »). Shopify a livré un serveur Storefront MCP et co-développé le Universal Commerce Protocol avec Google — le module personnalisé comble la lacune B2B (tarification par niveau client, devis RFQ en gros). HubSpot a livré un Remote MCP Server avec 12 outils — le module personnalisé comble six lacunes de capacité (objets personnalisés, écritures vérifiables, authentification headless). BigCommerce s'est associé à Stripe pour l'Agentic Commerce Suite — le module personnalisé comble la lacune B2B Price List et Customer Group.

Brightpearl est le cinquième cas, et le modèle est différent. Brightpearl est un Retail Operating System pour les marques de retail et de vente en gros de marché intermédiaire avec des revenus de $1M à $20M. C'est un partenaire du Shopify Global ERP Program avec une intégration Shopify native — mises à jour d'inventaire en secondes, routage automatique des commandes, historique client unifié. Il a une API REST qui est la même que celle que les développeurs de Brightpearl utilisent, couvrant les commandes, les produits, les contacts, l'inventaire, la comptabilité et les opérations d'entrepôt. Ce qu'il n'a pas, c'est un serveur MCP. Pas de Storefront MCP, pas d'AI Connector, pas de Remote MCP Server, pas de MCP de documentation uniquement. Le vendeur n'a pas livré de point d'entrée d'agent.

Cet article cartographie les trois chemins d'intégration d'agent qui existent, les lacunes de couche sémantique dans chacun, et le modèle de module MCP personnalisé qui rend Brightpearl prêt pour les agents. Le cadrage est différent des articles précédents sur les connecteurs : ici, le module personnalisé n'est pas un complément à un serveur propriétaire. C'est l'intégration.

Les trois chemins d'intégration d'agent

Brightpearl Agent Integration Paths No first-party MCP server — three third-party paths, each with a gap 1 SyncHub MCP (read-only) 76 endpoints synced to Azure warehouse MCP-compliant interface for Claude/ChatGPT Natural language queries, repeatable insights Gap: read-only. No write-back. No order creation, no inventory updates. synchub.io/connectors/brightpearl/mcp 2 Composio / Rube MCP Wraps Brightpearl API for Claude Code Bulk operations, error handling, pagination Dynamic tool discovery via RUBE_SEARCH Gap: generic wrapper. No price-list resolution, no B2B semantic layer. mcpmarket.com / Composio Rube MCP 3 Custom MCP module Direct REST API integration Typed schemas, rate limits, audit logs Read and write, headless auth, B2B pricing The integration, not a gap-filler. Production path for agent orchestration. MCP Module Code Standard pattern Brightpearl REST API constraints (all three paths inherit these) 200 req / 60s rolling window HTTP 503 when exceeded OAuth 2.0, 7-day token expiry Private apps share one pool per account. No tiered caps. No plans to increase. Anthropic 2026 State of AI Agents: integration is the #1 barrier at 46% For Brightpearl merchants, the barrier is not a gap in a first-party server. It is the absence of one. 500+ technical leaders surveyed. 47% use hybrid build-and-buy. 57% deploy multi-step workflows.

Chemin 1 : SyncHub — MCP en lecture seule sans écriture

SyncHub offre un serveur MCP plug-and-play qui connecte les données Brightpearl aux chatbots IA. Il synchronise incrémentiellement les données de 76 endpoints Brightpearl vers une base de données optimisée pour l'IA hébergée dans Microsoft Azure (centre de données de Sydney), puis enveloppe cette base de données dans une interface compatible MCP. L'agent interroge les données synchronisées en langage naturel, et le moteur de génération SQL de SyncHub ne renvoie que les lignes nécessaires — réduisant l'utilisation de tokens. Il prend en charge plus de 70 connecteurs au-delà de Brightpearl, donc un marchand utilisant Brightpearl plus Shopify plus Xero peut interroger les trois dans une seule conversation.

La limitation est structurelle : SyncHub est en lecture seule. Le FAQ le dit clairement : « Mettre à jour Brightpearl ? Non — SyncHub est en lecture seule. » Un agent qui doit créer une commande, mettre à jour les niveaux d'inventaire, modifier un enregistrement client ou enregistrer un paiement ne peut pas le faire via SyncHub. La surface MCP est une couche de requête, pas une couche d'action. Pour les cas d'usage d'analyse et de reporting — « montrez-moi les comptes clients en retard sur tous les canaux » ou « quels fournisseurs ont livré les marges les plus élevées le trimestre dernier » — SyncHub est un véritable produit. Pour un agent qui orchestre des flux de devis, traite des RFQ ou automatise l'exécution des commandes, ce n'est pas le chemin d'intégration.

Chemin 2 : Composio / Rube MCP — wrapper générique sans couche sémantique B2B

Le deuxième chemin est un wrapper API générique. Rube MCP de Composio fournit une compétence Claude Code qui enveloppe l'API REST Brightpearl pour la gestion des commandes, la synchronisation de l'inventaire et les mises à jour des enregistrements clients. Il prend en charge les opérations en lot via RUBE_REMOTE_WORKBENCH, inclut la gestion des erreurs et de la pagination, et utilise la découverte dynamique d'outils via RUBE_SEARCH_TOOLS pour la conformité de schéma en temps réel. Ce chemin peut lire et écrire — il enveloppe l'API brute, donc tout endpoint que l'API expose est atteignable.

La limitation est la couche sémantique. Un wrapper générique expose les endpoints API comme des outils, mais ne code pas le sens commercial. Le système de listes de prix de Brightpearl attribue les prix par contact, groupe de contacts ou commercial — un modèle de tarification B2B où le même produit porte un prix différent pour chaque compte de gros selon les conditions négociées. L'API renvoie toutes les listes de prix ; l'agent ne sait pas laquelle s'applique au client actuel pour le produit actuel dans les conditions du contrat actuel. Cette décision est une opération de couche sémantique : résoudre le groupe de contacts du client, rechercher la liste de prix attribuée à ce groupe, filtrer par produit et palier de quantité, et renvoyer le prix contractuel. Un wrapper générique renvoie les données brutes de la liste de prix et laisse la résolution au modèle — c'est exactement là que le risque d'hallucination entre. Le MCP Module Code Standard appelle cela des « schémas typés qui codent le sens commercial. » Le wrapper a des types. Il n'a pas de sens.

Chemin 3 : module MCP personnalisé — l'intégration

Le troisième chemin est un module MCP personnalisé construit directement contre l'API REST de Brightpearl. C'est le même modèle structurel que les modules NetSuite, Shopify et HubSpot — mais avec une distribution différente du travail. Dans ces cas, le module personnalisé complète un serveur propriétaire : le vendeur gère la connexion, le module gère la sémantique. Dans le cas de Brightpearl, le module personnalisé gère les deux. C'est l'intégration.

Le modèle du module suit le MCP Module Code Standard : chaque outil a un schéma d'entrée typé, un schéma de sortie typé, une limite de débit, un journal d'audit et un contrat d'erreur. L'agent appelle les outils par nom avec des arguments structurés, pas des appels API de forme libre contre des endpoints bruts. Le module code la couche sémantique — quelle liste de prix s'applique à quel client, quel statut de commande déclenche le routage d'entrepôt, quel code nominal correspond aux revenus — comme des schémas typés que le modèle n'a pas à déduire.

La surface de l'API : REST orienté ressources avec un plafond strict

L'API de Brightpearl est une surface REST propre et orientée ressources. La documentation API Fundamentals est explicite sur la philosophie de conception : les ressources, pas les méthodes. Une ressource est toute entité que Brightpearl gère — contacts, commandes, produits, entrepôts, codes nominaux, listes de prix. Le comportement est géré via des verbes HTTP : POST crée, PUT/PATCH modifie, GET lit, DELETE supprime. JSON pour tous les échanges de données. L'API est la même que celle que les développeurs de Brightpearl utilisent — les nouvelles fonctionnalités sont livrées via la même surface que les intégrateurs reçoivent.

Le plafonnement des requêtes est la contrainte de production qui façonne la conception du module. Le plafond est de 200 requêtes par fenêtre glissante de 60 secondes. Les applications privées connectées à un compte partagent un seul pool — plusieurs applications privées peuvent se limiter mutuellement. Les applications publiques obtiennent un pool séparé par combinaison compte/développeur. Quand le plafond est atteint, les requêtes suivantes reçoivent des réponses HTTP 503 « Too Busy », et les requêtes sont rejetées — pas mises en file d'attente. Les en-têtes de réponse brightpearl-requests-remaining et brightpearl-next-throttle-period indiquent à l'appelant combien de requêtes restent et quand la fenêtre se réinitialise. Il n'y a pas de plafonds par paliers ni de plans pour augmenter la limite.

Pour un agent qui fait 30 appels d'outils parallèles pendant un flux de devis — récupérer le client, le produit, la liste de prix, l'inventaire, la disponibilité en entrepôt, créer la commande, enregistrer le paiement — la fenêtre de 200 requêtes peut s'épuiser en quelques secondes si le module n'impose pas un plafonnement par outil. Le module personnalisé gère cela de la même manière que le module NetSuite gère son pool de concurrence : chaque appel d'outil vérifie le nombre de requêtes restantes dans les en-têtes de réponse, et le module impose un espacement minimum de 0,3 seconde entre les appels (60 secondes / 200 requêtes = 0,3 seconde par requête). L'agent ne voit jamais un 503. Le module absorbe le plafond.

Authentification : OAuth 2.0 avec des jetons de 7 jours

Brightpearl utilise OAuth 2.0 Authorization Code Grant pour l'authentification API. Le jeton d'accès expire en 604 800 secondes — 7 jours. Un jeton d'actualisation est fourni avec le jeton d'accès et peut être utilisé pour obtenir un nouveau jeton d'accès sans réexécuter le flux de consentement basé sur navigateur. Chaque appel API inclut l'en-tête Authorization: *** plus les en-têtes brightpearl-dev-refetbrightpearl-app-ref` identifiant le développeur et l'application.

L'expiration de 7 jours est plus adaptée au headless que le OAuth 2.1 + PKCE de HubSpot (jetons d'actualisation à usage unique qui rotent à chaque actualisation), mais moins adaptée au headless que le X-Auth-Token de BigCommerce (jetons bearer à portée de magasin qui n'expirent pas sauf révocation). Un agent d'arrière-plan qui exécute des synchronisations d'inventaire nocturnes ou un traitement de commandes planifié peut utiliser le jeton d'actualisation pour maintenir l'accès sur plusieurs semaines, tant que le module gère le cycle d'actualisation en interne — vérifier l'expiration du jeton avant chaque appel, actualiser de manière transparente, et enregistrer l'événement d'actualisation dans la piste d'audit.

Le chemin de l'application privée est le modèle d'authentification le plus simple pour les intégrations internes. Une application privée est créée dans l'App Store du compte Brightpearl, utilise les identifiants du personnel, et ne nécessite pas le flux OAuth complet. C'est l'équivalent de la Token-Based Authentication (TBA) de NetSuite — la norme de production pour les opérations sans surveillance. Le module personnalisé prend en charge les deux chemins : OAuth 2.0 pour les intégrations d'applications publiques qui desservent plusieurs comptes Brightpearl, et les identifiants d'application privée pour les agents headless à compte unique.

La couche sémantique B2B : listes de prix, groupes de clients et le déficit de sens

Les capacités de gestion de gros de Brightpearl sont le différenciateur central qui rend un module personnalisé nécessaire plutôt qu'optionnel. La plateforme prend en charge des listes de prix individuelles par compte, groupe ou commercial — un modèle de tarification B2B où le même SKU porte un prix différent pour chaque client de gros selon les conditions contractuelles négociées. Elle gère les factures proforma, les paiements sur compte, les dépôts et les paiements partiels. Elle gère le routage multi-entrepôts, le dropshipping, l'exécution partielle et les commandes back-to-back via son Automation Engine.

Le déficit de couche sémantique est le même modèle structurel qui apparaît dans chaque article de connecteur, mais il a une forme spécifique ici. La ressource Product Price de Brightpearl renvoie les prix d'un produit pour toutes les listes de prix. La ressource Price List renvoie la liste des listes de prix dans le système. La ressource Contact renvoie la liste de prix attribuée au contact. Mais l'API ne résout pas la question « quel prix ce client spécifique paie-t-il pour ce produit spécifique à cette quantité spécifique ? » — cette résolution nécessite de joindre l'attribution de liste de prix du contact avec le prix du produit sur cette liste, filtré par palier de quantité et canal. Un wrapper générique renvoie les données brutes et laisse la jointure au modèle. Un module personnalisé code la jointure comme un outil typé : get_contract_price(contact_id, product_id, quantity, channel_id) renvoie un seul nombre avec une piste de provenance montrant quelle liste de prix, quel palier et quelle attribution l'ont produit.

C'est le même déficit que NetSuite a (quels comptes du grand livre sont des « revenus »), que Shopify a (quel prix s'applique à quel niveau de client) et que HubSpot a (quelles étapes de transaction comptent dans les prévisions). L'API du vendeur expose les données. La couche sémantique — le sens commercial qui transforme les données en décision — est ce que le module personnalisé code. La différence pour Brightpearl est qu'il n'existe pas de serveur propriétaire pour gérer la moitié facile. Le module personnalisé gère les deux moitiés.

La connexion Shopify : Brightpearl comme l'ERP derrière la vitrine

L'intégration Shopify native de Brightpearl est pré-construite et gérée en interne — mises à jour d'inventaire en secondes, routage automatique des commandes vers les entrepôts, historique client unifié sur tous les canaux. Brightpearl est un partenaire du Shopify Global ERP Program, ce qui signifie que l'intégration répond aux normes de performance et d'expérience utilisateur de Shopify pour l'App Store. Le programme a été lancé en octobre 2021 et cible les marchands d'entreprise exécutant des activités de retail complexes et à volume élevé sur Shopify Plus.

Pour l'orchestration d'agents, cela crée une pile à deux systèmes : Shopify gère la vitrine et la surface d'agent orientée consommateur (Storefront MCP, UCP), et Brightpearl gère les opérations de back-office (commandes, inventaire, comptabilité, routage d'entrepôt). Le module MCP personnalisé Brightpearl est la moitié back-office de la pile d'agents. Un agent qui reçoit une commande B2B via l'UCP de Shopify peut la transférer au module Brightpearl pour la réservation d'inventaire, la résolution de liste de prix, la création de commande et le routage d'entrepôt — sans que l'agent ait besoin de comprendre la surface de l'API de Brightpearl. Le module traduit entre la couche de protocole commercial (UCP/ACP) et la couche de ressources ERP (REST de Brightpearl).

Brightpearl rapporte un taux de réussite d'implémentation de 97% et un temps moyen de mise en service de 120 jours, contre une moyenne de l'industrie de 420 jours pour les ERP traditionnels. Pour un marchand de marché intermédiaire avec des revenus de $1M à $20M, l'économie d'implémentation compte : Brightpearl à $1 500–$3 000 par mois avec une implémentation de 4–8 semaines est une structure de coûts différente de NetSuite à $5 000–$15 000 par mois avec une implémentation de 8–20 semaines. L'intégration d'agent suit la même courbe — un module MCP personnalisé Brightpearl est une construction plus petite qu'un module NetSuite parce que la surface de l'API est plus petite et le modèle de données est plus opinionné.

Lectures connexes


Une marque de retail multicanal exécutant Shopify Plus pour le DTC et le B2B, Brightpearl pour les opérations de back-office, et trois portails de gros via NuORDER déploie un agent de devis qui route par tâche : recherche de catalogue et consultation d'inventaire via le MCP en lecture seule de SyncHub (76 endpoints, pré-synchronisés), résolution des prix contractuels via un module MCP personnalisé Brightpearl (jointure de liste de prix avec piste de provenance), et création de commande avec routage d'entrepôt via le même module personnalisé (chemin d'écriture avec plafonnement de débit et journaux d'audit). L'agent ne voit jamais un 503. L'intégration Shopify transfère la commande à Brightpearl via le connecteur natif ; le module personnalisé gère la surface orientée agent que Brightpearl ne fournit pas. Cette construction est la Phase 2-4 de la méthode en quatre étapes et est généralement en production en 5-8 semaines.

Demandez une construction avec périmètre défini. Découverte d'une semaine. Vous obtenez un inventaire des systèmes, une carte des flux de travail et un périmètre fixe — que vous construisiez avec nous ou non.

Vous voulez cela construit pour vos systèmes ?

Chaque document ici provient d'un travail réel en production. Si vous avez un système cible et un flux en tête, nous pouvons cadrer une construction en une semaine.

Demander un projet cadré

Découverte d'une semaine. Vous obtenez un inventaire des systèmes, une cartographie des flux et un périmètre fixe — que vous construisiez avec nous ou non.