The store's own Admin GraphQL API — products, collections, orders — which is where a storefront day actually happens.
Storefront operations desk
Runs the shop's day: catalogue, prices, campaigns, and the tickets that follow them.
Built for: The operator who is merchandiser, marketer and support for the same store, most weeks alone.
The button opens the checkout, where the 6 servers and 5 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Read and update products, inventory and orders through the Shopify Admin GraphQL API.
- 02
Build the campaign that follows a promotion in Mailchimp from the orders Shopify already recorded.
- 03
Pull the export into a sheet and analyse it, instead of scrolling admin screens.
- 04
Answer the tickets a promotion generates from the same desk that ran the promotion.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
A second route to the same API, for the queries the first server's shape does not cover comfortably.
The automations that carry a launch or a restock to the list that asked to hear about it.
The working surface for exports, price lists and the reconciliation that never fits in an admin screen.
The tickets that follow every promotion, answered from the desk that knows what the promotion was.
Reads the spreadsheets suppliers and platforms send, with pagination, so a 60,000-row export is analysed rather than opened.
Designs the discount properly — tiers, conditions, stacking rules — before it is implemented as three overlapping promotions that cost money.
The integration patterns behind subscriptions and invoices, for the part of the store that is code rather than configuration.
Abandoned cart, post-purchase and lifecycle flows written as sequences instead of as individual sends nobody measures.
Product and campaign video end to end — captions, soundtrack, export — which a small store otherwise has to buy in.
Reads pages that resist automation, for the price and availability monitoring a merchandiser does by hand otherwise.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Shopify | Free | — |
| Shopify Admin | Free | — |
| Mailchimp | Free | — |
| Google Sheets | Free | — |
| Zendesk | Free | — |
| Excel Analyser | Free | — |
| Skills | ||
| Discount Engine | Free · context cost only | — |
| Stripe | Free · context cost only | — |
| email-sequences | Free · context cost only | — |
| Super Video Maker | Free · context cost only | — |
| Scrapling Official | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 6 servers and 5 skills, and all 27 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add storefront writes all 6 servers into Claude Code’s config in one go — or run the lines below one by one. The 5 skills are not included — add them with lines 07–11.
- Mailchimp
MAILCHIMP_API_KEY— Mailchimp API key (ends in your data center, e.g. -us21)- Google Sheets
SERVICE_ACCOUNT_PATH— Absolute path to a Google service-account key JSON; share the spreadsheet with its client_email- Zendesk
ZENDESK_SUBDOMAIN— Zendesk subdomain, used when no positional subdomain argument is givenZENDESK_EMAIL— Email of the Zendesk agent the token belongs toZENDESK_API_TOKEN— Zendesk API token (Admin Center → Apps and integrations → Zendesk API)
Set them where you start Claude Code — export MAILCHIMP_API_KEY=… in your shell profile on macOS and Linux, setx MAILCHIMP_API_KEY "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
# 01 · Shopify
claude mcp add --scope user shopify-mcp '--' npx -y @mgcrea/mcp-shopify
# 02 · Shopify Admin
claude mcp add --scope user shopify-admin-mcp '--' npx -y shopify-admin-mcp
# 03 · Mailchimp
claude mcp add --scope user --env 'MAILCHIMP_API_KEY=${MAILCHIMP_API_KEY}' --transport stdio mailchimp-mcp '--' npx -y @agentx-ai/mailchimp-mcp-server
# 04 · Google Sheets
claude mcp add --scope user --env 'SERVICE_ACCOUNT_PATH=${SERVICE_ACCOUNT_PATH}' --transport stdio google-sheets-mcp '--' npx -y mcp-google-sheets
# 05 · Zendesk
claude mcp add --scope user --env 'ZENDESK_SUBDOMAIN=${ZENDESK_SUBDOMAIN}' --env 'ZENDESK_EMAIL=${ZENDESK_EMAIL}' --env 'ZENDESK_API_TOKEN=${ZENDESK_API_TOKEN}' --transport stdio zendesk-mcp '--' npx -y @fruggr/zendesk-mcp-server
# 06 · Excel Analyser
claude mcp add --scope user excel-analyser-mcp '--' npx -y excel-analyser-mcp
# 07 · Discount Engine
npx mcprush@latest skill add finsilabs/discount-engine
# 08 · Stripe
npx mcprush@latest skill add sundial-org/stripe
# 09 · email-sequences
npx mcprush@latest skill add rampstackco/email-sequences
# 10 · Super Video Maker
npx mcprush@latest skill add bomx/super-video-maker
# 11 · Scrapling Official
npx mcprush@latest skill add d4vinci/scrapling-officialRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 6 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 3 members of 6 have no imported tool surface. Section 05 says what is known before you approve anything.
- 6 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Google Sheets | imported | 5 |
| Mailchimp | not imported | not recorded |
| Shopify Admin | not imported | not recorded |
| Zendesk | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 3 members of 6 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
Where the export work needs structural edits — new tabs, formatting, batch updates — the fuller Sheets server does it, and asks for wider Drive access in return.
For stores whose email is transactional rather than campaign-led, SendGrid covers the sends and the marketing automation goes away with it.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It cannot take a payment. No member holds a Stripe key; the Stripe skill only writes integration code.
It does not set prices. A discount rule can be designed and written; changing a live price is an action a person signs off.
It cannot scrape a competitor's site for you legally by default. The scraping member exists for pages you are allowed to read — that judgement stays yours.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
Customer support desk
Reads the ticket, finds whether it is a bug or a billing question, and drafts the reply in your own voice.
Finance and billing desk
Reconciles what the ledger says with what the payment processor did, and writes the invoice at the end of it.
Code review
Tools to inspect code changes, run checks and prepare a pull request review.