Shopify × Claude via MCP
The Model Context Protocol turns your Shopify store into a tool surface Claude can read, audit, and rewrite: without rebuilding the glue every quarter.
Anthropic's Model Context Protocol (MCP) is the standard the BoostEcom platform speaks natively. If you've read the pillar guide, here is the operator-grade deep dive: full MCP server setup, scope strategy by use case, the audit-loop pattern that scales from one store to a thousand, and where Christopher Lasgi's eight years running a Shopify agency shaped the conventions we ship today.
Prerequisites
What you need before you start
- A Shopify store on any plan (the MCP path does not require Plus).
- Permission to create a Custom App in that store's admin.
- An MCP-capable client: Claude, a ChatGPT custom connector, Claude Code, or Cursor.
- Five minutes. Nothing to install, nothing to host.
Step 1
Create a Shopify Custom App
In your store admin: Settings → Apps and sales channels → Develop
apps → Create an app. Name it Claude integration. The default Admin
API section is what we'll configure.
Grant scopes by use case. Start narrow:
| Use case | Scopes |
|---|---|
| Catalog audit (read-only) | read_products, read_inventory, read_content |
| Order analysis | read_orders, read_customers, read_analytics |
| Copy rewriting | + write_products, write_content |
| Promotions | + write_discounts |
Install the app. Save the Admin API access token somewhere safe: Shopify only shows it once.
Step 2
Connect the store to BoostEcom
There is nothing to install. Paste the Custom App's client id and secret into BoostEcom (store settings → connectors) and the store gets its own remote MCP endpoint:
https://www.boostecom.app/api/mcp/v1/<STORE_ID>
That endpoint exposes twelve tools: getShopInfo, getStoreContext,
runAudit, listProducts, getProduct, listOrders, listPages,
listThemes, getTheme, runShopifyQL, introspectSchema, and a full
Admin GraphQL read passthrough. Eight of them are gated on the scopes Shopify actually granted your Custom App: a store
connected with read_products only never even sees the order or theme
tools in its tool list.
The relay is read-only. Queries execute; every mutation is refused before it reaches Shopify, and each attempt, refused or not, is journaled to your audit log with its risk class and the mutation names. Writes go through the approval flow in the BoostEcom dashboard chat, where a human confirms each one.
→ Full reference: /features/api.
Step 3
Point Claude at the endpoint
Claude, ChatGPT and Cursor all speak MCP over HTTP, so there is no SDK to install and no tool-loop to write. Add a custom connector with the URL above and leave client id and secret empty: the client identifies itself with a Client ID Metadata Document (dynamic registration, RFC 7591, still works for older clients), runs a PKCE handshake, and lands you on a consent screen naming the client, the store and every permission it asks for.
For a client that prefers a static key, generate one in store settings → connectors and declare the server directly:
{
"mcpServers": {
"boostecom": {
"type": "http",
"url": "https://www.boostecom.app/api/mcp/v1/<STORE_ID>",
"headers": { "Authorization": "Bearer bst_mcp_<YOUR_KEY>" }
}
}
}
The client discovers the tool schemas at connect time and calls them by name. Your Shopify token never leaves BoostEcom's servers, the client only ever holds a BoostEcom token, which you can revoke without touching Shopify.
Step 4
The audit-loop pattern (what every Shopify operator wants)
Most production workloads share the same shape:
- Discovery — the model lists products, fetches a sample of N.
- Scoring — the model grades each one against criteria (schema, title length, image count, price tier).
- Prioritization — the model returns the top K with justification.
- (Optional) Action — the model writes the fix via
write_*scopes, gated behind human approval.
The BoostEcom platform ships this loop as a reusable skill. The DIY version runs ~150 lines of orchestration code with retry logic, error boundaries, and rate-limit handling for both Anthropic AND Shopify.
Security
A scope strategy that won't burn you
Every Claude × Shopify deployment we've seen fail had the same root cause: too many scopes, too early.
Phase 1 — observe (read-only): live with the audit in production for a week. Watch what Claude reads, what it ignores, what it tries to do but can't. Read-only is the longest and most informative phase.
Phase 2 — author (write_products, write_content): let Claude
rewrite copy ON A STAGING THEME. Compare the rewrites against your
existing copy, accept what you approve, reject what you don't. Two
weeks.
Phase 3 — operate (selective write_*): grant operations on
specific surfaces (discounts, inventory). Always behind human approval
for destructive actions.
Never grant: write_payment_*, write_users, write_files. A
hallucination there is unrecoverable.
DIY vs platform
What BoostEcom adds on top
The MCP server alone gets you 60% of the way. The remaining 40%:
- Multi-store routing — one MCP per store doesn't scale past 10+ stores. BoostEcom maintains a per-org credential pool with isolated audit logs.
- Session memory — Claude needs context that survives conversations. We persist conversational state, the store knowledge base, and workflow runs.
- Voice + WhatsApp: operators don't always want to type. Hume EVI integration for voice, a WhatsApp connector for thumb-driven ops.
- Skills marketplace — pre-built audit / rewrite / test workflows. One click from the marketplace, zero prompt engineering.
- Specialist agents — beyond Claude, BoostEcom routes specialist models for ops, finance, support, growth. @Atlas orchestrates.
→ See the full list at /features/ai-copilot.
Connect the store, point Claude at it, ship audits by the afternoon
The MCP relay is free on every plan. The BoostEcom platform on top is free for one store, paid for fleet operators.
FAQ
Frequently asked questions on Shopify × Claude × MCP
Does MCP require Shopify Plus?
No. MCP is a transport protocol on top of any Shopify Admin API access. Custom Apps work on every plan, including Basic.
Do I have to host anything?
No. BoostEcom hosts the server. It is stateless by construction: a fresh instance is built per request and torn down after it, with no session to keep alive: which is why one URL serves every client without sticky routing on your side.
How does Claude know which tools the server exposes?
MCP announces tool schemas at the handshake. Claude downloads the schema list once per session, then calls tools by name with typed arguments. You pre-register nothing in the Claude SDK.
What about rate limits?
Shopify's GraphQL Admin API uses a calculated point cost (the bucket on
a custom app is 2 000 points, refilling at 100 points/sec). The relay
returns Shopify's own cost and throttleStatus alongside the data, so
the model can pace itself instead of guessing. DIY: implement a leaky
bucket around every fetch.
What does the MCP relay cost?
Nothing, on every plan including Free. The relay forwards a Shopify Admin API call and runs no model on our side, so it burns no credits. Per-organization rate limits exist to stop abuse: 50 calls/minute on Free, 500 on Pro, 1 000 on Max 5x, 5 000 on Max 20x.