Fonctionnalités

Branchez votre boutique Shopify sur Claude et ChatGPT.

Un endpoint MCP par boutique. Approuvez les scopes, et votre assistant lit catalogue, commandes et thèmes en direct, sans rien écrire.

OAuth 2.1 avec PKCELecture seuleGratuit sur tous les plans

Shopify MCP

Ce que c'est

Un serveur MCP distant, un par boutique. Chaque boutique que vous connectez à BoostEcom reçoit son propre endpoint, qui parle Model Context Protocol en HTTP streamable. Tout client qui parle MCP (Claude, ChatGPT, Claude Code, Cursor, ou un client que vous avez écrit) peut le découvrir, s'y autoriser et appeler ses outils.

Vos identifiants Shopify ne quittent jamais nos serveurs. Le client détient un jeton BoostEcom ; le jeton Shopify de courte durée que délègue l'app BoostEcom reste chez nous, chiffré au repos. Révoquez le jeton BoostEcom et le client est dehors, sans avoir jamais vu un secret Shopify.

Outils que votre client peut appeler
31

En lecture seule, chacun derrière un scope que vous approuvez

Scopes sur l'écran de consentement
12

Accordez-en un, quelques-uns ou tous

Appels par jour sur le plan Free
2 000

Le relais ne fait tourner aucun modèle, il ne consomme donc aucun crédit

Clients

Un guide de connexion par client

Chaque guide accompagne un client de son écran de réglages jusqu'à votre première question, avec les termes de ce client. Ce sont les clients sur lesquels nous testons.

À coller dans votre clienturl

Ajoutez un connecteur personnalisé et collez l'URL. Le client s'enregistre tout seul et ouvre l'écran de consentement : ni identifiant client, ni secret.

https://www.boostecom.app/api/mcp/v1/<STORE_ID>
Surfaces

Quatre portes. Seul le tableau de bord écrit.

Chaque surface lit avec ses propres identifiants et ses propres limites. Une modification de votre boutique se fait à un seul endroit, après votre validation.

Votre boutique, en MCPurl
https://www.boostecom.app/api/mcp/v1/<STORE_ID>
Le marché, en MCPurl
https://www.boostecom.app/api/mcp/intelligence
Notre profil UCPurl
https://www.boostecom.app/.well-known/ucp-agent

Vous installez l'app BoostEcom depuis votre admin Shopify et choisissez dans l'app ce à quoi elle accède. Votre autorisation est le plafond : nous n'y ajoutons aucun accès.

Endpoint

Une URL. Votre client trouve le reste.

Chaque boutique connectée a son propre endpoint MCP. Un client compatible OAuth lit les documents de découverte dès son premier appel refusé et vous guide jusqu'à l'écran de consentement.

  • OAuth 2.1 avec PKCE, aucun secret client à garder
  • Chaque jeton n'ouvre qu'une boutique et est stocké haché
  • Une clé statique pour la CI et les exécutions sans navigateur
Votre boutiqueurl

Remplacez STORE_ID par l'identifiant affiché dans les réglages de la boutique, rubrique Connecteurs.

https://www.boostecom.app/api/mcp/v1/<STORE_ID>
Découvertehttp
GET https://www.boostecom.app/.well-known/oauth-authorization-server
GET https://www.boostecom.app/.well-known/oauth-protected-resource/api/mcp/v1/<STORE_ID>
GET https://www.boostecom.app/api/mcp/<STORE_ID>/.well-known/oauth-protected-resource
Autorisation

Du OAuth standard, dès le premier appel refusé

