shopify_create_ orderCreate an order.
Pull orders, refunds and transactions, set stock levels at a location, edit products and collections, and react to new orders, cancellations and customer updates as they happen.
PopMCPShopify
Every read, write and webhook trigger this connection exposes, from order lookups to inventory updates — search the grid to see what your agent can call.
shopify_create_ orderCreate an order.
shopify_get_ orderRetrieve a single order by ID.
shopify_get_ order_ transactionsList transactions for an order.
shopify_get_ ordersList orders.
shopify_update_ orderUpdate an order by ID.
shopify_get_ collection_ productsList products in a collection.
shopify_get_ custom_ collectionsList custom (manual) collections.
shopify_get_ smart_ collectionsList smart (rule-based) collections.
shopify_get_ customerRetrieve a single customer by ID.
shopify_get_ customer_ ordersList orders belonging to a customer.
shopify_get_ customersList customers.
shopify_get_ inventory_ levelsList inventory levels.
shopify_get_ locationsList inventory locations.
shopify_search_ customersSearch customers with a query string.
shopify_set_ inventory_ levelSet the available quantity at a location.
shopify_create_ productCreate a product.
shopify_get_ discount_ codesList discount codes for a price rule.
shopify_get_ draft_ ordersList draft orders.
shopify_get_ price_ rulesList price rules (discounts).
shopify_get_ productRetrieve a single product by ID.
shopify_get_ productsList products.
shopify_update_ productUpdate a product by ID.
shopify_get_ product_ variantsList variants for a product.
shopify_get_ variantRetrieve a single variant by ID.
shopify_get_ webhooksList webhook subscriptions.
shopify_get_ fulfillment_ ordersList fulfillment orders for an order (modern fulfillment flow).
shopify_get_ metafieldsList shop-level metafields.
shopify_get_ shopRetrieve the shop's configuration and account details.
shopify_cancel_ orderCancel an order.
shopify_close_ orderClose an order.
shopify_count_ ordersCount orders matching optional filters.
shopify_create_ order_ refundCreate a refund for an order.
shopify_delete_ orderDelete an order by ID.
shopify_get_ order_ refundsList refunds for an order.
shopify_open_ orderRe-open a closed order.
shopify_create_ collectAdd a product to a custom collection.
shopify_create_ custom_ collectionCreate a custom collection.
shopify_delete_ custom_ collectionDelete a custom collection.
shopify_get_ collectsList collects (product↔collection links).
shopify_update_ custom_ collectionUpdate a custom collection.
shopify_adjust_ inventory_ levelAdjust available quantity by a delta.
shopify_create_ customerCreate a customer.
shopify_delete_ customerDelete a customer by ID.
shopify_get_ inventory_ itemsList inventory items.
shopify_get_ locationRetrieve a single location.
shopify_update_ customerUpdate a customer by ID.
shopify_update_ inventory_ itemUpdate an inventory item (e.g.
shopify_complete_ draft_ orderComplete a draft order, converting it to an order.
shopify_count_ productsCount products matching optional filters.
shopify_create_ discount_ codeCreate a discount code for a price rule.
shopify_create_ draft_ orderCreate a draft order.
shopify_create_ price_ ruleCreate a price rule.
shopify_delete_ draft_ orderDelete a draft order.
shopify_delete_ price_ ruleDelete a price rule.
shopify_delete_ productDelete a product by ID.
shopify_get_ draft_ orderRetrieve a draft order by ID.
shopify_update_ draft_ orderUpdate a draft order.
shopify_update_ price_ ruleUpdate a price rule.
shopify_create_ variantCreate a variant on a product.
shopify_create_ webhookCreate a webhook subscription.
shopify_delete_ variantDelete a variant from a product.
shopify_delete_ webhookDelete a webhook subscription.
shopify_get_ webhookRetrieve a webhook subscription by ID.
shopify_update_ variantUpdate a variant by ID.
shopify_update_ webhookUpdate a webhook subscription.
shopify_cancel_ fulfillmentCancel a fulfillment.
shopify_create_ fulfillmentCreate a fulfillment.
shopify_update_ fulfillment_ trackingUpdate tracking info on a fulfillment.
shopify_create_ metafieldCreate a shop-level metafield.
shopify_get_ product_ metafieldsList metafields for a product.
Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Shopify side.
Create an app in your Shopify Dev Dashboard, paste both URLs into its URL settings, then enter Store domain, Client ID and Client secret and approve. Tokens refresh server-side; each store is its own connection.
your-store.myshopify.come.g. 7f3c1e2b9a...••••••••••••3f7aSet the connection to read-only for reporting, or full access with approval required on writes so refunds, cancellations and inventory resets wait for a human. Full catalog adds the tools beyond the default set.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Shopify credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
How many orders came in last week and which ones are still unfulfilled
shopify_count_ordersok
Then just ask for the work
“How many orders came in last week and which ones are still unfulfilled”
“Set the Sydney warehouse stock to 40 for every variant of the merino tee”
“Create a product for the new canvas tote and add it to the Gifts collection”
“Find Priya's account and total what she has spent since March, refunds included”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Shopify behind an AI client.
No. You create an app in your Shopify Dev Dashboard, put the two URLs PopMCP shows into its URL settings, then supply Store domain, Client ID and Client secret and approve the authorization on your store. Access tokens are issued and refreshed server-side, so there is nothing to rotate by hand in your AI client.
One custom app covers several stores only when they sit in the same Shopify Plus organization. Otherwise each store needs its own app. Either way each store is its own connection, because Shopify runs consent on the store's own domain — this is the step most people expect to skip and cannot.
The connection covers 70 operations across 12 API modules, 32 read and 38 write. 28 load by default so your client's tool list stays workable, and the rest are searchable — the agent pulls one in when it needs it, or you can switch on the full catalog. The biggest modules are Orders, Collections, Customers, Inventory and Products.
Yes. Order writes include cancel_order, close_order, open_order, create_order_refund and delete_order, alongside create_order and update_order. Because those move money and change what the customer sees, keep the connection read-only for reporting work, or leave approval-required-for-writes on so each one is confirmed before it runs.
There are 24 webhook triggers. They cover the order lifecycle — created, paid, updated, cancelled, fulfilled, partially fulfilled, refund issued and payment recorded on an order — plus checkout started, checkout updated, cart created, customer created, customer updated and product created. get_webhooks shows the subscriptions already sitting on the store.
Shopify holds quantities per location, so a stock change is two steps: get_locations to identify the warehouse or shop floor, then set_inventory_level to set the available quantity there. get_inventory_levels reads what is on hand right now. Name the location in your prompt, or the agent has to look it up before it can write anything.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 70 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 28-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 70 here. A trigger is something PopMCP watches for you: 24 Shopify events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Shopify.
Launch a hosted MCP endpoint for Shopify, keep tool access under control, and start testing real workflow prompts right away.