ShopifyShopifyKlaviyoKanalInflateTrendtrackInfinite FulfillmentAddingwellBoostEcom AgencyThe DeployerStork MarketingTheme Copilot AIPandectesTheme FullStackCookiebotTriple WhaleRechargeIntelligemsHotjarDatafastTrustMRRPageBuilder.storeTaap.itShopifyShopifyKlaviyoKanalInflateTrendtrackInfinite FulfillmentAddingwellBoostEcom AgencyThe DeployerStork MarketingTheme Copilot AIPandectesTheme FullStackCookiebotTriple WhaleRechargeIntelligemsHotjarDatafastTrustMRRPageBuilder.storeTaap.it
ShopifyShopifyKlaviyoKanalInflateTrendtrackInfinite FulfillmentAddingwellBoostEcom AgencyThe DeployerStork MarketingTheme Copilot AIPandectesTheme FullStackCookiebotTriple WhaleRechargeIntelligemsHotjarDatafastTrustMRRPageBuilder.storeTaap.itShopifyShopifyKlaviyoKanalInflateTrendtrackInfinite FulfillmentAddingwellBoostEcom AgencyThe DeployerStork MarketingTheme Copilot AIPandectesTheme FullStackCookiebotTriple WhaleRechargeIntelligemsHotjarDatafastTrustMRRPageBuilder.storeTaap.it
Features

Bridge AI.

One HTTPS endpoint per store, spoken in Model Context Protocol. Point Claude, ChatGPT or Cursor at it and your own assistant reads your catalogue, themes, pages and orders directly. Read-only, capped by the scopes you granted, journaled, and free on every plan.

MCPOAuth 2.1Read-onlyFree

Endpoint per store
1
Shopify tools
Value
PKCE + consent screen
OAuth 2.1
On every plan
$0
Two engines

Two engines, one connection

Most MCP servers give an agent one of these. Bridge AI is one endpoint that answers both kinds of question in the same conversation.

Ask what is working across the market, then ask what your own store does about it: without the agent changing connection, or losing the thread.

Five surfaces

One connector, five ways in

The Custom App you install is the connector. What reads through it is your call, and nothing stops you using all three against the same store.

  • MCP — your AI clientClaude, ChatGPT, Claude Code, Cursor. Read the store from the assistant you already have open, over OAuth or a static key.
  • API — your own codeScoped keys for usage and Intelligence reads, plus the extension select relay. Environments, expiry and allowed domains per key. Not a GraphQL API and not an SDK that creates Shopify stores.
  • Dashboard — @Atlas and the agentsThe one surface where writes happen, each behind the approval flow. Same store, same connector, a human in the loop.
  • UCP — agent negotiationEvery store we probe can read /.well-known/ucp-agent. Catalog search and lookup only. No cart, no checkout, no secrets. It is how agents negotiate what we can answer before they hit the MCP.
  • BoostEcom Spy — the Chrome extensionSelect any DOM element on the open web and relay it into the platform tab. The extension never carries credentials: the signed-in browser tab does the write.

A Custom App is installed by the merchant, so it asks for exactly the scopes that merchant ticks: it is not capped by what a public app is allowed to request, and Shopify does not put it through the review a public app needs to touch theme files. Your scopes are the ceiling. We add none of our own.

Endpoint

The endpoint

One URL per store. Everything else on this page is detail.

Your storeurl

Swap <STORE_ID> for the id in store settings, under connectors: where this exact URL is also shown ready to copy.

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

Public, unauthenticated, CORS-open. An OAuth-aware client finds these on its own from the 401 it gets on the first call.

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
Intelligence MCPurl

The public store-graph server. No account, no key, nothing to configure.

https://www.boostecom.app/api/mcp/intelligence

What it is

Bridge AI is a remote MCP server. Every store you connect to BoostEcom gets its own endpoint at /api/mcp/<STORE_ID>, speaking Model Context Protocol over streamable HTTP. Any MCP-aware client — Claude, ChatGPT, Cursor, or something you wrote yourself: can discover it, authorize against it and call its tools.