Rien de propriétaire à apprendre pour un client. Chaque étape est un standard publié, et chaque étape se voit sur le réseau.

  1. Votre client appelle l'endpoint sans jeton et reçoit un 401 dont l'en-tête WWW-Authenticate pointe vers nos documents de découverte (RFC 9728).

  2. Il lit le document de la ressource protégée, qui désigne cette origine comme serveur d'autorisation.

  3. Il lit les métadonnées du serveur d'autorisation (RFC 8414) pour trouver les endpoints d'enregistrement, d'autorisation, de jeton et de révocation.

  4. Il s'identifie par un Client ID Metadata Document, une URL https que nous récupérons et vérifions, ou par enregistrement dynamique (RFC 7591). Aucun secret n'est émis et PKCE S256 est obligatoire.

  5. Vous validez un écran de consentement qui nomme les permissions en clair et n'affiche que celles que les accès de l'app BoostEcom peuvent satisfaire.

  6. Le client échange son code à usage unique contre un jeton d'accès qui expire au bout de 60 minutes, et un jeton de rafraîchissement renouvelé à chaque usage.

  7. Un outil hors de l'autorisation répond 403 avec le scope exact à demander : le client se réautorise pour ce seul scope et réessaie.

  8. Déconnectez le client et il appelle l'endpoint de révocation (RFC 7009) : le jeton meurt aussi chez nous, pas seulement dans la mémoire du client.

Chaque jeton ouvre une seule boutique : un jeton émis pour la boutique A est refusé sur la boutique B, et l'appartenance à l'organisation est revérifiée à chaque appel. Les jetons sont stockés sous forme d'empreintes SHA-256, jamais sous une forme que nous pourrions relire.

Premier appel, sans jetonhttp
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="BoostEcom MCP",
  resource_metadata="https://www.boostecom.app/.well-known/oauth-protected-resource/api/mcp/v1/<STORE_ID>",
  scope="boostecom:store.read boostecom:catalog.read …"
Après votre validationjson
{
  "access_token": "<ACCESS_TOKEN>",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "<REFRESH_TOKEN>",
  "scope": "boostecom:store.read boostecom:catalog.read"
}
Un outil hors de l'autorisationhttp
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_scope",
  scope="boostecom:orders.read",
  resource_metadata="https://www.boostecom.app/.well-known/oauth-protected-resource/api/mcp/v1/<STORE_ID>"
Lecture seule

Votre assistant lit. Chaque écriture attend votre feu vert.

Le relais refuse toute écriture avant qu'elle n'atteigne Shopify et journalise la tentative. Les modifications se font dans le tableau de bord, où vous les validez une à une.

  • Écritures refusées avant d'atteindre Shopify
  • Chaque tentative d'écriture consignée dans votre journal d'audit
  • Les modifications passent par la validation du tableau de bord
Requêtegraphql
tools/call shopifyAdminGraphQL

mutation {
  productUpdate(product: { id: "gid://shopify/Product/1", title: "New title" }) {
    product { id }
  }
}
Réponsejson
{
  "isError": true,
  "content": [
    {
      "type": "text",
      "text": "Refused: this mutation is classified destructive (product/price updates, discounts, inventory, …). This connector is read-only: every write requires human approval. Run it from the BoostEcom dashboard chat, where the approval flow lives."
    }
  ]
}
Outils

31 outils, et ce qu'on peut demander à chacun

La plupart couvrent les chemins qu'un agent emprunte tous les jours. L'un d'eux donne accès à toute la lecture de l'Admin API, avec le coût et l'état de la limitation de débit renvoyés par Shopify à côté des données.

