shopify_get_ metafieldsList shop-level metafields.
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.
234 tools in the full catalog: 130 read and 104 write. 35 load by default, and the rest are found with tool search.
shopify_get_ metafieldsList shop-level metafields.
shopify_get_ collection_ productsList products in a collection.
shopify_get_ custom_ collectionsList custom (manual) collections.
shopify_get_ fulfillment_ ordersList fulfillment orders for an order (modern fulfillment flow).
shopify_get_ smart_ collectionsList smart (rule-based) collections.
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, filtered by date (created_at, processed_at, updated_at), status, payment status or fulfillment status: today's or yesterday's orders, last week's orders, open, unpaid or unfulfilled orders.
shopify_update_ orderUpdate an order by ID.
shopify_get_ customerRetrieve a single customer by ID.
shopify_get_ customer_ ordersList orders belonging to a customer.
shopify_get_ customersList customers.
shopify_get_ discount_ codesList discount codes for a price rule.
shopify_get_ price_ rulesList price rules (discounts).
shopify_search_ customersSearch customers with a query string.
shopify_get_ inventory_ levelsList inventory levels.
shopify_get_ locationsList inventory locations.
shopify_set_ inventory_ levelSet the available quantity at a location.
shopify_get_ draft_ ordersList draft orders.
shopify_duplicate_ themeDuplicate a theme (usually the live one) into a new unpublished copy and return the new theme's id.
shopify_get_ theme_ fileRead one theme file.
shopify_get_ themesList the store's themes with id, name, role and updated_at.
shopify_list_ theme_ filesList every file in a theme: key (e.g. sections/header.liquid), size in bytes and updated_at.
shopify_put_ theme_ fileCreate or replace one theme file and return its new checksum and updated_at.
shopify_create_ productCreate a product.
shopify_get_ productRetrieve a single product by ID.
shopify_get_ product_ variantsList variants for a product.
shopify_get_ productsList products.
shopify_get_ variantRetrieve a single variant by ID.
shopify_get_ webhooksList webhook subscriptions.
shopify_update_ productUpdate a product by ID.
shopify_graphql_ queryRun a read-only GraphQL Admin API query.
shopify_get_ shopRetrieve the shop's configuration and account details.
shopify_shopifyql_ queryRun a ShopifyQL query: the language behind Shopify Analytics, so the figures match the Analytics reports exactly (total sales, net sales, returns, orders, sessions, conversion rate, by day, product, channel, country and more).
shopify_count_ metafieldsCount the shop-level metafields.
shopify_create_ article_ metafieldAdd a metafield to a blog article.
shopify_create_ blog_ metafieldAdd a metafield to a blog.
shopify_create_ collection_ metafieldAdd a metafield to a collection.
shopify_create_ customer_ metafieldAdd a metafield to a customer.
shopify_create_ draft_ order_ metafieldAdd a metafield to a draft order.
shopify_create_ metafieldCreate a shop-level metafield.
shopify_create_ order_ metafieldAdd a metafield to an order.
shopify_create_ page_ metafieldAdd a metafield to an online store page.
shopify_create_ product_ metafieldAdd a metafield (a custom namespaced value) to a product.
shopify_create_ variant_ metafieldAdd a metafield to a product variant.
shopify_delete_ metafieldDelete a metafield by ID through the shop-level metafields path.
shopify_get_ article_ metafieldsList the metafields on a blog article.
shopify_get_ blog_ metafieldsList the metafields on a blog.
shopify_get_ collection_ metafieldsList the metafields on a collection.
shopify_get_ customer_ metafieldsList the metafields on a customer.
shopify_get_ draft_ order_ metafieldsList the metafields on a draft order.
shopify_get_ metafieldRetrieve one metafield by ID through the shop-level metafields path, with its namespace, key, type and value.
shopify_get_ order_ metafieldsList the metafields on an order.
shopify_get_ page_ metafieldsList the metafields on an online store page.
shopify_get_ product_ metafieldsList metafields for a product.
shopify_get_ variant_ metafieldsList the metafields on a product variant.
shopify_update_ metafieldChange a metafield's value (and type) through the shop-level metafields path.
shopify_cancel_ fulfillmentCancel a fulfillment.
shopify_cancel_ fulfillment_ orderCancel a fulfillment order.
shopify_close_ fulfillment_ orderMark an in-progress fulfillment order as incomplete.
shopify_count_ collectsCount collects, the links that place products in custom collections, optionally for one product or one collection.
shopify_count_ custom_ collectionsCount custom (manual) collections, optionally only those containing a product or matching a title or publish state.
shopify_count_ order_ fulfillmentsCount the fulfillments on an order.
shopify_count_ smart_ collectionsCount smart (rule-based) collections, optionally only those containing a product or matching a title or publish state.
shopify_create_ collectAdd a product to a custom collection.
shopify_create_ custom_ collectionCreate a custom collection.
shopify_create_ fulfillmentCreate a fulfillment.
shopify_create_ fulfillment_ eventRecord a shipment status update on a fulfillment, for example in_transit.
shopify_create_ smart_ collectionCreate a smart collection whose products are picked automatically by rules, for example every product tagged sale.
shopify_delete_ collectRemove a product from a manual (custom) collection by deleting its collect.
shopify_delete_ custom_ collectionDelete a custom collection.
shopify_delete_ smart_ collectionDelete a smart collection by ID.
shopify_get_ carrier_ servicesList carrier services, the apps that return live shipping rates at checkout.
shopify_get_ collectRetrieve one collect (the link placing a product in a custom collection) by ID.
shopify_get_ collectionRetrieve a single collection by ID whether it is custom or smart; collection_type in the response says which.
shopify_get_ collectsList collects (product↔collection links).
shopify_get_ custom_ collectionRetrieve one custom (manual) collection by ID, with its title, handle, body_html, image, sort_order and publish state.
shopify_get_ fulfillment_ eventsList the shipment status events (for example in_transit) recorded on a fulfillment.
shopify_get_ fulfillment_ orderRetrieve one fulfillment order by ID, with its status, assigned location and line items.
shopify_get_ fulfillment_ order_ fulfillmentsList the fulfillments created from one fulfillment order.
shopify_get_ fulfillment_ order_ locations_ for_ moveList the locations a fulfillment order could move to, each with movable true or false and a message when it cannot.
shopify_get_ fulfillment_ servicesList fulfillment services, the third-party warehouses and apps that fulfill orders, with their names and callback URLs.
shopify_get_ order_ fulfillmentRetrieve one fulfillment on an order by ID.
shopify_get_ order_ fulfillmentsList the fulfillments (shipments) already created for an order, with their status, tracking numbers and line items.
shopify_get_ smart_ collectionRetrieve one smart (rule-based) collection by ID, including its rules, disjunctive flag and sort_order.
shopify_hold_ fulfillment_ orderPut a fulfillment order on hold (status ON_HOLD) so it is not fulfilled, for example while payment or an address is checked.
shopify_move_ fulfillment_ orderMove a fulfillment order, or some of its line items, to another location that stocks the items.
shopify_open_ fulfillment_ orderOpen a scheduled fulfillment order so work can start before its fulfill_at time.
shopify_release_ fulfillment_ order_ holdRelease the holds on a fulfillment order so it can be fulfilled.
shopify_reorder_ collection_ productsMove products to new positions inside a manually sorted collection.
shopify_reschedule_ fulfillment_ orderChange when a scheduled fulfillment order becomes ready.
shopify_set_ smart_ collection_ orderSet how a smart collection sorts its products, or pin chosen products to the top in a given order.
shopify_update_ custom_ collectionUpdate a custom collection.
shopify_update_ fulfillment_ trackingUpdate tracking info on a fulfillment.
shopify_update_ smart_ collectionUpdate a smart collection's title, rules, sort order, image or publish state.
shopify_count_ articlesCount the articles in one blog, optionally by publish state or date.
shopify_count_ blogsCount the online store's blogs.
shopify_count_ pagesCount online store pages, optionally by title, publish state or date.
shopify_create_ articleCreate an article (blog post) in a blog.
shopify_create_ blogCreate a blog to hold articles.
shopify_create_ pageCreate an online store page.
shopify_delete_ articleDelete a blog article.
shopify_delete_ blogDelete a blog.
shopify_delete_ pageDelete an online store page.
shopify_get_ articleRetrieve one blog article by ID, including its body_html, tags and image.
shopify_get_ article_ authorsList the names of every article author in the store.
shopify_get_ article_ tagsList the tags used on articles across all blogs, optionally most popular first.
shopify_get_ articlesList the articles (blog posts) in one blog, with their title, author, tags, body_html and publish state.
shopify_get_ blogRetrieve one blog by ID.
shopify_get_ blogsList the online store's blogs, the containers that hold articles, with their title, handle and comment policy.
shopify_get_ pageRetrieve one online store page by ID, including its full body_html.
shopify_get_ pagesList the online store's static pages (such as About or Contact) with their title, handle, body_html and publish state.
shopify_update_ articleUpdate a blog article's title, content, author, tags, image or publish state.
shopify_update_ blogUpdate a blog's title, handle or comment policy.
shopify_update_ pageUpdate an online store page's title, content, handle, author or publish state.
shopify_calculate_ order_ refundWork out the refund transactions for a planned refund without changing anything.
shopify_cancel_ orderCancel an order.
shopify_close_ orderClose an order.
shopify_count_ order_ transactionsCount the payment transactions on an order.
shopify_count_ ordersCount orders matching optional filters.
shopify_create_ order_ refundCreate a refund for an order.
shopify_create_ order_ transactionCapture or void a payment on an order: kind capture takes money that was authorized, kind void cancels a pending authorization.
shopify_delete_ orderDelete an order by ID.
shopify_get_ order_ refundRetrieve one refund on an order, with its refunded line items and transactions.
shopify_get_ order_ refundsList refunds for an order.
shopify_get_ order_ transactionRetrieve one payment transaction on an order, with its kind, status, amount and gateway.
shopify_get_ tender_ transactionsList tender transactions: money that moved between the store and its customers on orders, across every payment method (positive amounts are payments, negative are refunds).
shopify_open_ orderRe-open a closed order.
shopify_count_ customersCount customers, optionally only those created or updated within a date range.
shopify_count_ discount_ codesCount discount codes across all price rules, optionally by how many times they were used.
shopify_count_ price_ rulesCount the store's price rules.
shopify_create_ customerCreate a customer.
shopify_create_ customer_ account_ activation_ urlGenerate an one-time account activation URL for a customer whose account is not yet enabled.
shopify_create_ customer_ addressAdd a new address to a customer.
shopify_create_ discount_ codeCreate a discount code for a price rule.
shopify_create_ discount_ code_ batchQueue a job that creates up to 100 discount codes on a price rule at once.
shopify_create_ price_ ruleCreate a price rule.
shopify_delete_ customerDelete a customer by ID.
shopify_delete_ customer_ addressRemove an address from a customer.
shopify_delete_ discount_ codeDelete one discount code from a price rule.
shopify_delete_ price_ ruleDelete a price rule.
shopify_get_ customer_ addressRetrieve one of a customer's addresses by ID.
shopify_get_ customer_ addressesList a customer's saved addresses, including which one is the default.
shopify_get_ discount_ codeRetrieve one discount code of a price rule by ID, with its code text and usage_count.
shopify_get_ discount_ code_ batchCheck a discount code creation job: its status is queued, running or completed.
shopify_get_ discount_ code_ batch_ codesList the codes from a discount code creation job.
shopify_get_ price_ ruleRetrieve one price rule, the discount logic behind discount codes, by ID.
shopify_lookup_ discount_ codeFind a discount code by the text customers type and return it with its id and price_rule_id.
shopify_send_ customer_ inviteEmail a customer an invitation to activate their store account, optionally with a custom subject and message.
shopify_set_ default_ customer_ addressMake one of a customer's existing addresses their default address.
shopify_update_ customerUpdate a customer by ID.
shopify_update_ customer_ addressUpdate one of a customer's addresses.
shopify_update_ discount_ codeChange the text of an existing discount code.
shopify_update_ price_ ruleUpdate a price rule.
shopify_adjust_ inventory_ levelAdjust available quantity by a delta.
shopify_connect_ inventory_ levelStart stocking an inventory item at a location, creating its inventory level with available set to 0.
shopify_count_ locationsCount the store's locations.
shopify_delete_ inventory_ levelStop stocking an inventory item at a location by deleting its inventory level.
shopify_get_ inventory_ itemRetrieve one inventory item by ID: its SKU, unit cost and whether inventory is tracked.
shopify_get_ inventory_ itemsList inventory items.
shopify_get_ locationRetrieve a single location.
shopify_get_ location_ inventory_ levelsList the inventory levels stocked at one location: one row per inventory item with its available quantity.
shopify_update_ inventory_ itemUpdate an inventory item (e.g. cost, tracked).
shopify_complete_ draft_ orderComplete a draft order, converting it to an order.
shopify_count_ draft_ ordersCount draft orders, optionally by status or last-updated date.
shopify_create_ draft_ orderCreate a draft order.
shopify_delete_ draft_ orderDelete a draft order.
shopify_get_ draft_ orderRetrieve a draft order by ID.
shopify_send_ draft_ order_ invoiceEmail a draft order's invoice to the customer so they can review and pay it.
shopify_update_ draft_ orderUpdate a draft order.
shopify_count_ countriesCount the countries the store has set up.
shopify_count_ gift_ cardsCount gift cards, optionally only enabled or only disabled ones.
shopify_create_ gift_ cardIssue a gift card with an initial value, optionally with a custom code or assigned to a customer; afterwards Shopify only ever returns the code's last four characters.
shopify_delete_ theme_ fileDelete one theme file.
shopify_disable_ gift_ cardPermanently disable a gift card so it can no longer be redeemed; it cannot be re-enabled, and gift cards cannot be deleted.
shopify_get_ countriesList the countries the store has set up for shipping, with their codes and provinces.
shopify_get_ countryRetrieve one of the store's countries by ID, with its provinces.
shopify_get_ currenciesList the currencies enabled for selling on the store, with when each conversion rate was last updated.
shopify_get_ gift_ cardRetrieve one gift card by ID, with its balance and last four code characters.
shopify_get_ gift_ cardsList gift cards with their balance, initial value, expiry and last four code characters.
shopify_get_ policiesList the store's legal policies (such as refund, privacy and terms of service) with their title, body and public URL.
shopify_get_ provincesList the provinces or states of one of the store's countries, with their codes.
shopify_get_ shipping_ zonesList shipping zones with their countries, provinces, weight-based rates and carrier rate providers.
shopify_get_ themeRetrieve one theme: name, role (main is live), whether it is still processing, and when it changed.
shopify_search_ gift_ cardsSearch gift cards by fields such as last_characters, email or balance.
shopify_update_ gift_ cardChange a gift card's expiry date, internal note or template suffix, the only fields editable after creation.
shopify_count_ marketing_ eventsCount marketing events.
shopify_count_ product_ imagesCount a product's images.
shopify_count_ product_ variantsCount a product's variants.
shopify_count_ productsCount products matching optional filters.
shopify_count_ redirectsCount URL redirects, optionally for one path or target.
shopify_count_ script_ tagsCount script tags, optionally for one src URL.
shopify_count_ webhooksCount webhook subscriptions, optionally for one topic or delivery address.
shopify_create_ marketing_ eventReport a marketing campaign or ad to Shopify so its traffic and sales are attributed to it.
shopify_create_ product_ imageAdd an image to a product from a public URL or base64 data (.png, .gif or .jpg, at most 250 per product).
shopify_create_ redirectCreate a URL redirect so visits to an old path land on a new page or external URL, for example after a product's handle changes.
shopify_create_ script_ tagLoad a remote script on the online store's pages.
shopify_create_ variantCreate a variant on a product.
shopify_create_ webhookCreate a webhook subscription.
shopify_delete_ marketing_ eventDelete a marketing event.
shopify_delete_ productDelete a product by ID.
shopify_delete_ product_ imageRemove an image from a product.
shopify_delete_ redirectDelete a URL redirect.
shopify_delete_ script_ tagDelete a script tag so its script stops loading on the store.
shopify_delete_ variantDelete a variant from a product.
shopify_delete_ webhookDelete a webhook subscription.
shopify_get_ balance_ transactionsList Shopify Payments balance transactions (charges, refunds, disputes, adjustments, payouts) with amount, fee and net, most recent first.
shopify_get_ disputeRetrieve one Shopify Payments dispute by ID, with its reason, amount, status and evidence due date.
shopify_get_ disputesList Shopify Payments disputes (chargebacks and inquiries), most recently initiated first.
shopify_get_ marketing_ eventRetrieve one marketing event by ID.
shopify_get_ marketing_ eventsList marketing events, the campaigns and ads that apps have reported to Shopify for attribution.
shopify_get_ payments_ balanceGet the current Shopify Payments balance per currency: money collected but not yet paid out.
shopify_get_ payoutRetrieve one Shopify Payments payout by ID, with its amount, status and summary.
shopify_get_ payoutsList Shopify Payments payouts to the merchant's bank account, most recent first, with amount, status and a fee and gross summary.
shopify_get_ product_ imageRetrieve one product image by ID, with its src URL, alt text, position and linked variant_ids.
shopify_get_ product_ imagesList a product's images with their src URLs, alt text, positions and linked variant_ids.
shopify_get_ redirectRetrieve one URL redirect by ID.
shopify_get_ redirectsList URL redirects, each sending an old path on the online store to a new target.
shopify_get_ script_ tagRetrieve one script tag by ID.
shopify_get_ script_ tagsList script tags, the remote JavaScript files loaded on the online store's pages.
shopify_get_ webhookRetrieve a webhook subscription by ID.
shopify_update_ marketing_ eventUpdate a marketing event's timestamps, remote_id or budget, the fields Shopify allows to change.
shopify_update_ product_ imageChange a product image's position, alt text or linked variants.
shopify_update_ redirectChange a URL redirect's path or target.
shopify_update_ script_ tagChange the script URL a script tag loads.
shopify_update_ variantUpdate a variant by ID.
shopify_update_ webhookUpdate a webhook subscription.
shopify_count_ eventsCount store events, optionally within a date range.
shopify_get_ eventRetrieve one store event by ID.
shopify_get_ eventsList store events, the activity log of things like a product being created or an order being confirmed.
shopify_get_ order_ eventsList the events (activity log) for one order, such as its confirmation, payments and fulfillment.
shopify_graphql_ mutationRun one GraphQL Admin API mutation, for writes REST does not offer (metaobjects, markets, translations, bulk operations, discount automations).
shopify_get_ abandoned_ checkoutsList abandoned checkouts with the shopper's contact details, cart line items and abandoned_checkout_url recovery link.
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...••••••••••••3f7aRefunds, cancellations and inventory resets run the moment the AI calls them. Tick Shopify on the PopMCP consent screen only for clients that should manage the store, and keep reporting teammates on read-only. Tools beyond the default set stay searchable.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Shopify credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
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 Customize → 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, and the agent pulls one in when it needs it. 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. Those move money and change what the customer sees as soon as the AI calls them, so tick Shopify on the consent screen only for clients that should make them, and keep reporting teammates on read-only.
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, Claude Code, 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.
Connect Shopify in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Shopify on the consent screen. The Shopify tools are then available in that session, and no Shopify credential is stored on your machine.
Loading 234 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 35-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 234 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.