Your Shopify credentials never leave our servers. The client holds a BoostEcom token; we hold the Custom App token, encrypted at rest and refreshed on our side. Revoke the BoostEcom token and the client is out, having never seen a Shopify secret. The same Bridge surface also covers the live OAuth connectors (Google, Meta, Klaviyo, Figma, Notion) and BoostEcom Spy that relays selections into the platform tab.

Connect

Connect in a minute

Pick the client you use. Your store id is in the dashboard, under store settings → connectors, next to the endpoint URL.

Configurationurl

Add a custom connector and paste the URL. Leave client id and secret empty: the client registers itself, runs the PKCE handshake on first link, and asks you to approve it.

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

One page per client

The reference above is the whole surface. These are the four minutes it takes to get one client talking, in that client's own vocabulary.

Tools

Thirteen tools

Nine are gated on the scopes your Shopify Custom App actually granted: a store connected read-only for products never even sees the order or theme tools in its tool list. Four need no Shopify scope beyond the connector itself (shop info, store context, Admin GraphQL passthrough, schema introspect). Availability here is the Shopify gate; the OAuth scope you grant a client narrows it further: the catalogue is further down, with the authorization flow.

ToolAvailabilityWhat it returnsAsk it like this
getStoreContextScope NoneNo Shopify scope gatePlan, currency, timezone, markets, locales, themes, legal policies, catalogue counts and your granted scopes: in one call.Where am I? Give me the store setup.
getShopInfoScope NoneNo Shopify scope gateStore name, plan, currency, timezone, primary domain.What plan and currency is this store on?
runAuditScope read_themes · write_themes · write_theme_codeScopedShop, themes and a product sample in a single round-trip, so the model reasons over the whole store at once.Give me the state of the store.
listProductsScope read_products · write_productsScopedProducts, optionally filtered by status. Up to 250 per call.Which products are still in draft?
getProductScope read_products · write_productsScopedOne product by its numeric id.Show me everything on product 8123456789.
listOrdersScope read_orders · write_ordersScopedRecent orders, optionally filtered by status.Summarise the orders that are still open.
listPagesScope read_content · write_contentScopedCMS pages of the store. Up to 250 per call.List the CMS pages: do we have a returns policy page?
listThemesScope read_themes · write_themes · write_theme_codeScopedEvery theme on the store, including the published one.Which theme is published right now?
getThemeScope read_themes · write_themes · write_theme_codeScopedOne theme by its numeric id.What is theme 178234567 called?
runShopifyQLScope read_analytics · read_reportsScopedA ShopifyQL table: sales, sessions, conversion, inventory, over any period you name.What were my sales over the last 30 days?
introspectSchemaScope NoneNo Shopify scope gateAny Admin GraphQL type, with nested input types and enums resolved inline.What fields does ProductInput take?
shopifyAdminGraphQLScope Shopify enforcesNo Shopify scope gateAny read the Admin API allows: metafields, markets, translations, inventory. Cost and throttle status come back with the data.Pull the metafields on my top ten variants.
getStudioSectionScope NoneNo Shopify scope gateOne Studio section: pipeline, clients, concepts, QC or cockpit. Read-only, and every call asks the caller's own Studio permission for that section.Which concepts are waiting on QC?
searchDocsScope NoneNo Shopify scope gateThe documentation passages that answer a question, each with a deep link to the exact section.How does the marketplace escrow window work?
getDocScope NoneNo Shopify scope gateOne documentation page in full, by slug, with its list of sections.Show me the credits page in full.
Reach

Eleven tools and an open door

The tool count is the wrong number to look at. Eleven tools cover the paths an agent walks constantly; the twelfth is a passthrough onto the entire Shopify Admin GraphQL API.

  • Anything the Admin API can read, the passthrough reads: metafields, metaobjects, markets, translations, publications, inventory levels, fulfilment orders, discounts, customer segments, files.
  • Your Custom App scopes decide what succeeds, and Shopify enforces that per query. We add no allowlist of our own on the read path.
  • Shopify's own `cost` and `throttleStatus` come back with the data, so a model paces itself against the real bucket instead of guessing at it.
  • A Custom App is installed by the merchant, so it asks for exactly the scopes that merchant ticks: it is not capped by what a public app is allowed to request.