getStoreContextScope AucunSans scope Shopify requisPlan, devise, fuseau horaire, marchés, langues, thèmes, mentions légales, volumes du catalogue et vos scopes accordés, en un appel.“Où j'en suis ? Je veux la configuration de la boutique.”
getShopInfoScope AucunSans scope Shopify requisNom de la boutique, plan, devise, fuseau horaire et domaine principal.“Cette boutique est sur quel plan, avec quelle devise ?”
runAuditScope read_themes · write_themes · write_theme_codeSoumis à un scopeLa boutique, les thèmes et un échantillon de produits en un seul aller-retour, pour que le modèle raisonne sur toute la boutique d'un coup.“Quel est l'état de la boutique ?”
listProductsScope read_products · write_productsSoumis à un scopeLes produits, filtrables par statut.“Quels produits sont encore en brouillon ?”
getProductScope read_products · write_productsSoumis à un scopeUn produit par son identifiant numérique.“Je veux voir tous les champs de ce produit.”
listOrdersScope read_orders · write_ordersSoumis à un scopeLes commandes récentes, filtrables par statut.“Quelles commandes sont encore ouvertes ? Un résumé suffit.”
listPagesScope read_content · write_contentSoumis à un scopeLes pages CMS de la boutique.“Quelles pages CMS avons-nous ? Il y en a une sur les retours ?”
getMetafieldsScope AucunSans scope Shopify requisLes metafields d'une ressource, par son identifiant Admin GraphQL, filtrables par namespace.“Quelles données personnalisées sont attachées à ce produit ?”
listMetaobjectDefinitionsScope AucunSans scope Shopify requisToutes les définitions de metaobjects : type, champs et nombre d'entrées.“Quels types de contenu structuré cette boutique déclare-t-elle ?”
listMetaobjectsScope AucunSans scope Shopify requisLes entrées d'un type de metaobject, avec le curseur de pagination de Shopify.“Quelles sont les entrées du metaobject FAQ ?”
listThemesScope read_themes · write_themes · write_theme_codeSoumis à un scopeTous les thèmes de la boutique, celui qui est publié compris.“Quel thème est publié en ce moment ?”
getThemeScope read_themes · write_themes · write_theme_codeSoumis à un scopeUn thème par son identifiant numérique.“C'est quel thème, et est-ce celui qui est publié ?”
runShopifyQLScope read_analytics · read_reportsSoumis à un scopeUne table ShopifyQL : ventes, sessions, conversion ou stock, sur la période de votre choix.“Combien j'ai vendu le mois dernier ?”
introspectSchemaScope AucunSans scope Shopify requisN'importe quel type de l'Admin GraphQL, avec les types d'entrée imbriqués et les enums résolus en ligne.“Quels champs prend ProductInput ?”
shopifyAdminGraphQLScope Contrôlé par ShopifySans scope Shopify requisToute lecture que l'Admin API autorise : metafields, marchés, traductions, stock. Le coût et l'état de la limitation de débit reviennent avec les données.“Je veux les metafields de mes variantes les plus vendues.”
getStudioSectionScope AucunSans scope Shopify requisUne section du Studio : concepts, QC ou cockpit. Chaque appel vérifie la permission Studio de l'appelant sur cette section.“Quels concepts attendent le contrôle qualité ?”
getStudioProductionScope AucunSans scope Shopify requisLe tableau de production de la boutique : travaux en cours, rendus, concepts et économie. Une permission Studio par bloc.“Que produit ma marque en ce moment ?”
listStudioGenerationsScope AucunSans scope Shopify requisChaque rendu demandé par cette boutique, avec son état réel, son modèle et son fichier. Les coûts n'apparaissent qu'avec la permission économie.“Quels rendus ont échoué cette semaine, et combien ont-ils coûté ?”
getStudioPricingScope AucunSans scope Shopify requisCe que coûte une génération selon le mode choisi, en USD, avant de la demander. Aucun outil MCP ne lance de génération.“Combien coûte une vidéo courte ?”
getStoreIntelligenceScope AucunSans scope Shopify requisCe que BoostEcom a observé sur le domaine de cette boutique : trafic, données économiques estimées, catalogue, stack, créations publicitaires, avis, audience sociale et marque.“Que sait BoostEcom du trafic et de la stack de ma boutique ?”
listThemeUpdatesScope AucunSans scope Shopify requisLes thèmes de la boutique tels que l'app BoostEcom les voit : thème et version détectés, dernière version approuvée, et si une mise à jour est disponible.“Y a-t-il une mise à jour pour mon thème ?”
getUpdateJobScope AucunSans scope Shopify requisUne tâche de mise à jour de thème dans l'app BoostEcom : statut, étape en cours, progression, erreur et décisions de fusion par type.“Où en est la mise à jour de mon thème, et a-t-elle échoué ?”
listBackupsScope AucunSans scope Shopify requisLes sauvegardes de la boutique, des thèmes comme des catégories de données : statut, date et taille. Les métadonnées seulement, jamais le contenu sauvegardé.“De quand date la dernière sauvegarde de mon thème ?”
getUptimeScope AucunSans scope Shopify requisLes derniers contrôles de disponibilité de la vitrine, relevés par l'app BoostEcom : statut, temps de réponse et pannes.“Ma boutique a-t-elle été indisponible cette semaine ?”
getAppEmbedStatusScope AucunSans scope Shopify requisSi l'embed d'app Web Vitals de BoostEcom est activé dans le thème publié, ou dans un thème précis, avec le lien qui l'active.“L'embed Web Vitals est-il activé dans mon thème publié ?”
getDomainHealthScope AucunSans scope Shopify requisL'état du domaine personnalisé de la boutique : enregistrement (RDAP, expiration) et résolution DNS, avec les constats.“Quand mon domaine expire-t-il, et son DNS répond-il ?”
getActionRequestScope AucunSans scope Shopify requisLe statut d'une action que le marchand a dû confirmer dans l'app BoostEcom : en attente, confirmée, refusée, expirée ou en échec.“La restauration de sauvegarde qu'on m'a demandé de confirmer est-elle passée ?”
searchDocsScope AucunSans scope Shopify requisLes pages de la documentation qui traitent un sujet, chacune avec son titre et son lien.“Comment connecter ma boutique Shopify ?”
getDocScope AucunSans scope Shopify requisLe titre et le lien d'une page de la documentation, par slug.“Je veux lire la page Crédits en entier.”
helmListModelsScope AucunSans scope Shopify requisLes modèles du thème Helm : presets de section, presets de bloc et templates de page, chacun avec son identifiant, son nom, sa catégorie et ce qu'il contient. Aucun appel à Shopify.“Quels modèles de section Helm peuvent servir de départ à un hero ?”
helmPlanSectionScope AucunSans scope Shopify requisLe JSON de template qu'ajouterait une section Helm, construite à partir d'un modèle de section et vérifiée contre le schéma du thème. Rien n'est écrit ; un modèle ou un réglage inconnu est refusé.“Prépare une section hero Helm avec mon titre, sans rien écrire.”
Cas d'usage

