22 Tools über 11 Scopes. Beide Zahlen werden aus dem Scope-Katalog im Repository abgeleitet, sodass diese Seite nie von dem abweichen kann, was ein Client tatsächlich erhalten kann.
Der Katalog enthält außerdem Tools, die dem BoostEcom-Team vorbehalten sind. Sie werden von Ihrem Zustimmungsbildschirm entfernt und prüfen bei jedem Aufruf erneut die Rolle des Aufrufers: Keine Berechtigung auf dieser Seite öffnet eines davon, und sie sind oben nicht mitgezählt.
Der Katalog
| Scope | Familie | Tools | Benötigte Shopify-Berechtigung |
|---|---|---|---|
| boostecom:store.read | relay | getShopInfo, getStoreContext, introspectSchema | — |
| boostecom:catalog.read | relay | listProducts, getProduct | read_products oder write_products |
| boostecom:orders.read | relay | listOrders | read_orders oder write_orders |
| boostecom:content.read | relay | listPages | read_content oder write_content |
| boostecom:metadata.read | relay | getMetafields, listMetaobjectDefinitions, listMetaobjects | — (Shopify entscheidet pro Query) |
| boostecom:themes.read | relay | listThemes, getTheme, runAudit | read_themes, write_themes oder write_theme_code |
| boostecom:analytics.read | relay | runShopifyQL | read_analytics oder read_reports |
| boostecom:graphql.read | relay | shopifyAdminGraphQL | — |
| boostecom:studio.read | native | getStudioSection, getStudioProduction, listStudioGenerations, getStudioPricing | — (siehe unten) |
| boostecom:intelligence.read | native | getStoreIntelligence | — (siehe unten) |
| boostecom:docs.read | public | searchDocs, getDoc | keine (nichts zu gewähren) |
Jede einzelne der aufgeführten Shopify-Berechtigungen erfüllt eine Zeile. Ein Strich bedeutet, dass Shopify kein Mitspracherecht hat: entweder benötigt das Tool keine bestimmte Berechtigung, oder Shopify setzt seine eigene Grenze pro Abfrage durch.
Die drei Familien
Nicht kosmetisch. Die Familie entscheidet, wem ein Tool antwortet:
relay erreicht Shopify über die Brücke. Ein statischer
bst_mcp_-Bearer erfüllt sie, weil der Schlüssel auf den Store
begrenzt ist und ihn zu besitzen die Autorisierung ist.
native erreicht ein System, das BoostEcom besitzt. Es erfordert
einen identifizierten Aufrufer, sodass ein statischer Schlüssel es
nie erfüllt. Der Grund lohnt sich, klar zu benennen:
getStudioSection schützt eine Ressource, deren Berechtigung von
einer OrganizationMember-Zeile abhängt. Ohne Benutzer gibt es
niemanden zum Prüfen, und eine nicht prüfbare Berechtigung muss
ablehnen, nie durchlassen.
public erreicht etwas, das ohne Sitzung bereits lesbar ist. Die
Familie würde einen statischen Schlüssel zulassen, weil es keine
Berechtigung zu prüfen gibt: searchDocs liefert, was /docs
einem Fremden ausliefert. Ein statischer Schlüssel erhält diese Tools
heute trotzdem nicht: Er trägt keinen Scope-String, erweitert sich also
nur zur Relay-Familie, zu der boostecom:docs.read nie gehört. Sie
erreichen einen Client über OAuth, sobald der Benutzer den Scope
genehmigt.
Warum studio.read eine leere Shopify-Spalte zeigt
shopify: [] bei einem nativen Scope bedeutet nicht „benötigt
keine Berechtigung". Es bedeutet, dass Shopify kein Mitspracherecht
hat. Das Tor ist die eigene studio.*-Berechtigung des Aufrufers, pro
Abschnitt zum Zeitpunkt des Aufrufs abgefragt: dieselbe Prüfung, die
die Dashboard-Seiten vornehmen.
Der Scope wird auf dem Zustimmungsbildschirm jedem Benutzer angeboten, anders als ein Relay-Scope, den die Custom App eines Stores nicht erfüllen kann. Das ist beabsichtigt: eine Shopify-Berechtigung ist eine harte Obergrenze, die sich nur durch erneutes Verbinden der App bewegt, während eine Studio-Berechtigung eine Mitgliedschaft ist, die sich morgen ändern kann. Den Scope zum Zeitpunkt der Zustimmung abzulehnen würde eine langlebige Gewährung gegen eine Berechtigung einfrieren, die der Benutzer bald haben könnte, und die Prüfung pro Aufruf antwortet in beiden Fällen korrekt.
Der ererbte mcp-Scope
Clients, die zugestimmt haben, bevor der Katalog existierte, tragen
einen einzelnen mcp-Scope. Er erweitert sich zur Relay-Familie
und wird das immer tun: er wurde zugestimmt, als der Katalog nur die
Shopify-Brücke war und nichts sonst, also kann er nur das bedeuten. Er
erreicht weder native noch public Tools.
Was BoostEcom über Ihren eigenen Shop weiß
getStoreIntelligence beantwortet für den Shop, auf den die Verbindung
beschränkt ist, was die Plattform über seine Domain beobachtet hat:
Traffic, abgeleitete Wirtschaftlichkeit, Katalog, Tech-Stack,
Werbekreative, Bewertungsgeschwindigkeit, soziale Reichweite, Marke und
agentische Bereitschaft.
Jedes Feld trägt seine unit, und das ist keine Zierde. visitsChange
ist ein vorzeichenbehaftetes Verhältnis, momGrowth steht in
Punkten. Beide zeigen „−19,9 %“ und sie zu vertauschen bleibt
unbemerkt. Ein Feld, das die Plattform nicht beobachtet hat, behält
seinen Platz mit dem Wert null und, sofern der Datensatz es sagt,
einem Grund für das Fehlen: Fehlen ist Information, nie eine still
gelöschte Zahl.
Grenzen Sie die Antwort mit sections ein (traffic, economics, catalog,
stack, ads, reviews, audience, brand, agentic); lassen Sie es weg, um
alles zu erhalten. Ein Shop ohne Datensatz antwortet observed: false
statt mit einem leeren, damit „nichts beobachtet“ nie als „null“ gelesen
wird.
Das Werkzeug liest denselben Datensatz, über denselben Leser, den auch das Panel „Store details“ in Ihrem Dashboard und die Browser-Erweiterung lesen. Eine Frage, eine Zahl, wer auch immer fragt.
Da der Datensatz zum Shop gehört, hängt die Antwort davon ab, wer fragt: das Relay hat bereits an der Tür bewiesen, dass Sie zur Organisation gehören, der er gehört. Ein Shop mit privatem Datensatz antwortet seinem eigenen Händler vollständig.
GraphQL-Durchleitung
shopifyAdminGraphQL ist eine Durchleitung zur Shopify-Admin-
GraphQL-API, gepaart mit introspectSchema zur Entdeckung. Shopifys
eigenes Berechtigungsmodell gilt pro Abfrage: die Brücke erweitert es
nicht.
Scope-Strings auf der Leitung
Scopes reisen als leer- oder kommagetrennter String. Die in den Metadaten des Autorisierungsservers angekündigte Liste ist der ererbte Scope plus alle 12 Scopes des Katalogs: die 11 oben genannten und 1, der dem BoostEcom-Team vorbehalten ist.