Versus

Against Shopify's own connector

Both pointed at the same store, same minute, read-only. Shopify's official MCP connector is excellent at what it does, this is simply where the reach differs.

 Bridge AIShopify MCP
Scopes granted
Measured on the same store via currentAppInstallation.
18358
Scopes the other lacks
The official set is a strict subset, it holds nothing Bridge AI does not.
1250
Fields on one store-info call
getShopInfo vs get-shop-info, same store.
488
Pixels & script tags
Tracking and consent surfaces. The official connector has no pixel scope at all.
Payouts, disputes, bank accounts
Shopify Payments read surface.
GDPR, audit events, consent
Privacy settings, audit log, customer events.
Storefront + Customer Account APIs
The unauthenticated_* and customer_* scope families.
Cart Transform & Shopify Functions
Bundles, delivery and payment customizations, discount allocators.
ShopifyQL analytics
Same query, identical result: ours runs through the GraphQL passthrough.
Schema introspection
__type and __schema resolve through the passthrough.
Cost & throttle returned to the model
Shopify's own numbers, so an agent paces itself instead of guessing.
Writes to the store
Ours is read-only today; writes go through the dashboard approval flow.
shopify.dev docs search
The official connector ships a documentation RAG. We do not.

Measured on one merchant's Custom App: a store that grants fewer scopes gets fewer. The structural point holds regardless: a Custom App is installed by the merchant, so it can request what a public app is not allowed to.

Authorization

How authorization works

Standards all the way down. Nothing proprietary to paste into a client that does not want it.

  1. Your client calls the endpoint with no token and gets a 401 carrying a WWW-Authenticate header (RFC 9728).
  2. It follows that header to the protected-resource document, which names this origin as the authorization server.
  3. It reads the authorization-server metadata (RFC 8414) to find the register, authorize, token and revocation endpoints.
  4. It identifies itself with a Client ID Metadata Document, a client_id that is an https URL we fetch and verify (MCP 2026-07-28). Clients still on dynamic registration (RFC 7591) are accepted too. Public client either way, no secret issued, PKCE S256 mandatory.
  5. You land on a consent screen listing the permissions in plain language (catalogue, orders, themes, analytics) with only the ones your Custom App can actually satisfy shown, and you approve or deny.
  6. The client exchanges its one-time code for an access token valid one hour, plus a refresh token that rotates on every use.
  7. If a tool needs a permission your token does not carry, the call comes back 403 with the exact scope to request: the client re-authorizes for that one scope and retries, instead of you starting over.
  8. Disconnect the integration and the client calls the revocation endpoint (RFC 7009): the token dies on our side too, not only in the client's memory.

Tokens are bound to a single store: one issued for store A is refused on store B, and organization membership is re-checked on every call. Everything is stored as a SHA-256 hash, we never keep a token we could read back.

Scopes

Eight scopes, one per family of tools

The consent screen is not a single yes. A client asks for the permissions it needs, you read them in plain language, and the token it walks away with carries exactly those: the tools outside them stop existing for that client.

ScopeWhat it opensShopify grant required
boostecom:store.readStore identity & setupREADPlan, currency, timezone, primary domain, markets, locales, legal policies and the Admin schema.getShopInfo · getStoreContext · introspectSchemaAny connected store
boostecom:catalog.readCatalogueREADProducts and their variants, including drafts and archived items.listProducts · getProductread_products · write_products
boostecom:orders.readOrdersREADRecent orders and their status.listOrdersread_orders · write_orders
boostecom:content.readPages & contentREADThe storefront's CMS pages.listPagesread_content · write_content
boostecom:themes.readThemesREADThemes on the store, published or not, and the audit that reads them.listThemes · getTheme · runAuditread_themes · write_themes · write_theme_code
boostecom:analytics.readAnalyticsREADShopifyQL queries: sales, sessions, conversion and inventory over any period.runShopifyQLread_analytics · read_reports
boostecom:graphql.readAdmin API passthroughREADAny read the Admin API allows. Shopify enforces your scopes on every single query.shopifyAdminGraphQLAny connected store
boostecom:studio.readAgency StudioREADThe production floor: prospect pipeline, client gates, creative concepts, the QC queue and the economics cockpit. Each section still asks for your own Studio permission.getStudioSectionAny connected store
boostecom:docs.readDocumentationREADSearch and read the public BoostEcom documentation. Grants nothing private: this is what /docs already serves to anyone.searchDocs · getDocAny connected store
boostecom:operator-docs.readLabelREADDescriptionsearchOperatorDocs · getOperatorDocAny connected store
Requesting a narrower tokenhttp