Ce qu'on lui demande vraiment

La liste d'outils compte moins que ceci : l'assistant que vous avez déjà ouvert connaît votre boutique.

  • L'état de la boutiqueUn seul appel runAudit renvoie la boutique, ses thèmes et un échantillon de produits, pour que le modèle raisonne sur l'ensemble au lieu de recoudre quatre requêtes.
  • Les questions de catalogueQuels produits sont encore en brouillon, ce qui est en rupture, quels handles se télescopent : la réponse vient des données en direct, pas d'un export périmé collé dans un chat.
  • Tout ce que lit l'API AdminMétachamps, marchés, traductions, stocks : un seul outil passerelle, avec les chiffres de coût de Shopify renvoyés pour que le modèle règle son rythme.
  • Le reporting là où vous travaillezRésumez les commandes de la semaine dans le client que vous avez déjà ouvert, sans exporter d'abord les données clients dans un tableur.
Portée

Un outil ouvre toute l'API de lecture

La plupart des outils couvrent les chemins qu'un agent emprunte tous les jours. Un de plus est une passerelle vers toute l'API Admin GraphQL de Shopify, pour chaque lecture qu'aucun outil dédié ne couvre.

  • Les scopes accordés à l'app BoostEcom décident de ce qui passe, et Shopify les applique à chaque requête
  • Les chiffres de coût et de débit de Shopify reviennent avec les données, pour que le modèle règle son rythme
  • Une mutation envoyée par cette passerelle est refusée comme toute autre écriture
Une lecture qu'aucun outil dédié ne couvregraphql
tools/call shopifyAdminGraphQL

query {
  markets(first: 5) { nodes { name handle } }
  shop { metafields(first: 5) { nodes { key value } } }
}
Ce qui revientjson
{
  "data": { "markets": { … }, "shop": { … } },
  "cost": { "requestedQueryCost": <n>, "actualQueryCost": <n> },
  "throttleStatus": {
    "maximumAvailable": <n>,
    "currentlyAvailable": <n>,
    "restoreRate": <n>
  }
}
Comment ça marche

Connecté en 4 étapes

