About mcp-shopify
mcp-shopify is an MCP server for the Shopify Admin REST API, exposing 28 tools for orders, products, customers, inventory and fulfillments. It is aimed at developers and merchants who manage Shopify stores through a custom app rather than a reseller, including international brands.
Key features
- 01Order, draft order and refund operations
- 02Product, variant and collection management
- 03Customer records and inventory adjustments
- 04Fulfillment and tracking updates
- 05Discount rules, codes and webhook registration
Use cases
- 01Adjust product inventory automatically after restocking
- 02Automate refunds and order fulfillment
- 03Create promotions and discount codes
MCP support
This is an MCP server that exposes Shopify store orders, products, customers, inventory, fulfillments and promotions as 28 tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-shopifySHOPIFY_SHOPShopify shop subdomain (e.g. 'acme' for acme.myshopify.com)SHOPIFY_ACCESS_TOKENSecretShopify Admin API access token (private/custom app) sent as X-Shopify-Access-Token headerSHOPIFY_API_VERSIONShopify Admin API version. Defaults to 2024-01.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
28Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| ids | string | No | Comma-separated list of order IDs to retrieve |
| limit | number | No | Max results per page (1-250, default 50) |
| status | enum | No | Order status. Defaults to 'open'.open | closed | cancelled | any |
| created_at_max | string | No | ISO-8601 maximum created_at timestamp |
| created_at_min | string | No | ISO-8601 minimum created_at timestamp |
| updated_at_min | string | No | ISO-8601 minimum updated_at timestamp |
| financial_status | string | No | Filter by financial status (paid, pending, refunded, voided, partially_paid, partially_refunded, authorized) |
| fulfillment_status | string | No | Filter by fulfillment status (shipped, partial, unshipped, any, unfulfilled) |
Details
From the project README@codespar/mcp-shopify
MCP server for Shopify — global ecommerce platform Admin REST API.
Shopify is the global DTC standard and dominant across LatAm for brands operating internationally (complementary to Nuvemshop/Tiendanube for regional-only merchants, also in this catalog). Agents building merchant tools — restocking, refund automation, marketing campaigns, fulfillment orchestration — integrate directly with the Admin API rather than through a reseller.
Tools (28)
| Tool | Purpose |
|---|---|
list_orders | List orders with optional filters. |
get_order | Get a single order by ID with full detail. |
create_order | Create a new order. |
update_order | Update an existing order (tags, note, email, shipping_address, metafields, etc). |
cancel_order | Cancel an order. |
list_products | List products with optional filters. |
get_product | Get a single product by ID including all variants and images. |
create_product | Create a new product with variants, options, and images. |
update_product | Update an existing product's fields, variants, or images. |
list_customers | List customers with optional query filter. |
create_customer | Create a new customer record. |
adjust_inventory | Adjust the available inventory for a specific inventory_item at a specific location by a delta (positive to... |
create_fulfillment | Create a fulfillment for an order (mark line items as shipped, attach tracking number and carrier). |
update_fulfillment_tracking | Update the tracking number, tracking company, or tracking URL on an existing fulfillment (post-ship trackin... |
create_draft_order | Create a draft order (invoice-style quote). |
complete_draft_order | Convert a draft order into a real order. |
create_price_rule | Create a price rule (the policy that governs discounts — percentage/fixed amount, prerequisites, entitlemen... |
create_discount_code | Create a discount code tied to an existing price rule (the customer-facing string like 'SUMMER20'). |
create_smart_collection | Create a smart collection — an automated collection populated by rules (e.g. |
create_custom_collection | Create a custom collection — a manually curated collection. |
create_metafield | Attach a metafield (custom typed field) to a resource (shop, product, variant, customer, order, collection,... |
create_variant | Add a new variant to an existing product (size/color/SKU permutation with its own price and inventory). |
update_variant | Update an existing product variant's price, SKU, barcode, options, weight, or inventory policy. |
list_transactions | List all payment transactions for an order (authorizations, captures, sales, refunds, voids) including gate... |
list_abandoned_checkouts | List abandoned checkouts (carts where the customer entered contact info but did not complete checkout). |
list_locations | List all fulfillment locations (physical stores, warehouses, 3PLs). |
create_refund | Refund one or more line items on an order. |
register_webhook | Register a webhook subscription for a Shopify event topic (orders/create, orders/paid, products/update, app... |
Install
npm install @codespar/mcp-shopify
Environment
SHOPIFY_SHOP="acme" # subdomain (acme.myshopify.com)
SHOPIFY_ACCESS_TOKEN="shpat_..." # Admin API access token (secret)
SHOPIFY_API_VERSION="2024-01" # Optional. Defaults to 2024-01.
Authentication
Private/custom app access token sent as header on every request:
X-Shopify-Access-Token: <SHOPIFY_ACCESS_TOKEN>
Create a custom app in Shopify admin → Settings → Apps and sales channels → Develop apps, grant the Admin API scopes you need (read/write orders, products, customers, inventory, fulfillments), and install to generate the token.
Run
# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-shopify
# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-shopify
API surface
Uses the Shopify Admin REST API at https://{shop}.myshopify.com/admin/api/{version}. Default version is 2024-01 (stable). Override with SHOPIFY_API_VERSION when newer stable versions ship.
Enterprise
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.