Your store already answers questions. The problem is that you have to go and ask it, in a browser, in a dashboard, one tab at a time.
This tutorial removes that trip. Once the BoostEcom MCP server is connected, you ask Claude in the terminal you already have open, and it reads the store directly. No copy-paste, no export, no second window.
It takes about four minutes, and the relay is free on every plan, Free included. That is not a promotion: the relay forwards to the Shopify Admin API and costs us no model call, so there is nothing to bill.
1. Find your store endpoint
Open your store's cockpit, then Settings → Connectors → External LLM access. The block shows the full endpoint, ready to copy:
https://boostecom.app/api/mcp/v1/<STORE_ID>
<STORE_ID> is the store's identifier, not the slug you see in the
dashboard URL. Copy the whole line from that block rather than
assembling it by hand.
2. Add the server
One command:
claude mcp add --transport http boostecom https://boostecom.app/api/mcp/v1/<STORE_ID>
Then, inside Claude Code:
/mcp
It opens your browser on the consent screen, you see exactly which scopes are being asked for, you approve, and you are done.
3. Why OAuth rather than a key
You can also authenticate with a static bst_mcp_ bearer, generated on
the same settings block. It works, and for a script it is the right
choice. But the two modes are not equivalent, and the difference is not
a detail:
| | Static bst_mcp_ key | OAuth |
|---|---|---|
| Identifies | a store | a person |
| Opens | the 12 relay tools | relay and native tools |
| Needs | a Shopify Custom App connected | a session |
A static key names a store, never somebody. So a tool whose permission depends on who is asking has nobody to check, and it refuses to register at all rather than run an unchecked guard. That is why the Studio and intelligence tools appear under OAuth and not under a key.
4. What you get: 21 tools, 11 scopes
The catalogue is derived from the repository, so what your client is offered is what actually exists:
- Store — shop info, store context, schema introspection
- Catalogue — list and read products
- Orders — list orders
- Content — list pages
- Themes — list, read, and run a theme audit
- Analytics — run a ShopifyQL query
- GraphQL — run an arbitrary Admin API query
- Studio — your sections, your production board, your generations, your prices
- Intelligence — the record for a store
- Docs — search and read the BoostEcom documentation
Each scope is gated twice: by what you approved on the consent screen, and by what your Shopify grant actually allows. A scope you approved without the matching Shopify permission simply does not open.
5. The one thing it will not do, and why
Every tool reads. None writes. Including the GraphQL one:
shopifyAdminGraphQL runs queries and refuses mutations by name.
This is a design, not a missing feature. A write to a live store is a decision someone has to approve, and a relay has no human inside it: a client calls, the call arrives, nothing stands between them. The chat has that human: @Atlas proposes, you validate, the action goes out. Until the relay has the same loop, refusing is the only answer that cannot silently change your catalogue while you are asleep.
The approval loop is being built. When it ships, writes arrive behind it, and never before.
6. Ask it something real
Three that work on day one:
Which of my products have no description longer than 100 characters?
Run a theme audit and tell me the three things costing the most speed.
Compare last week's orders to the week before, by day, with ShopifyQL.
Where to get help
The #mcp channel of our Discord is where these questions get answered
fastest, usually by someone who hit the same thing last week.
If you would rather read: the full reference lives in MCP server and MCP tools & scopes, both derived from the same catalogue as this page.