Le même chemin pour chaque client. Seul l'endroit où vous collez l'URL change d'un client à l'autre.

  1. Connecter la boutique

    Créez votre compte et installez l'app BoostEcom depuis votre admin Shopify, en un clic. Les accès que vous choisissez dans l'app fixent le plafond de tout ce qui suit.

    Les accès Shopify qui ouvrent des outils

    • read_products
    • read_orders
    • read_content
    • read_themes
    • read_analytics
    • read_reports
  2. Coller l'URL dans votre client

    Claude et ChatGPT l'acceptent comme connecteur personnalisé. Claude Code et Cursor la lisent dans leur configuration, puis ouvrent le même écran de consentement.

    L'URL à collerurl
    https://www.boostecom.app/api/mcp/v1/<STORE_ID>
  3. Approuver les scopes

    L'écran de consentement nomme chaque permission en clair et ne propose que ce que vous avez accordé à l'app BoostEcom.

    Ce que votre client demandehttp
    GET https://www.boostecom.app/oauth/authorize
      ?response_type=code&client_id=<CLIENT_ID>
      &resource=https://www.boostecom.app/api/mcp/v1/<STORE_ID>
      &scope=boostecom:store.read boostecom:catalog.read
      &code_challenge=<S256>&code_challenge_method=S256
  4. Interroger votre boutique

    Votre client liste les outils ouverts par votre accord et les appelle dès qu'une question demande des données en direct.

    Ce que votre client peut lister

    • getStoreContext
    • getShopInfo
    • runAudit
    • listProducts
    • getProduct
    • listOrders
    • listPages
    • getMetafields
    • listMetaobjectDefinitions
    • listMetaobjects
    • listThemes
    • getTheme
    • runShopifyQL
    • introspectSchema
    • shopifyAdminGraphQL
    • getStudioSection
    • getStudioProduction
    • listStudioGenerations
    • getStudioPricing
    • getStoreIntelligence
    • listThemeUpdates
    • getUpdateJob
    • listBackups
    • getUptime
    • getAppEmbedStatus
    • getDomainHealth
    • getActionRequest
    • searchDocs
    • getDoc
    • helmListModels
    • helmPlanSection
Scopes

12 scopes, un par famille d'outils

Deux portes, et il faut passer les deux : le scope que vous approuvez pour ce client, et ce que vous avez accordé à l'app BoostEcom dans Shopify. Restreignez l'une ou l'autre, la liste d'outils se réduit d'autant.

boostecom:store.readIdentité et configuration de la boutiqueLECTUREPlan, devise, fuseau horaire, domaine principal, marchés, langues, pages légales et schéma Admin.getShopInfo · getStoreContext · introspectSchemaToute boutique connectée
boostecom:catalog.readCatalogueLECTUREProduits et variantes, brouillons et archivés compris.listProducts · getProductread_products · write_products
boostecom:orders.readCommandesLECTURECommandes récentes et leur statut.listOrdersread_orders · write_orders
boostecom:content.readPages et contenuLECTURELes pages de contenu de la boutique en ligne.listPagesread_content · write_content
boostecom:metadata.readMetafields et metaobjectsLECTURELes données personnalisées rattachées à vos ressources, et les structures de contenu que votre boutique déclare. Lecture seule.getMetafields · listMetaobjectDefinitions · listMetaobjectsToute boutique connectée
boostecom:themes.readThèmesLECTURELes thèmes de la boutique, publiés ou non, et l'audit qui les analyse.listThemes · getTheme · runAuditread_themes · write_themes · write_theme_code
boostecom:analytics.readAnalyticsLECTURERequêtes ShopifyQL : ventes, sessions, conversion et stock sur la période de votre choix.runShopifyQLread_analytics · read_reports
boostecom:graphql.readAccès direct à l'Admin APILECTUREToute lecture permise par l'Admin API. Shopify applique vos scopes à chaque requête.shopifyAdminGraphQLToute boutique connectée
boostecom:studio.readStudioLECTUREL'atelier de production : concepts créatifs, file de contrôle qualité et tableau de bord économique. Chaque section exige en plus votre propre autorisation Studio.getStudioSection · getStudioProduction · listStudioGenerations · getStudioPricingToute boutique connectée
boostecom:docs.readDocumentationLECTURETrouver les pages de la documentation publique de BoostEcom. N'ouvre rien de privé : docs.boostecom.app les affiche déjà à tout le monde.searchDocs · getDoc · helmListModels · helmPlanSectionToute boutique connectée
boostecom:intelligence.readIntelligence de la boutiqueLECTURECe que BoostEcom a observé sur le domaine de cette boutique : trafic, économie estimée, catalogue, stack technique, créations publicitaires, avis, audience sur les réseaux sociaux et marque. Lecture seule, et pour cette boutique uniquement.getStoreIntelligenceToute boutique connectée
boostecom:app.readApp Shopify BoostEcomLECTURECe que l'app BoostEcom enregistre pour cette boutique : mises à jour de thème, sauvegardes, contrôles de disponibilité, embed Web Vitals, état du domaine et actions que le marchand doit confirmer. Lecture seule, et pour cette boutique uniquement.listThemeUpdates · getUpdateJob · listBackups · getUptime · getAppEmbedStatus · getDomainHealth · getActionRequestToute boutique connectée

