---
title: "Shopify Admin MCP server for AI agents - actionlake"
description: "Give Claude 377 Shopify Admin actions through one MCP server: metafields, orders, products. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/shopify-admin
updated: 2026-10-10
---

Connectors · Commerce

# Shopify Admin MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Shopify Admin and the rest of your systems. It gives your agent 377 Shopify Admin actions (195 reads, 128 writes and 54 that wait for a confirmation) and holds the Shopify Admin credential itself, so the agent never does. It paces Shopify Admin's limits and records every call.

[Connect Shopify Admin free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "shopify_admin.products.list",
  intent: "check which Shopify Admin account is connected"
}
# List products · read · 1 upstream call
```

- 377 actions in one signed file
- 195 read look, never change
- 128 write create and update
- 54 wait for a yes destructive, confirmed first

Set up

## Connect Shopify Admin in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Shopify Admin.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Shopify Admin API access token
   - `shop_domain` Where your Shopify Admin lives: your shop domain
   ```
   account { op: "connections.requirements", service: "shopify_admin" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "shopify_admin.products.list" }
   # list products · read · 1 upstream call
   check { action: "shopify_admin.products.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Shopify Admin at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Setup fields**

`shop_domain`

**Limits we pace to**

40 calls per 20 seconds, per connection

**API covered**

Shopify Admin API 2025-10, at your Shopify Admin instance's API base URL, which you enter when connecting (path /admin/api/2025-10)

**Built from**

Shopify Admin's documentation, read 15 September 2026[shopify.dev](https://shopify.dev/docs/api/admin-rest/2025-10)

**Service file**

Version 2.0.0, signed (Ed25519)

**Cached reads**

194 of 195 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

9 in the store

**Shared entities**

8, so ask can line Shopify Admin up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Shopify Admin.

377 actions in 15 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **195** read look, never change
- **128** write create and update
- **54** destructive wait for a confirmation

1. ### Metafields
   66
   33 read · 22 write · 11 destructive
   List article metafields · List blog metafields · List collection metafields · List customer metafields
2. ### Orders
   63
   26 read · 28 write · 9 destructive
   List orders · Create an order · Get one order · List locations a fulfillment order can move to
3. ### Products
   53
   29 read · 16 write · 8 destructive
   List products · List published product listings · List published product ids · Create a product
4. ### Content
   52
   25 read · 20 write · 7 destructive
   List a theme's assets · Get one theme asset · Delete a theme asset · Create or update a theme asset
5. ### Account
   26
   16 read · 6 write · 4 destructive
   Get the shop · List users · Get one user · List countrys
6. ### Customers
   24
   11 read · 10 write · 3 destructive
   List customers · List a customer's orders · List a saved search's customers · Create a customer
7. ### Discounts
   16
   9 read · 5 write · 2 destructive
   Create a batch of discount codes · List a discount code batch's codes · Create a discount code · List discount codes
8. ### Payments
   15
   11 read · 3 write · 1 destructive
   List tender transactions · List Shopify Payments payouts · List an order's transactions · Create a transaction

**7 more areas · 62 actions**

- Billing **14**
- Inventory **12**
- Events **11**
- Giftcards **7**
- Marketing **7**
- Shipping **6**
- Reports **5**

Shopify's own MCP server

## Shopify's MCP server, or actionlake?

Shopify's Dev MCP server runs on your own machine and connects an AI tool to Shopify's developer documentation and API schemas, not to your store's admin data.

It does not reach your Shopify Admin data. actionlake does: the 377 actions on this page, behind the same endpoint as your other systems.

Source: [Shopify's documentation](https://shopify.dev/docs/apps/build/devmcp), checked 22 October 2026.

Top actions

## The Shopify Admin API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 203 of Shopify Admin's 242 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `shopify_admin.products.list` List products | List the shop's products. | read | `commerce.product.list` 112 connectors |
| `shopify_admin.orders.list` List orders | List the shop's orders. | read | `commerce.order.list` 82 connectors |
| `shopify_admin.customers.list` List customers | List the shop's customers. | read | `commerce.customer.list` 45 connectors |
| `shopify_admin.locations.list` List locations | List the shop's stocking and retail locations. | read | `commerce.warehouse.list` 32 connectors |
| `shopify_admin.tender_transactions.list` List tender transactions | List every payment tendered to the shop, across all gateways. | read | `finance.payment.list` 75 connectors |
| `shopify_admin.product_listings.list` List published product listings | List the products published to this sales-channel app. | read | `commerce.product.list` 112 connectors |
| `shopify_admin.products.create` Create a product | Create a new product. | write | `commerce.product.create` 92 connectors |
| `shopify_admin.customers.orders` List a customer's orders | List every order placed by one customer. | read | `commerce.order.list` 82 connectors |
| `shopify_admin.orders.create` Create an order | Create a new order. | write | `commerce.order.create` 67 connectors |
| `shopify_admin.shop.get` Get the shop | Fetch the shop's own record: name, domain, currency, plan and timezone. | read | `commerce.store.get` 20 connectors |
| `shopify_admin.customers.create` Create a customer | Create a new customer. | write | `commerce.customer.create` 43 connectors |
| `shopify_admin.products.delete` Delete a product | Permanently delete a product. | destructive | `commerce.product.delete` 80 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Shopify Admin actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Shopify Admin orders from the last seven days are still unfulfilled?
   calls `shopify_admin.orders.list`
2. Plan write
   Create a win-back discount code for abandoned checkouts in Shopify Admin. Ask me before anything is sent or changed.
   calls `shopify_admin.checkouts.abandoned_count` `shopify_admin.price_rules.list` `shopify_admin.discount_codes.list` `shopify_admin.discount_codes.create` `shopify_admin.discount_codes.batch_create` +1 more
3. Plan write
   Create a product, add a variant and file it in a collection in Shopify Admin.
   calls `shopify_admin.products.create` `shopify_admin.product_variants.create` `shopify_admin.collects.create` `shopify_admin.metafields_product.count` `shopify_admin.products.get` +1 more
4. Write write
   Create a product in Shopify Admin. Show me exactly what you will send before you save it.
   calls `shopify_admin.products.create`

The plan store

## Ready-made plans for Shopify Admin.

9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Flag suspicious new orders with a risk record
   Use it when A fraud rule or manual review has identified recent orders that should carry a visible risk flag in Shopify.
   **Effect**
   write
   **Steps**
   3 · loops
   **Needs**
   created after, message and recommendation
   **Install**
   `shopify_admin-flag-risky-orders-for-review`
2. ### Place assigned fulfillment orders on hold and reschedule them
   Use it when Stock has run short or a supplier has slipped and open fulfillment orders must be paused and re-promised.
   A person decides Hold every assigned fulfillment order for reason _reason_ and re-promise them for _new fulfill at_.
   **Effect**
   write
   **Steps**
   4 · loops
   **Needs**
   deadline, fulfillment order ids, new fulfill at, reason and reason notes
   **Install**
   `shopify_admin-hold-fulfillment-orders-for-stock`
3. ### Adjust inventory for a product's variants at one location
   Use it when A delivery has landed and a product's variants need their available counts raised at a specific location.
   A person decides Adjust every variant of _title_ by _adjustment_ units at _name_.
   **Effect**
   write
   **Steps**
   4 · loops
   **Needs**
   adjustment, location id and product id
   **Install**
   `shopify_admin-restock-low-inventory-at-location`
4. ### Build a draft order for a customer and email the invoice
   Use it when Sales has agreed a quote with a named customer and wants it raised as a Shopify draft order and invoiced.
   A person decides Email invoice for draft order _name_ totalling _total price_ to _email_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   customer id, line items and subject
   **Install**
   `shopify_admin-draft-order-to-invoice`
5. ### Register a marketing campaign and post its engagement data
   Use it when A paid campaign has finished a reporting period and its spend and engagement need recording in Shopify.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   budget, currency, ended at, engagements, event type, marketing channel and started at
   **Install**
   `shopify_admin-marketing-event-with-engagements`
6. ### Assemble and submit chargeback dispute evidence
   Use it when A Shopify payments chargeback needs its evidence pack filed before the deadline.
   A person decides Submit the evidence pack for dispute _dispute id_ — it cannot be changed after submission.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   activity log, customer email, dispute id, file content, file name, file type, narrative and refund policy
   **Install**
   `shopify_admin-dispute-evidence-submission`
7. ### Create a product, add a variant and file it in a collection
   Use it when A new product needs creating end to end and filing into an existing collection before launch.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   title, body html, vendor, price, sku and collection id
   **Install**
   `shopify_admin-publish-product-and-collect`
8. ### Create a win-back discount code for abandoned checkouts
   Use it when Marketing wants a discount code created to chase abandoned checkouts and needs the volume justified first.
   A person decides Create win-back discount code _code_ covering _count_ abandoned checkouts.
   **Effect**
   write
   **Steps**
   7
   **Needs**
   code, extra codes and price rule id
   **Install**
   `shopify_admin-abandoned-checkout-winback-discount`
9. ### Calculate, approve and issue an order refund
   Use it when A customer is owed money back on a specific Shopify order and finance wants sign-off before it is issued.
   A person decides Refund order _order id_ for the calculated amount _amount_ _currency_.
   **Effect**
   destructive
   **Steps**
   5
   **Needs**
   currency, order id, reason and refund line items
   **Install**
   `shopify_admin-refund-an-order-with-approval`

install a plan

```
account { op: "plans.install", slug: "shopify_admin-flag-risky-orders-for-review" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Shopify Admin

## Destructive actions wait for a yes.

54 Shopify Admin actions are destructive. The first 10:

- Delete a product `shopify_admin.products.delete`
- Create an application charge `shopify_admin.application_charges.create`
- Delete an order `shopify_admin.orders.delete`
- Delete a customer `shopify_admin.customers.delete`
- Cancel an order `shopify_admin.orders.cancel`
- Delete a theme asset `shopify_admin.assets.delete`
- Create a recurring application charge `shopify_admin.recurring_application_charges.create`
- Delete a price rule `shopify_admin.price_rules.delete`
- Delete a discount code `shopify_admin.discount_codes.delete`
- Create a refund `shopify_admin.refunds.create`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do shopify_admin.products.delete confirm_policy: **human**

Delete a product?

**intent:** the user asked me to delete a product

run suspended · waiting for a named person · key _shopify-admin-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "shopify-admin-agent",
  allowed_actions: ["shopify_admin.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "shopify_admin.products.delete", approver: "lead@example.com" },
    { match: "shopify_admin.application_charges.create", approver: "lead@example.com" },
    { match: "shopify_admin.orders.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Shopify Admin only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Shopify Admin costs on actionlake.

Every Shopify Admin action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Shopify Admin refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 377 Shopify Admin actions
- 89 actions page each page of a long list is one call
- 194 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Shopify Admin action.

377 actions by area: the id your agent calls, what it does, and its effect.

**Metafields 66**

- `shopify_admin.metafields_article.count` Count article metafields read
- `shopify_admin.metafields_article.create` Create an article metafield write
- `shopify_admin.metafields_article.delete` Delete an article metafield destructive
- `shopify_admin.metafields_article.get` Get one article metafield read
- `shopify_admin.metafields_article.list` List article metafields read
- `shopify_admin.metafields_article.update` Update an article metafield write
- `shopify_admin.metafields_blog.count` Count blog metafields read
- `shopify_admin.metafields_blog.create` Create a blog metafield write
- `shopify_admin.metafields_blog.delete` Delete a blog metafield destructive
- `shopify_admin.metafields_blog.get` Get one blog metafield read
- `shopify_admin.metafields_blog.list` List blog metafields read
- `shopify_admin.metafields_blog.update` Update a blog metafield write
- `shopify_admin.metafields_collection.count` Count collection metafields read
- `shopify_admin.metafields_collection.create` Create a collection metafield write
- `shopify_admin.metafields_collection.delete` Delete a collection metafield destructive
- `shopify_admin.metafields_collection.get` Get one collection metafield read
- `shopify_admin.metafields_collection.list` List collection metafields read
- `shopify_admin.metafields_collection.update` Update a collection metafield write
- `shopify_admin.metafields_customer.count` Count customer metafields read
- `shopify_admin.metafields_customer.create` Create a customer metafield write
- `shopify_admin.metafields_customer.delete` Delete a customer metafield destructive
- `shopify_admin.metafields_customer.get` Get one customer metafield read
- `shopify_admin.metafields_customer.list` List customer metafields read
- `shopify_admin.metafields_customer.update` Update a customer metafield write
- `shopify_admin.metafields_draft_order.count` Count draft order metafields read
- `shopify_admin.metafields_draft_order.create` Create a draft order metafield write
- `shopify_admin.metafields_draft_order.delete` Delete a draft order metafield destructive
- `shopify_admin.metafields_draft_order.get` Get one draft order metafield read
- `shopify_admin.metafields_draft_order.list` List draft order metafields read
- `shopify_admin.metafields_draft_order.update` Update a draft order metafield write
- `shopify_admin.metafields_order.count` Count order metafields read
- `shopify_admin.metafields_order.create` Create an order metafield write
- `shopify_admin.metafields_order.delete` Delete an order metafield destructive
- `shopify_admin.metafields_order.get` Get one order metafield read
- `shopify_admin.metafields_order.list` List order metafields read
- `shopify_admin.metafields_order.update` Update an order metafield write
- `shopify_admin.metafields_page.count` Count page metafields read
- `shopify_admin.metafields_page.create` Create a page metafield write
- `shopify_admin.metafields_page.delete` Delete a page metafield destructive
- `shopify_admin.metafields_page.get` Get one page metafield read
- `shopify_admin.metafields_page.list` List page metafields read
- `shopify_admin.metafields_page.update` Update a page metafield write
- `shopify_admin.metafields_product.count` Count product metafields read
- `shopify_admin.metafields_product.create` Create a product metafield write
- `shopify_admin.metafields_product.delete` Delete a product metafield destructive
- `shopify_admin.metafields_product.get` Get one product metafield read
- `shopify_admin.metafields_product.list` List product metafields read
- `shopify_admin.metafields_product.update` Update a product metafield write
- `shopify_admin.metafields_product_image.count` Count product image metafields read
- `shopify_admin.metafields_product_image.create` Create a product image metafield write
- `shopify_admin.metafields_product_image.delete` Delete a product image metafield destructive
- `shopify_admin.metafields_product_image.get` Get one product image metafield read
- `shopify_admin.metafields_product_image.list` List product image metafields read
- `shopify_admin.metafields_product_image.update` Update a product image metafield write
- `shopify_admin.metafields_shop.count` Count shop metafields read
- `shopify_admin.metafields_shop.create` Create a shop metafield write
- `shopify_admin.metafields_shop.delete` Delete a shop metafield destructive
- `shopify_admin.metafields_shop.get` Get one shop metafield read
- `shopify_admin.metafields_shop.list` List shop metafields read
- `shopify_admin.metafields_shop.update` Update a shop metafield write
- `shopify_admin.metafields_variant.count` Count product variant metafields read
- `shopify_admin.metafields_variant.create` Create a product variant metafield write
- `shopify_admin.metafields_variant.delete` Delete a product variant metafield destructive
- `shopify_admin.metafields_variant.get` Get one product variant metafield read
- `shopify_admin.metafields_variant.list` List product variant metafields read
- `shopify_admin.metafields_variant.update` Update a product variant metafield write

**Orders 63**

- `shopify_admin.cancellation_requests.accept` Accept a cancellation request write
- `shopify_admin.cancellation_requests.reject` Reject a cancellation request write
- `shopify_admin.cancellation_requests.send` Send a cancellation request write
- `shopify_admin.checkouts.abandoned_count` Count abandoned checkouts read
- `shopify_admin.checkouts.abandoned_list` List abandoned checkouts read
- `shopify_admin.draft_orders.complete` Complete a draft order write
- `shopify_admin.draft_orders.count` Count draft orders read
- `shopify_admin.draft_orders.create` Create a draft order write
- `shopify_admin.draft_orders.delete` Delete a draft order destructive
- `shopify_admin.draft_orders.get` Get one draft order read
- `shopify_admin.draft_orders.list` List draft orders read
- `shopify_admin.draft_orders.send_invoice` Send a draft order invoice write
- `shopify_admin.draft_orders.update` Update a draft order write
- `shopify_admin.fulfillment_events.create` Create an event write
- `shopify_admin.fulfillment_events.delete` Delete an event destructive
- `shopify_admin.fulfillment_events.get` Get one event read
- `shopify_admin.fulfillment_events.list` List events read
- `shopify_admin.fulfillment_orders.assigned_list` List assigned fulfillment orders read
- `shopify_admin.fulfillment_orders.cancel` Cancel a fulfillment order destructive
- `shopify_admin.fulfillment_orders.close` Close a fulfillment order write
- `shopify_admin.fulfillment_orders.get` Get one fulfillment order read
- `shopify_admin.fulfillment_orders.hold` Hold a fulfillment order write
- `shopify_admin.fulfillment_orders.list` List an order's fulfillment orders read
- `shopify_admin.fulfillment_orders.locations_for_move` List locations a fulfillment order can move to read
- `shopify_admin.fulfillment_orders.move` Move a fulfillment order write
- `shopify_admin.fulfillment_orders.open` Re-open a fulfillment order write
- `shopify_admin.fulfillment_orders.release_hold` Release the hold on a fulfillment order write
- `shopify_admin.fulfillment_orders.reschedule` Reschedule a fulfillment order write
- `shopify_admin.fulfillment_orders.set_deadline` Set fulfillment order deadlines write
- `shopify_admin.fulfillment_requests.accept` Accept a fulfillment request write
- `shopify_admin.fulfillment_requests.reject` Reject a fulfillment request write
- `shopify_admin.fulfillment_requests.send` Send a fulfillment request write
- `shopify_admin.fulfillment_services.create` Create a fulfillment service write
- `shopify_admin.fulfillment_services.delete` Delete a fulfillment service destructive
- `shopify_admin.fulfillment_services.get` Get one fulfillment service read
- `shopify_admin.fulfillment_services.list` List fulfillment services read
- `shopify_admin.fulfillment_services.update` Update a fulfillment service write
- `shopify_admin.fulfillments.cancel` Cancel a fulfillment destructive
- `shopify_admin.fulfillments.count` Count an order's fulfillments read
- `shopify_admin.fulfillments.create` Create a fulfillment write
- `shopify_admin.fulfillments.get` Get one fulfillment read
- `shopify_admin.fulfillments.list` List an order's fulfillments read
- `shopify_admin.fulfillments.list_for_fulfillment_order` List a fulfillment order's fulfillments read
- `shopify_admin.fulfillments.update_tracking` Update fulfillment tracking write
- `shopify_admin.order_line_items.list` List an order's line items read
- `shopify_admin.order_risks.create` Create a risk write
- `shopify_admin.order_risks.delete` Delete a risk destructive
- `shopify_admin.order_risks.get` Get one risk read
- `shopify_admin.order_risks.list` List risks read
- `shopify_admin.order_risks.update` Update a risk write
- `shopify_admin.orders.cancel` Cancel an order destructive
- `shopify_admin.orders.close` Close an order write
- `shopify_admin.orders.count` Count orders read
- `shopify_admin.orders.create` Create an order write
- `shopify_admin.orders.delete` Delete an order destructive
- `shopify_admin.orders.get` Get one order read
- `shopify_admin.orders.list` List orders read
- `shopify_admin.orders.open` Re-open an order write
- `shopify_admin.orders.update` Update an order write
- `shopify_admin.refunds.calculate` Calculate a refund read
- `shopify_admin.refunds.create` Create a refund destructive
- `shopify_admin.refunds.get` Get one refund read
- `shopify_admin.refunds.list` List an order's refunds read

**Products 53**

- `shopify_admin.collection_listings.create` Publish a collection to the channel write
- `shopify_admin.collection_listings.delete` Unpublish a collection from the channel destructive
- `shopify_admin.collection_listings.get` Get one collection listing read
- `shopify_admin.collection_listings.list` List published collection listings read
- `shopify_admin.collection_listings.product_ids` List a collection listing's product ids read
- `shopify_admin.collections.get` Get one collection read
- `shopify_admin.collections.products` List a collection's products read
- `shopify_admin.collects.count` Count collects read
- `shopify_admin.collects.create` Create a collect write
- `shopify_admin.collects.delete` Delete a collect destructive
- `shopify_admin.collects.get` Get one collect read
- `shopify_admin.collects.list` List collects read
- `shopify_admin.custom_collections.count` Count custom collections read
- `shopify_admin.custom_collections.create` Create a custom collection write
- `shopify_admin.custom_collections.delete` Delete a custom collection destructive
- `shopify_admin.custom_collections.get` Get one custom collection read
- `shopify_admin.custom_collections.list` List custom collections read
- `shopify_admin.custom_collections.update` Update a custom collection write
- `shopify_admin.product_images.count` Count images read
- `shopify_admin.product_images.create` Create an image write
- `shopify_admin.product_images.delete` Delete an image destructive
- `shopify_admin.product_images.get` Get one image read
- `shopify_admin.product_images.list` List images read
- `shopify_admin.product_images.update` Update an image write
- `shopify_admin.product_listings.count` Count published product listings read
- `shopify_admin.product_listings.create` Publish a product to the channel write
- `shopify_admin.product_listings.delete` Unpublish a product from the channel destructive
- `shopify_admin.product_listings.get` Get one product listing read
- `shopify_admin.product_listings.list` List published product listings read
- `shopify_admin.product_listings.product_ids` List published product ids read
- `shopify_admin.product_resource_feedback.create` Create product resource feedback write
- `shopify_admin.product_resource_feedback.list` List a product's resource feedback read
- `shopify_admin.product_variants.count` Count a product's variants read
- `shopify_admin.product_variants.create` Create a variant write
- `shopify_admin.product_variants.delete` Delete a variant destructive
- `shopify_admin.product_variants.get` Get one variant read
- `shopify_admin.product_variants.list` List a product's variants read
- `shopify_admin.product_variants.update` Update a variant write
- `shopify_admin.products.count` Count products read
- `shopify_admin.products.create` Create a product write
- `shopify_admin.products.delete` Delete a product destructive
- `shopify_admin.products.get` Get one product read
- `shopify_admin.products.list` List products read
- `shopify_admin.products.update` Update a product write
- `shopify_admin.resource_feedback.create` Create shop resource feedback write
- `shopify_admin.resource_feedback.list` List shop resource feedback read
- `shopify_admin.smart_collections.count` Count smart collections read
- `shopify_admin.smart_collections.create` Create a smart collection write
- `shopify_admin.smart_collections.delete` Delete a smart collection destructive
- `shopify_admin.smart_collections.get` Get one smart collection read
- `shopify_admin.smart_collections.list` List smart collections read
- `shopify_admin.smart_collections.order` Reorder a smart collection's products write
- `shopify_admin.smart_collections.update` Update a smart collection write

**Content 52**

- `shopify_admin.articles.authors` List article authors read
- `shopify_admin.articles.blog_tags` List a blog's article tags read
- `shopify_admin.articles.count` Count articles read
- `shopify_admin.articles.create` Create an article write
- `shopify_admin.articles.delete` Delete an article destructive
- `shopify_admin.articles.get` Get one article read
- `shopify_admin.articles.list` List articles read
- `shopify_admin.articles.tags` List article tags read
- `shopify_admin.articles.update` Update an article write
- `shopify_admin.assets.delete` Delete a theme asset destructive
- `shopify_admin.assets.get` Get one theme asset read
- `shopify_admin.assets.list` List a theme's assets read
- `shopify_admin.assets.update` Create or update a theme asset write
- `shopify_admin.blogs.count` Count blogs read
- `shopify_admin.blogs.create` Create a blog write
- `shopify_admin.blogs.delete` Delete a blog destructive
- `shopify_admin.blogs.get` Get one blog read
- `shopify_admin.blogs.list` List blogs read
- `shopify_admin.blogs.update` Update a blog write
- `shopify_admin.comments.approve` Approve a comment write
- `shopify_admin.comments.count` Count comments read
- `shopify_admin.comments.create` Create a comment write
- `shopify_admin.comments.get` Get one comment read
- `shopify_admin.comments.list` List comments read
- `shopify_admin.comments.not_spam` Mark not spam for a comment write
- `shopify_admin.comments.remove` Remove a comment write
- `shopify_admin.comments.restore` Restore a comment write
- `shopify_admin.comments.spam` Mark spam for a comment write
- `shopify_admin.comments.update` Update a comment write
- `shopify_admin.pages.count` Count pages read
- `shopify_admin.pages.create` Create a page write
- `shopify_admin.pages.delete` Delete a page destructive
- `shopify_admin.pages.get` Get one page read
- `shopify_admin.pages.list` List pages read
- `shopify_admin.pages.update` Update a page write
- `shopify_admin.redirects.count` Count redirects read
- `shopify_admin.redirects.create` Create a redirect write
- `shopify_admin.redirects.delete` Delete a redirect destructive
- `shopify_admin.redirects.get` Get one redirect read
- `shopify_admin.redirects.list` List redirects read
- `shopify_admin.redirects.update` Update a redirect write
- `shopify_admin.script_tags.count` Count script tags read
- `shopify_admin.script_tags.create` Create a script tag write
- `shopify_admin.script_tags.delete` Delete a script tag destructive
- `shopify_admin.script_tags.get` Get one script tag read
- `shopify_admin.script_tags.list` List script tags read
- `shopify_admin.script_tags.update` Update a script tag write
- `shopify_admin.themes.create` Create a theme write
- `shopify_admin.themes.delete` Delete a theme destructive
- `shopify_admin.themes.get` Get one theme read
- `shopify_admin.themes.list` List themes read
- `shopify_admin.themes.update` Update a theme write

**Account 26**

- `shopify_admin.api_permissions.delete` Revoke the app's access token destructive
- `shopify_admin.countries.count` Count countrys read
- `shopify_admin.countries.create` Create a country write
- `shopify_admin.countries.delete` Delete a country destructive
- `shopify_admin.countries.get` Get one country read
- `shopify_admin.countries.list` List countrys read
- `shopify_admin.countries.update` Update a country write
- `shopify_admin.currencies.list` List currencys read
- `shopify_admin.deprecated_api_calls.list` List deprecated API calls read
- `shopify_admin.mobile_platform_applications.create` Create a mobile platform application write
- `shopify_admin.mobile_platform_applications.delete` Delete a mobile platform application destructive
- `shopify_admin.mobile_platform_applications.get` Get one mobile platform application read
- `shopify_admin.mobile_platform_applications.list` List mobile platform applications read
- `shopify_admin.mobile_platform_applications.update` Update a mobile platform application write
- `shopify_admin.policies.list` List shop policies read
- `shopify_admin.provinces.count` Count provinces read
- `shopify_admin.provinces.get` Get one province read
- `shopify_admin.provinces.list` List provinces read
- `shopify_admin.provinces.update` Update a province write
- `shopify_admin.shop.get` Get the shop read
- `shopify_admin.storefront_access_tokens.create` Create a storefront access token write
- `shopify_admin.storefront_access_tokens.delete` Delete a storefront access token destructive
- `shopify_admin.storefront_access_tokens.list` List storefront access tokens read
- `shopify_admin.users.current` Get the current user read
- `shopify_admin.users.get` Get one user read
- `shopify_admin.users.list` List users read

**Customers 24**

- `shopify_admin.customer_addresses.create` Create an address write
- `shopify_admin.customer_addresses.default` Set the default customer address write
- `shopify_admin.customer_addresses.delete` Delete an address destructive
- `shopify_admin.customer_addresses.get` Get one address read
- `shopify_admin.customer_addresses.list` List addresss read
- `shopify_admin.customer_addresses.set` Bulk-set customer addresses write
- `shopify_admin.customer_addresses.update` Update an address write
- `shopify_admin.customer_saved_searches.count` Count customer saved searchs read
- `shopify_admin.customer_saved_searches.create` Create a customer saved search write
- `shopify_admin.customer_saved_searches.customers` List a saved search's customers read
- `shopify_admin.customer_saved_searches.delete` Delete a customer saved search destructive
- `shopify_admin.customer_saved_searches.get` Get one customer saved search read
- `shopify_admin.customer_saved_searches.list` List customer saved searchs read
- `shopify_admin.customer_saved_searches.update` Update a customer saved search write
- `shopify_admin.customers.account_activation_url` Create an account activation URL write
- `shopify_admin.customers.count` Count customers read
- `shopify_admin.customers.create` Create a customer write
- `shopify_admin.customers.delete` Delete a customer destructive
- `shopify_admin.customers.get` Get one customer read
- `shopify_admin.customers.list` List customers read
- `shopify_admin.customers.orders` List a customer's orders read
- `shopify_admin.customers.search` Search customers read
- `shopify_admin.customers.send_invite` Send a customer account invite write
- `shopify_admin.customers.update` Update a customer write

**Discounts 16**

- `shopify_admin.discount_codes.batch_create` Create a batch of discount codes write
- `shopify_admin.discount_codes.batch_get` Get a discount code batch read
- `shopify_admin.discount_codes.batch_list` List a discount code batch's codes read
- `shopify_admin.discount_codes.count` Count discount codes read
- `shopify_admin.discount_codes.create` Create a discount code write
- `shopify_admin.discount_codes.delete` Delete a discount code destructive
- `shopify_admin.discount_codes.get` Get one discount code read
- `shopify_admin.discount_codes.list` List discount codes read
- `shopify_admin.discount_codes.lookup` Look up a discount code read
- `shopify_admin.discount_codes.update` Update a discount code write
- `shopify_admin.price_rules.count` Count price rules read
- `shopify_admin.price_rules.create` Create a price rule write
- `shopify_admin.price_rules.delete` Delete a price rule destructive
- `shopify_admin.price_rules.get` Get one price rule read
- `shopify_admin.price_rules.list` List price rules read
- `shopify_admin.price_rules.update` Update a price rule write

**Payments 15**

- `shopify_admin.balance.get` Get the Shopify Payments balance read
- `shopify_admin.balance.transactions` List balance transactions read
- `shopify_admin.dispute_evidence.get` Get a dispute's evidence read
- `shopify_admin.dispute_evidence.update` Update a dispute's evidence write
- `shopify_admin.dispute_file_uploads.create` Upload a dispute evidence file write
- `shopify_admin.dispute_file_uploads.delete` Delete a dispute evidence file destructive
- `shopify_admin.disputes.get` Get one dispute read
- `shopify_admin.disputes.list` List payment disputes read
- `shopify_admin.payouts.get` Get one payout read
- `shopify_admin.payouts.list` List Shopify Payments payouts read
- `shopify_admin.tender_transactions.list` List tender transactions read
- `shopify_admin.transactions.count` Count an order's transactions read
- `shopify_admin.transactions.create` Create a transaction write
- `shopify_admin.transactions.get` Get one transaction read
- `shopify_admin.transactions.list` List an order's transactions read

**Billing 14**

- `shopify_admin.application_charges.create` Create an application charge destructive
- `shopify_admin.application_charges.get` Get one application charge read
- `shopify_admin.application_charges.list` List application charges read
- `shopify_admin.application_credits.create` Create an application credit write
- `shopify_admin.application_credits.get` Get one application credit read
- `shopify_admin.application_credits.list` List application credits read
- `shopify_admin.recurring_application_charges.create` Create a recurring application charge destructive
- `shopify_admin.recurring_application_charges.customize` Customize a recurring charge write
- `shopify_admin.recurring_application_charges.delete` Delete a recurring application charge destructive
- `shopify_admin.recurring_application_charges.get` Get one recurring application charge read
- `shopify_admin.recurring_application_charges.list` List recurring application charges read
- `shopify_admin.usage_charges.create` Create a usage charge destructive
- `shopify_admin.usage_charges.get` Get one usage charge read
- `shopify_admin.usage_charges.list` List usage charges read

**Inventory 12**

- `shopify_admin.inventory_items.get` Get one inventory item read
- `shopify_admin.inventory_items.list` List inventory items read
- `shopify_admin.inventory_items.update` Update an inventory item write
- `shopify_admin.inventory_levels.adjust` Adjust an inventory level write
- `shopify_admin.inventory_levels.connect` Connect an inventory item to a location write
- `shopify_admin.inventory_levels.delete` Disconnect an inventory level destructive
- `shopify_admin.inventory_levels.list` List inventory levels read
- `shopify_admin.inventory_levels.set` Set an inventory level write
- `shopify_admin.locations.count` Count locations read
- `shopify_admin.locations.get` Get one location read
- `shopify_admin.locations.inventory_levels` List a location's inventory levels read
- `shopify_admin.locations.list` List locations read

**Events 11**

- `shopify_admin.events.count` Count shop events read
- `shopify_admin.events.for_order` List an order's events read
- `shopify_admin.events.for_product` List a product's events read
- `shopify_admin.events.get` Get one event read
- `shopify_admin.events.list` List shop events read
- `shopify_admin.webhooks.count` Count webhooks read
- `shopify_admin.webhooks.create` Create a webhook write
- `shopify_admin.webhooks.delete` Delete a webhook destructive
- `shopify_admin.webhooks.get` Get one webhook read
- `shopify_admin.webhooks.list` List webhooks read
- `shopify_admin.webhooks.update` Update a webhook write

**Giftcards 7**

- `shopify_admin.gift_cards.count` Count gift cards read
- `shopify_admin.gift_cards.create` Create a gift card write
- `shopify_admin.gift_cards.disable` Disable a gift card write
- `shopify_admin.gift_cards.get` Get one gift card read
- `shopify_admin.gift_cards.list` List gift cards read
- `shopify_admin.gift_cards.search` Search gift cards read
- `shopify_admin.gift_cards.update` Update a gift card write

**Marketing 7**

- `shopify_admin.marketing_events.count` Count marketing events read
- `shopify_admin.marketing_events.create` Create a marketing event write
- `shopify_admin.marketing_events.delete` Delete a marketing event destructive
- `shopify_admin.marketing_events.engagements` Add marketing engagements write
- `shopify_admin.marketing_events.get` Get one marketing event read
- `shopify_admin.marketing_events.list` List marketing events read
- `shopify_admin.marketing_events.update` Update a marketing event write

**Shipping 6**

- `shopify_admin.carrier_services.create` Create a carrier service write
- `shopify_admin.carrier_services.delete` Delete a carrier service destructive
- `shopify_admin.carrier_services.get` Get one carrier service read
- `shopify_admin.carrier_services.list` List carrier services read
- `shopify_admin.carrier_services.update` Update a carrier service write
- `shopify_admin.shipping_zones.list` List shipping zones read

**Reports 5**

- `shopify_admin.reports.create` Create a report write
- `shopify_admin.reports.delete` Delete a report destructive
- `shopify_admin.reports.get` Get one report read
- `shopify_admin.reports.list` List reports read
- `shopify_admin.reports.update` Update a report write

Questions

## The Shopify Admin MCP server, answered.

**Is there a Shopify Admin MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 377 Shopify Admin actions across metafields, orders, products and content, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Shopify.

**Does Shopify have its own MCP server?**

Shopify's Dev MCP server runs on your own machine and connects an AI tool to Shopify's developer documentation and API schemas, not to your store's admin data. (Shopify's documentation, checked 22 October 2026.) It does not reach your Shopify Admin data. actionlake does: the 377 actions on this page, behind the same endpoint as your other systems.

**What do I need to connect Shopify Admin?**

Shopify Admin API access token. Plus your shop domain. The free call account { op: "connections.requirements", service: "shopify_admin" } lists exactly what to paste.

**Can an AI agent delete or change things in Shopify Admin?**

Only if its key allows it, and only with an explicit confirmation. 54 Shopify Admin actions are destructive, including delete a product, create an application charge and delete an order. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Shopify Admin API limit?**

actionlake paces every call to the limits in the Shopify Admin service file: 40 calls per 20 seconds per connection. Repeated reads are answered from cache (194 Shopify Admin actions can be), which never reaches Shopify Admin.

**What does a Shopify Admin action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (89 Shopify Admin actions page). Cache hits, searches, dry runs and calls Shopify Admin refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Shopify Admin API does it cover?**

The Shopify Admin API 2025-10 at your Shopify Admin instance's API base URL, which you enter when connecting (path /admin/api/2025-10). It is built from Shopify Admin's documentation as read on 15 September 2026. 377 actions in 15 areas, each one in the signed service file (version 2.0.0).

**Does actionlake keep my Shopify Admin data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Shopify Admin credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Shopify Admin

Shares the most action names with

- [BigCommerce 56](https://actionlake.com/connectors/bigcommerce)
- [WooCommerce 50](https://actionlake.com/connectors/woocommerce)
- [Recharge 44](https://actionlake.com/connectors/recharge)
- [commercetools 34](https://actionlake.com/connectors/commercetools)
- [Squarespace Commerce 27](https://actionlake.com/connectors/squarespace-commerce)
- [Webflow 27](https://actionlake.com/connectors/webflow)

Joins with, on shared entities

- [Square 6](https://actionlake.com/connectors/square)
- [ERPNext (Frappe) 5](https://actionlake.com/connectors/erpnext-frappe)
- [Lightspeed Retail X-Series 5](https://actionlake.com/connectors/lightspeed-retail-x-series)
- [SAP Business One 4](https://actionlake.com/connectors/sap-business-one)
- [Odoo 4](https://actionlake.com/connectors/odoo)
- [Airwallex 4](https://actionlake.com/connectors/airwallex)

Browse

- [All Commerce connectors](https://actionlake.com/connectors/category/commerce)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Shopify; the name is the vendor's own. Counts are from the Shopify Admin service file, version 2.0.0.

## Give your agent Shopify Admin today.

[Connect Shopify Admin free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/shopify-admin
More: https://actionlake.com/llms.txt
