MCP Hub
Back to servers

Shopify MCP Server

Provides full access to the Shopify Admin GraphQL API through 75 tools for managing products, orders, customers, inventory, and analytics. It supports both static token and OAuth authentication while featuring cost-aware rate limiting for efficient store management.

glama
Updated
Apr 2, 2026

Shopify MCP Server

Tests License Node Docker

GitHub stars GitHub forks

A Model Context Protocol (MCP) server that provides full access to the Shopify Admin GraphQL API. Covers the complete merchant experience with 75 tools spanning products, orders, customers, inventory, collections, discounts, analytics, fulfillment, and more.

Features

  • Full Shopify Admin API coverage — 75 MCP tools matching the Shopify mobile app's capabilities
  • Dual authentication — Static access token for quick setup, OAuth client credentials for production
  • GraphQL Admin API — Uses Shopify's modern GraphQL API (2026-01 version)
  • Cost-aware rate limiting — Tracks Shopify's throttle bucket and backs off automatically
  • ShopifyQL analytics — Sales, orders, inventory, financial, and top products reports
  • TypeScript — Full type safety with strict mode
CategoryTools
Productslist-products, get-product, create-product, update-product, delete-product, search-products, list-product-variants, create-product-variant, update-product-variant, delete-product-variant, manage-product-options, manage-product-images
Orderslist-orders, get-order, cancel-order, close-order, reopen-order, update-tracking, create-refund, calculate-refund, list-order-risks, add-order-note, list-order-transactions
Customerslist-customers, get-customer, create-customer, update-customer, delete-customer, search-customers, merge-customers, manage-customer-addresses
Discountslist-discount-codes, create-discount-code, update-discount-code, delete-discount-code, create-automatic-discount, delete-automatic-discount
Inventorylist-inventory-levels, adjust-inventory, set-inventory, list-inventory-items, move-inventory
Collectionslist-collections, get-collection, create-collection, update-collection, manage-collection-products
Draft Orderslist-draft-orders, get-draft-order, create-draft-order, update-draft-order, complete-draft-order
Analyticsget-sales-report, get-orders-report, get-inventory-report, get-financial-summary, get-top-products
Shopget-shop-info, list-shop-policies, list-payment-settings, list-currencies
Metafieldslist-metafields, get-metafield, set-metafield, delete-metafield
Fulfillmentlist-fulfillment-orders, create-fulfillment, cancel-fulfillment, list-fulfillment-services
Locationslist-locations, get-location, list-location-inventory
Marketinglist-marketing-events, create-marketing-event, get-marketing-activity

Installation

From source

git clone https://github.com/aserper/shopify-mcp.git
cd shopify-mcp
npm install
npm run build

Docker

docker pull ghcr.io/aserper/shopify-mcp:latest

Configuration

Create a Custom App in Shopify Admin → Settings → Apps and sales channels → Develop apps, or register an app in the Shopify Partners Dashboard.

VariableRequiredDescription
SHOPIFY_STORE_DOMAINYesYour store domain (e.g. my-store.myshopify.com)
SHOPIFY_ACCESS_TOKENOption 1Admin API access token from a Custom App
SHOPIFY_CLIENT_IDOption 2OAuth client ID from Partners Dashboard
SHOPIFY_CLIENT_SECRETOption 2OAuth client secret from Partners Dashboard
SHOPIFY_API_VERSIONNo (default: 2026-01)Shopify API version

Copy .env.example to .env and fill in your credentials:

cp .env.example .env

Usage

Claude Desktop Configuration

{
  "mcpServers": {
    "shopify": {
      "command": "node",
      "args": ["/path/to/shopify-mcp/dist/index.js"],
      "env": {
        "SHOPIFY_STORE_DOMAIN": "my-store.myshopify.com",
        "SHOPIFY_ACCESS_TOKEN": "shpat_xxxxx"
      }
    }
  }
}

Claude Code

claude mcp add shopify-mcp \
  -e SHOPIFY_ACCESS_TOKEN=shpat_xxxxx \
  -e SHOPIFY_STORE_DOMAIN=my-store.myshopify.com \
  -- node /path/to/shopify-mcp/dist/index.js

Docker

docker run --rm \
  -e SHOPIFY_STORE_DOMAIN=my-store.myshopify.com \
  -e SHOPIFY_ACCESS_TOKEN=shpat_xxxxx \
  ghcr.io/aserper/shopify-mcp:latest

Authentication

Static Token — Generate an Admin API access token from a Custom App in your Shopify admin. Simplest setup, token doesn't expire unless revoked.

OAuth Client Credentials — Create an app in the Shopify Partners Dashboard. The server exchanges your client ID and secret for an access token automatically at startup.

Development

npm install          # Install dependencies
npm run build        # Compile TypeScript
npm test             # Run tests
npm run dev          # Watch mode
npm run lint         # Type check

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. It is an independent, open-source tool that interacts with Shopify's publicly available APIs. "Shopify" is a registered trademark of Shopify Inc.

License

MIT

Reviews

No reviews yet

Sign in to write a review