Les jetons émis avant ce catalogue portent l'ancienne autorisation mcp. Elle garde les outils de lecture Shopify qu'elle avait déjà et n'ouvre jamais un système BoostEcom : le Studio, la fiche Intelligence et les outils de documentation exigent un scope validé sur l'écran de consentement.

Intelligence MCP

Interrogez le marché dans la même conversation

Un second serveur MCP, public, lit le graphe des boutiques Shopify : classer une catégorie, examiner un domaine, trouver des boutiques similaires. Ajoutez-le à côté de l'endpoint de votre boutique.

  • Sans compte ni clé : 60 appels par minute et par IP
  • Une clé bei_ monte à 6 000 par minute, par organisation
  • Uniquement des fiches publiques
Ajoutez-le à votre clientjson
{
  "mcpServers": {
    "boostecom-intelligence": {
      "url": "https://www.boostecom.app/api/mcp/intelligence"
    }
  }
}
Lisez sa liste d'outilsbash
curl -s https://www.boostecom.app/api/mcp/intelligence/manifest

Voir ce que lit Intelligence

Comparatif

Face au connecteur de Shopify

Les deux branchés sur la même boutique, dans la même session, en lecture seule. Le connecteur de Shopify écrit et cherche dans la documentation shopify.dev. Le nôtre lit plus loin dans la boutique.

 BoostEcomConnecteur Shopify
Scopes accordés
Mesuré sur la même boutique via currentAppInstallation.
18358
Scopes que l'autre n'a pas
L'ensemble officiel est strictement inclus dans le nôtre : il ne contient rien que le nôtre n'ait pas.
1250
Champs renvoyés par un appel d'infos boutique
getShopInfo contre get-shop-info, même boutique.
488
Pixels et script tags
Tracking et consentement. Le connecteur officiel n'a aucun scope pixel.
✓—
Versements, litiges, comptes bancaires
Toute la lecture Shopify Payments.
✓—
RGPD, événements d'audit, consentement
Réglages de confidentialité, journal d'audit, événements client.
✓—
API Storefront et Customer Account
Les familles de scopes unauthenticated_* et customer_*.
✓—
Cart Transform et Shopify Functions
Lots de produits, personnalisations de livraison et de paiement, répartiteurs de remises.
✓—
Analytique ShopifyQL
Même requête, même résultat : la nôtre passe par l'accès direct GraphQL.
✓✓
Introspection du schéma
__type et __schema se résolvent via l'accès direct.
✓✓
Coût et limitation de débit renvoyés au modèle
Les chiffres de Shopify, pour qu'un agent règle son rythme au lieu de deviner.
✓—
Écritures dans la boutique
Le nôtre est en lecture seule : les modifications passent par la validation du tableau de bord.
—✓
Recherche dans la doc shopify.dev
Le connecteur officiel embarque une recherche documentaire, le nôtre non.
—✓

Mesuré sur une boutique connectée par la Custom App d'un marchand : une boutique qui accorde moins de scopes en obtient moins. Avec l'app BoostEcom, le plafond est ce que vous accordez à l'app.

Limites de débit

Gratuit sur tous les plans, plafonné contre les abus

Le relais transmet un appel à l'API Shopify sans faire tourner de modèle : il ne consomme aucun crédit. Les limites se comptent par organisation : les boutiques d'une même organisation partagent un budget.

 FreeProMax 5xMax 20x
Appels par minute
505001 0005 000
Appels par jour
2 00050 000100 000Pas de plafond journalier

Les plans Custom n'ont pas de plafond. Un appel refusé indique le plan, la limite atteinte et la marche à suivre.