Space-separated in the scope parameter. Omit it and the client is asking for every Shopify tool; ask for less and it gets less, until it is authorized again.

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

Two gates, and both must pass: the scope you approved for this client, and what your Shopify Custom App can satisfy. A permission Shopify would refuse is never offered on the consent screen in the first place. Tokens issued before this catalogue existed carry the legacy mcp scope and keep every Shopify tool they already had. It never confers a scope on a BoostEcom system: those are granted only by asking for them by name.

Why it is safe to hand to an agent

An external client holds a token, runs unattended, and has no human watching it. The relay is built for exactly that.

  • Read-only by designQueries run. Every mutation is refused at the relay, and a document we cannot prove is read-only counts as a write. Writes go through the dashboard chat, where the approval flow lives.
  • Your scopes are the ceilingThe tool list is derived from the scope string Shopify itself returned when you connected the Custom App. Not a setting we picked, a mirror of what you granted.
  • Every attempt journaledRefused or executed, each write attempt lands in your audit log with its risk class, the auth mode and the mutation names. Variable names are kept; their values never are.

Rate limits

Anti-abuse only. The relay costs us a Shopify API forward, not a model call, so it is included on every plan: including Free. Limits are per organization: stores in the same organization share one budget.

 FreeProMax 5xMax 20x
Calls per minute
505001 0005 000
Calls per day
2 00050 000100 000Unlimited
Tools available
12121212
Price
$0$0$0$0

Custom plans run uncapped. A 429 names the plan, the limit it hit and what to do about it.

What people actually ask it

The point is not the tool list. It is that the assistant you already have open knows your store.

  • State of the storeOne runAudit call returns shop, themes and a product sample together, so the model reasons over the whole store instead of stitching four requests.
  • Catalogue questionsWhich products are still drafts, what is out of stock, which handles collide: answered against live data, not a stale export pasted into a chat.
  • Anything the Admin API readsMetafields, markets, translations, publications, fulfilments: one passthrough tool, with Shopify's own cost and throttle numbers returned so the model paces itself.
  • Reporting where you workSummarise the week's orders in the client you already have open, without exporting customer data into a spreadsheet first.
Roadmap

What we are building next

Stated plainly so you can plan against it. None of this is live yet: everything above is.

  • In-band approval: instead of refusing a mutation, the server suspends it, shows you the diff, and resumes the same tool call once you approve, so the agent never loses its thread.
  • Dry-run first: every write tool returns the affected objects, the before/after values and a risk class before anything is applied.
  • Composite audits: launch readiness, tracking, checkout and revenue-leak checks returned as typed findings rather than prose.
Follow it on the roadmap

What it covers, what it doesn't

  • Read-only by design. Queries run; every write is refused and journaled. Writes happen in the dashboard chat, where the approval flow lives.
  • Your Custom App scopes are the ceiling. A store connected for products only never sees the order or theme tools at all.
  • One request, thirty seconds. Long work belongs in a workflow, not in a tool call.
  • MCP and the Intelligence REST API are the supported surfaces. There is no first-party GraphQL API and no npm SDK, on purpose: two more contracts to keep in sync is two more ways to drift.
  • Rate limits are per organisation. Stores in the same organisation share one budget.
