
Shopify MCP server
Which MCP servers are Shopify's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-29
- Addresshttps://mcp.shopify.com/mcpnot in the official registry: answered when asked
No entry in the official MCP registry names this server. It answered on shopify.com when the Atlas asked at the address servers are usually mounted on, so it is the vendor's own. Clients and catalogues that list servers from the registry do not show it.
- Stateanswerschecked 2026-10-29
- Tools37
- Server calls itselfshopify-mcp-server
- Server version1.0.0
- Protocol version2025-06-18
On 2026-10-29 the server answered initialize and tools/list without a sign-in. First answer in 165 ms.
- Whether its tools do the product's job has not been judged yet.
- Checked on 6 of the 7 days it takes to judge reliability.
Once connected
- create-product, update-product, set-inventory, create-discount, add-to-collection change data without a sign-in: anyone with the address can call them.
- Its definitions take about 18064 tokens of context: enable only the tools a task needs.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 6 so far
- Answeredmeasuring6 of the 7 daily checks it takes to print a share
- Median first answer171 ms
- Space in an agent's context≈ 18,064 tokensthe definitions of all its tools (37), which an agent carries on every turn
- Tool definitionsA · 100 of 100
- Typed results29 of 37 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 1 of 37
What an agent can do with it
- not sure · Build an online store without coding
- not sure · Sell products on social, marketplaces and in person
- not sure · Manage orders, inventory and shipping from one dashboard
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that change data, on a server that answers without a sign-in: create-product, update-product, set-inventory, create-discount, add-to-collection
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
find-mock-shop-catalogsFind ready-made sample catalogs (from mock.shop) that fit the merchant's business, so they can pick one to seed their store with realistic products and collections instead of starting empty. WHEN TO USE: - The merchant has a new or empty…
import-mock-shop-catalogCopy a mock.shop sample catalog's starter set — its first 2 collections and up to 8 products from each (with variants, prices, images), so at most 16 products — into the merchant's connected store, publishing everything to the Online…
open-digital-products-installGet a Shopify Admin install link for Digital Products on the authenticated store. Use this only after the merchant has explicitly asked to install or prepare Digital Products for their store. The app identity is fixed by Shopify; this…
get-digital-products-install-statusReport whether the Digital Products app is installed on the authenticated store. Call this once after the merchant says they have finished the Shopify Admin install flow that open-digital-products-install handed them. Do not poll it.
generate-domain-namesSuggest available domain names for a Shopify store. Every domain returned has been checked against the domain registry and was available at the time of the call. WHEN TO USE: - The user wants a domain for a business or store name. - The…
generate-business-namesGenerate business name ideas for someone starting a Shopify store. WHEN TO USE: - The user wants name ideas for a new business or store. - The user has described a business but has not named it yet. - The user has a name and wants…
search_productsSearch and browse products on a Shopify store. MUST be called whenever the user wants to see, find, or look at products in their store. Trigger phrases include: 'show me my products', 'what products do I have', 'list my products', 'browse…
get-shop-infoRetrieve basic information about the connected Shopify store including name, domain, email, plan, currency, timezone, and country. Use this when you need store context to tailor advice (e.g. plan limitations, currency for pricing…
get-productRetrieve detailed information about a specific Shopify product by its GID, including title, status, vendor, variants, images, tags, and inventory. MUST be called whenever the user refers to a product they own or previously created…
create-productCreate a new product in the connected Shopify store. If create-product-interactive is available, prefer it over create-product. Use this when the user wants to add a product with a title, description, variants, images, or other product…
update-productUpdate an existing product's title, description, status, images, variant pricing, or variant option values (e.g. color, size names). Use this when the user wants to modify, change, or edit product details — including status, variant…
list-ordersRetrieve recent orders from the connected Shopify store. Returns order name, customer, totals, financial and fulfillment status. Use this when the user asks about their orders, wants an overview of recent sales, or needs to find a…
get-orderRetrieve detailed information about a specific Shopify order including line items, fulfillment status, shipping address, and tracking. Use this when the user asks about a particular order's details or status.
list-customersRetrieve a list of customers from the connected Shopify store, including name, email, phone, order count, and total spent. Use this when the user asks about their customers, wants to look up a specific customer, or needs customer data for…
get-inventory-levelsRetrieve inventory levels for all variants of a product across locations. Use this when the user asks about stock quantities, inventory availability, or wants to see how much inventory is at each location for a given product.
set-inventorySet the available inventory quantity for a specific inventory item at a given location. Always call get-inventory-levels first to get the inventoryItemId, locationId, and current available quantity. Pass the current quantity as…
create-discountCreate a percentage-based discount code for the connected Shopify store. Use this when the merchant wants to set up a new discount code with a specific percentage off — including one limited to particular products or to a collection…
add-to-collectionAdd one or more products to a collection in the connected Shopify store. Use this when the user wants to organize products into a collection. Find the collection's GID with search_collections first.
run-analytics-queryRun a ShopifyQL analytics query. Returns tabular results with automatic chart visualization. IMPORTANT: Always use FROM...SHOW syntax. Use TIMESERIES for time charts, GROUP BY for categories. ## Sales & Revenue - FROM sales SHOW…
bulk-update-product-statusUpdate the status of multiple products at once. Accepts a list of product IDs or a collectionId and a target status (ACTIVE, DRAFT, or ARCHIVED). Each product is updated individually so partial failures are possible. When using…
search_collectionsSearch and browse collections on a Shopify store. Use this whenever the user wants to see, find, or look at collections in their store. Trigger phrases include: 'show me my collections', 'what collections do I have', 'list my…
get-collectionRetrieve detailed information about a specific Shopify collection by its GID, including title, description, image, products, and rules (for smart collections). MUST be called whenever the user refers to a collection they own or previously…
create-collectionCreate a new collection in the connected Shopify store and publish it to the Online Store. Use this when the user wants to organize products into a new group. COLLECTION TYPES: - Manual collection: pass `productIds` to add specific…
update-collectionUpdate an existing collection's title, description, image, sort order, or rules. Use this when the user wants to modify, change, or edit collection details. Trigger phrases include: "update my collection", "change the collection", "edit…
switch-shopSwitch to a different Shopify store. Call this tool whenever the user wants to work with a different store — including when they ask to fetch data, manage products, or perform any action on another shop. Revokes the current store's access…
graphql_schemaDiscover queries, mutations, and named types in the Shopify Admin GraphQL schema. This tool only inspects the schema; it never executes an operation. Every call needs operation or type_name; a call with neither is rejected. Set operation…
graphql_queryExecute a read-only GraphQL query against the Shopify Admin API when no dedicated built-in tool covers the request. Raw schema introspection (__schema / __type) is not allowed through this tool. Use graphql_schema with operation 'query'…
graphql_mutationExecute a GraphQL mutation against the Shopify Admin API when no dedicated built-in tool covers the request. Before execution, call graphql_schema with operation 'mutation' to discover the exact mutation field and its arguments. Then use…
upload-digital-product-fileGive the merchant a Shopify Admin link for attaching the downloadable file to a digital product they have already created. Call this after create-digital-product, passing back the product and variant identifiers it returned. This host…
create-digital-productCreate a draft product through Shopify Digital Products. The result includes the product and first variant identifiers used to attach and deliver the digital file. To set the price and the buyer-facing description, call update-product…
publish-digital-productTake a draft digital product live through Shopify Digital Products, so buyers can purchase and download it. Activates the product and requests its Online Store listing. Refuses to publish a product with nothing attached, so attach the…
upload-digital-product-mediaGive the merchant a Shopify Admin link for adding a media image to a digital product they have already created. Ask the merchant whether they want a media image first, and only call this if they say yes. A digital product sells perfectly…
get-digital-productShow the merchant a card for a digital product: its media image, title, price, status, and what the buyer receives. Call this after each step of the digital product flow — after the price is set, after the file is attached, after the…
create-digital-product-from-linkCreate a draft digital product that delivers an external link to the buyer — a Notion template, an online course, a booking page. Use this instead of create-digital-product when the merchant is selling access to something that already…
test-digital-products-connectionVerify that the connected store can exchange its Admin token and reach the Digital Products connector. This read-only check returns no credentials or connector data.
validate_graphql_codeblocksCompatibility no-op for clients that still call this tool. It always returns success and does not validate GraphQL syntax or schema. For Admin GraphQL, graphql_query and graphql_mutation validate operations against setup-mcp's pinned…
search_docs_chunksThis tool will take in the user prompt, search shopify.dev, and return relevant documentation and code examples that will help answer the user's question.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"shopify": {
"type": "http",
"url": "https://mcp.shopify.com/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http shopify https://mcp.shopify.com/mcpclaude.ai, ChatGPT and other clients: add https://mcp.shopify.com/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.