Limites

Ce que ça ne fait pas

À lire avant de connecter une boutique. Chaque limite est voulue.

  • Il n'écrit pas. Toute écriture est refusée et journalisée. Une modification de votre boutique passe par le tableau de bord, où vous la validez.
  • Il reste dans ce que vous avez accordé à l'app. Un outil que votre accès Shopify ne peut pas couvrir n'est jamais enregistré : votre client ne le voit jamais.
  • Une clé statique s'arrête à 15 outils. Une clé désigne une boutique, jamais une personne. Le Studio, la fiche Intelligence, les données de l'app BoostEcom et les outils de documentation exigent une connexion OAuth.
  • Une requête, 30 secondes. Un appel d'outil plus long est interrompu. Un travail long relève d'un workflow du tableau de bord, pas d'un appel d'outil.
  • Ni API ni SDK maison. Les surfaces prises en charge sont cet endpoint, le serveur MCP Intelligence et l'API REST Intelligence. Le GraphQL que vous atteignez est celui de Shopify, par la passerelle.
Support

Les questions qu'on nous pose

Demandez à @Atlas ci-dessous, ou parlez à un humain : les deux arrivent dans le même fil.

Quels clients IA peuvent se connecter ?Clients
Tout client qui parle MCP en HTTP. Nous testons Claude, les connecteurs personnalisés de ChatGPT, Claude Code et Cursor, et chacun a son guide de connexion. Les quatre se connectent en OAuth à partir de la seule URL ; une clé statique existe pour la CI et les exécutions sans navigateur.
Mon assistant peut-il modifier ma boutique par ce biais ?Garde-fous
Non. Le relais refuse toute écriture avant qu'elle n'atteigne Shopify, y compris toute requête dont il ne peut pas prouver qu'elle se contente de lire. Les modifications passent par le tableau de bord BoostEcom, où vous les validez une à une.
Le client IA voit-il mon jeton Shopify ?Sécurité
Non. Le client se connecte à BoostEcom, jamais à Shopify. Les jetons Shopify que l'app BoostEcom nous délègue sont de courte durée, restent chiffrés chez nous et ne sont déchiffrés qu'au moment de chaque requête. Révoquez le jeton BoostEcom et le client est coupé, sans rien changer dans Shopify.
Combien ça coûte ?Tarifs
Rien, sur tous les plans, Free compris. Le relais transmet un appel à l'Admin API Shopify sans faire tourner de modèle : il ne consomme aucun crédit. Les limites de débit servent à empêcher les abus.
Comment limiter ce qu'un agent peut atteindre ?Scopes
Avec deux portes. Sur l'écran de consentement, n'approuvez que les scopes voulus : accordez le catalogue seul et les outils commandes, thèmes et analytique disparaissent pour ce client. Dans Shopify, les accès que vous accordez à l'app BoostEcom plafonnent tous les clients à la fois.
Que se passe-t-il quand un outil demande un scope que je n'ai pas accordé ?Consentement
L'appel est refusé avec le scope exact à demander, et votre client se réautorise pour ce seul scope : vous l'approuvez, rien d'autre ne change. Si l'app BoostEcom n'a pas reçu cet accès, le refus le dit, et la solution est de l'accorder dans l'app, depuis votre admin Shopify.
Comment fonctionne l'autorisation ?Autorisation
OAuth 2.1 standard avec PKCE. Un premier appel sans jeton est refusé avec un renvoi vers nos documents de découverte. Le client s'enregistre, vous envoie sur l'écran de consentement, puis échange un code à usage unique contre un jeton lié à cette boutique. Son jeton de rafraîchissement change à chaque usage.
Y a-t-il une API REST, une API GraphQL ou un SDK ?Accès
Il n'y a ni API GraphQL ni SDK maison. Les points d'accès pris en charge sont l'endpoint MCP par boutique, le serveur MCP Intelligence public et l'API REST Intelligence avec ses propres clés. Le GraphQL auquel vous accédez est l'Admin API de Shopify, via l'outil d'accès direct.

Branchez-le sur votre boutique, puis posez vos questions.

Décrivez ce que votre agent doit lire, et @Atlas vous dit quel outil et quel scope il lui faut.