Commerce

Connect Shopify to AI Agents

Connect your Shopify store and ask about orders, stock, customers, discounts and sales in plain English, or have an agent make the changes: edit orders, create returns and refunds, adjust inventory and add products. It works with Claude, ChatGPT, Claude Code and any other MCP client.

What you'll need

  • A Shopify store, and permission to create an app in the Shopify Dev Dashboard (dev.shopify.com) under the same organisation as the store.
  • Your store's myshopify.com address, for example your-store.myshopify.com.
  • A decision on access scopes: read scopes to look at your store, plus the matching write scopes if you want an agent to change things.

Shopify connects with your app's client ID and secret. If your store already has an older custom app, you can paste that app's Admin API access token instead, because Shopify stopped letting merchants create new custom apps in the store admin on 1 January 2026.

Connect it

Create an app
In the Shopify Dev Dashboard, create an app in the same organisation as your store.
Choose its access scopes
Add read_orders, read_products, read_customers, read_inventory, read_locations, read_markets and read_reports. Add read_all_orders to see orders older than 60 days. To let your agent change things, add the matching write scopes too, such as write_products, write_orders, write_customers, write_inventory and write_draft_orders, plus a fulfilment scope. Leave them off to keep the connection read only.
Release and install
Release a version of the app, then install it on your store. Copy the client ID and client secret from the app's settings.
Open Connectors
In your SourcetoMCP dashboard, go to Connectors and choose Add Connection, then Shopify.
Paste your details
Enter your myshopify.com address, because your custom domain will not work. Choose Dev Dashboard app and paste the client ID and client secret. SourcetoMCP verifies them against your store.
Confirm
The connection shows up as Connected in your Connectors table.

Writes are real: editing and cancelling orders, creating returns and refunds, adjusting stock, changing discounts and deleting records. Your app's access scopes decide which of them work at all. Reads run straight away, while writes and deletes each go through their own tool, so your AI client can ask you before anything changes. New products are created as drafts, customers are only emailed when you say so, and deletes and refunds cannot be undone from here. Each operation has its own daily limit of 200 reads or 20 writes and deletes.

Try it

  • "Which paid orders from the last three days are still unfulfilled?"
  • "Which variants have fewer than 10 units left?"
  • "Show sales by day for the last two weeks."
  • "How many checkouts were abandoned this week?"
  • "What has [a customer's email] ordered so far?"
  • "Create a 15% off code called AUTUMN15 that ends on Sunday."
  • "Create a draft product for the autumn range with three variants."
  • "Add a $5 gift wrap line to order #1042 and email the customer."
  • "Put the fulfilment order for #1047 on hold."

Join it with other sources

"Compare Shopify sales by day with Google Ads spend for the same days last month, in one thread."

Troubleshooting

SymptomLikely fix
Shopify rejected that client ID and secretCheck the pair, check the app is installed on this store, and check the app and the store are in the same Shopify organisation. Shopify gives the same answer for all three.
A change fails and names a missing scopeYour app does not have that access scope. Add it in the Dev Dashboard, release a new version and install it on the store, then ask again. Asking your agent for your app's access scopes shows what it has now.
Orders older than 60 days are missingShopify only returns the last 60 days of orders unless the app has the read_all_orders scope. Add it, then release and install the new version.
Order lists leave out customer names and emailsThis is on purpose. Shopify treats them as protected customer data, so the list leaves them out unless you ask for them. Open a single order or customer to see their details.
The connection shows Needs attentionShopify has stopped accepting the credentials, for example after the app was uninstalled or its secret changed. Reconnect from Connectors with the app's current client ID and secret.
A daily budget has been reachedEach operation has its own limit, 200 calls a day for reads and 20 for writes and deletes. Try again tomorrow, and note that other operations keep their own budget.

Related

  • Shopify MCP Server. The marketing page, with a comparison against Shopify's own connector and the full FAQ.
  • Stripe. Revenue, subscriptions and payouts, read only, to sit beside your store's orders.
  • Browse all integrations. Every source SourcetoMCP connects to, by category.