Which AI clients can connect to Bridge AI?Clients
Any client that speaks Model Context Protocol over HTTP. We test against Claude, ChatGPT custom connectors, Claude Code and Cursor. Clients that support OAuth discovery need only the URL; the rest can use a static bearer key.
Can an AI client change my store through Bridge AI?Safety
No. The relay is read-only. Queries execute, and every mutation is refused before it reaches Shopify: including any document we cannot prove is read-only. Writes require the approval flow in the BoostEcom dashboard chat, where a human confirms each one.
Does the AI client ever see my Shopify access token?Security
No. The client authenticates against BoostEcom, never against Shopify. Your Custom App token is encrypted at rest on our side, decrypted per request and refreshed automatically. Revoking the BoostEcom token cuts the client off without touching Shopify.
What does it cost?Pricing
Nothing, on every plan including Free. Bridge AI forwards a Shopify Admin API call: it runs no model on our side, so it burns no credits. The rate limits exist to stop abuse, not to sell you an upgrade.
How do I control what an agent can reach?Scopes
Two gates, and both have to pass. The first is the OAuth scope you approve for that client on the consent screen: authorize boostecom:catalog.read alone and the order, theme and analytics tools stop existing for it. The second is your Shopify Custom App: the tool list is derived from the scope string Shopify returns when you connect it, so a store granted read_products only will not list the order or theme tools to any client. Narrow either one and the surface narrows with it.
Is there a REST API, a GraphQL API or an SDK?Surface
Not yet, and we would rather say so than sell one. The supported programmatic surfaces today are the per-store MCP endpoint, the public Intelligence MCP endpoint and the Intelligence REST API with its own keys. The GraphQL you can reach is Shopify's own Admin API, through the passthrough tool.

@Atlas audits the catalog the day the store is connected and ships a CRO plan, instead of handing back a list of things to go read. Audit to plan, same session.

BoostEcom DemoDemo

Founder

One operator, the full stack: Maya runs the email calendar, Marco curates collections, Otis watches fulfilment. One team, one thread.

BoostEcom DemoDemo

Head of Growth

The work gets done rather than suggested. Voice mode with @Atlas turns the morning check-in into a conversation. It operates.

BoostEcom DemoDemo

Store owner

@Maya rewrites product descriptions, queues them for review, pushes the approved batch live, then runs the campaign around them. End-to-end, with approval gates.

BoostEcom DemoDemo

E-commerce lead

Every action the AI Team takes is graded against real Shopify Analytics after the observation window closes. Outcome attribution, not vibes.

BoostEcom DemoDemo

Marketing lead

OAuth scopes, audit log, store-scoped credits, no shadow data. The agents work inside the admin, not around it.

BoostEcom DemoDemo

Engineer

Permission mode decides what ships on its own and what waits for a human. Autonomy you dial in.

BoostEcom DemoDemo

Operator

Multi-store from one console, each with its own connectors, memory and budget. Per-store context.

BoostEcom DemoDemo

Agency owner

@Atlas audits the catalog the day the store is connected and ships a CRO plan, instead of handing back a list of things to go read. Audit to plan, same session.

BoostEcom DemoDemo

Founder

One operator, the full stack: Maya runs the email calendar, Marco curates collections, Otis watches fulfilment. One team, one thread.

BoostEcom DemoDemo

Head of Growth

The work gets done rather than suggested. Voice mode with @Atlas turns the morning check-in into a conversation. It operates.

BoostEcom DemoDemo

Store owner

@Maya rewrites product descriptions, queues them for review, pushes the approved batch live, then runs the campaign around them. End-to-end, with approval gates.

BoostEcom DemoDemo

E-commerce lead

Every action the AI Team takes is graded against real Shopify Analytics after the observation window closes. Outcome attribution, not vibes.

BoostEcom DemoDemo

Marketing lead

OAuth scopes, audit log, store-scoped credits, no shadow data. The agents work inside the admin, not around it.

BoostEcom DemoDemo

Engineer

Permission mode decides what ships on its own and what waits for a human. Autonomy you dial in.

BoostEcom DemoDemo

Operator

Multi-store from one console, each with its own connectors, memory and budget. Per-store context.

BoostEcom DemoDemo

Agency owner

Point it at your store and ask.

Describe what you want your agent to read, and @Atlas will tell you which tool and which scope it needs.