Shopify MCP server
Ask your store a question instead of clicking through the admin.
- Tools
- 24
- Read-only
- 14
- Write
- 10
- Off by default
- Destructive
- 2
- Flagged distinctly
Shopify through an assistant
Connect one Shopify store and an assistant can read orders with their line items, search the catalogue, check inventory per location, and run ShopifyQL analytics against your own data. A generic GraphQL query tool covers the questions the named tools don't. Product, collection, discount and inventory writes exist and stay switched off until you turn them on.
- Orders with line items, fulfilment state and customer history
- Product, variant and collection search across the catalogue
- Inventory levels per location, and the low-stock questions that follow
- ShopifyQL analytics queries against your own store data
- A GraphQL escape hatch, capped at the scopes you already granted
- Create products, collections and discounts, set inventory, fulfil orders (opt-in)
What people actually ask
Real questions, answered from live Shopify data.
“Which orders from last week are still unfulfilled, and what's in them?”
shopify_list_ordersshopify_get_order“How many units of the black hoodie are left, and at which location?”
shopify_search_productsshopify_get_inventory_levels“What were my top-selling products by revenue last month?”
shopify_run_analytics_query24 Shopify tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Products & collections
13 tools6 read-only · 7 writeShowing 10 of 10 tools
- shopify_add_to_collectionWrite
Add one or more products to an existing manual collection.
- shopify_bulk_update_product_statusWriteDestructive
Update the status of multiple products at once, up to 25 per call. Setting status to ARCHIVED hides products from the storefront. There is no dedicated bulk-status mutation on Shopify's API -- this sends one GraphQL request containing an aliased productUpdate call per product, rather than one HTTP round trip per product.
- shopify_create_collectionWrite
Create a new collection. Pass product_ids for a manual collection of specific products, or rules for a smart collection that auto-populates from conditions (tag, vendor, type, title, or price). Exactly one of product_ids or rules.
- shopify_create_productWrite
Create a new product in your Shopify store (saved as draft by default).
- shopify_get_collectionRead-only
Retrieve one Shopify collection by ID: title, description, handle, and product count.
- shopify_get_inventory_levelsRead-only
Inventory levels for every variant of a product, across all locations. Call this before shopify_update_inventory when passing compare_quantity, to get the current value to compare against.
- shopify_get_productRead-only
Get detailed information about a specific Shopify product.
- shopify_list_productsRead-only
List products from your Shopify store.
- shopify_search_collectionsRead-only
Search or list the store's collections by title, handle, or type. Results capped at 50 per call.
- shopify_search_productsRead-only
Search the store's products with Shopify's query syntax (e.g. 'status:active AND vendor:Nike', 'price:<=25'), cursor pagination, and sorting. Richer than shopify_list_products, which only filters by status/title.
+ 3 more products & collections tools — see the full catalogue
Orders
3 tools2 read-only · 1 writeShowing 3 of 3 tools
- shopify_fulfill_orderWrite
Mark a Shopify order as fulfilled and optionally add tracking information.
- shopify_get_orderRead-only
Retrieve a specific Shopify order by ID.
- shopify_list_ordersRead-only
List recent orders from Shopify with filtering by status and date.
Analytics & shop
2 tools2 read-only · 0 writeShowing 2 of 2 tools
- shopify_get_shop_infoRead-only
Basic information about the connected Shopify store: name, domain, email, plan, currency, timezone, and country.
- shopify_run_analytics_queryRead-only
Run a ShopifyQL analytics query against the store. Always use FROM...SHOW syntax. Examples: "FROM sales SHOW gross_sales, orders TIMESERIES day SINCE -30d UNTIL today", "FROM sales SHOW gross_sales, orders GROUP BY product_title ORDER BY gross_sales DESC LIMIT 10", "FROM sessions SHOW sessions, conversion_rate TIMESERIES day SINCE -30d UNTIL today".
Customers
1 tool1 read-only · 0 writeShowing 1 of 1 tools
- shopify_list_customersRead-only
List customers from your Shopify store.
More tools
5 tools3 read-only · 2 writeShowing 5 of 5 tools
- shopify_create_discountWrite
Create a price rule and discount code in your Shopify store.
- shopify_graphql_mutationWriteDestructive
Execute a GraphQL mutation against the Shopify Admin API, for writes with no dedicated tool (metafields, metaobjects, pages, blogs, translations, publications, non-live theme files, etc.). Some mutations are always blocked for safety: refunds, gift card writes, staff/collaborator management, and theme deletion/publishing. Theme file writes are allowed only on a non-live theme -- pass themeId as a $themeId variable, never inlined, so it can be checked first. Use shopify_graphql_schema to look up the exact mutation name and input fields before calling.
- shopify_graphql_queryRead-only
Execute a read-only GraphQL query against the Shopify Admin API, for data with no dedicated tool (metafields, metaobjects, pages, blogs, markets, translations, publications, gift cards, etc.). Use shopify_graphql_schema first to look up the correct types and fields. Can only reach whatever this connection's granted scopes already cover.
- shopify_graphql_schemaRead-only
Look up a type, query, or mutation on the Shopify Admin GraphQL schema: its fields, arguments, and (for input types) input fields. Use before shopify_graphql_query/shopify_graphql_mutation to confirm exact names rather than guessing. Pass 'QueryRoot' or 'Mutation' to list everything available.
- shopify_validate_graphqlRead-only
Validate a GraphQL query or mutation against the Shopify Admin schema before executing it with shopify_graphql_query/shopify_graphql_mutation -- catches hallucinated fields, wrong types, and syntax errors early.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Your own credential
You supply your own Shopify key, scoped however you like on their side. It is encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect Shopify in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect Shopify.
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}More in E-commerce
Printify
E-commercePrint-on-demand shops, products, orders and the catalogue behind them.
Amazon Selling Partner API
E-commerceRetail-side analytics for a seller account, read-only by construction.
Google Merchant Center
E-commerceThe Merchant Center questions a basic catalogue sync leaves unanswered.
Put Shopify in front of your assistant
Free plan, no card required. Connect in minutes.