MCP.so
Sign In

Shopify MCP Server

@GeLi2001

Basic information

Category

Developer Tools

License

MIT

Transports

stdio

Author

GeLi2001

About Shopify MCP Server

MCP server for Shopify api, usable on mcp hosts such as Claude and Cursor

Shopify MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "shopify-mcp",
        "--clientId",
        "<YOUR_CLIENT_ID>",
        "--clientSecret",
        "<YOUR_CLIENT_SECRET>",
        "--domain",
        "<YOUR_SHOP>.myshopify.com"
      ]
    }
  }
}

Shopify MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

Fetch the live tool list by running this server in a temporary sandbox using the button above.

Overview

What is Shopify MCP Server?

Shopify MCP Server (shopify-mcp by GeLi2001) is a community Shopify MCP server that connects Claude, Cursor and other MCP clients to your store through the Shopify GraphQL Admin API. It provides 31 tools for products, customers, orders, draft orders, metafields, inventory and tags.

It runs locally with npx and talks directly to your store's Admin API (version 2026-01 by default), so it works as a Shopify Admin MCP for store operators and developers. It is open source under the MIT license and is not built by Shopify.

How to use Shopify MCP Server?

Prerequisites: Node.js 18 or higher and a Shopify store where you can install a custom app.

Get credentials. As of January 1, 2026, new Shopify apps are created in the Dev Dashboard and use client credentials:

  1. In Shopify admin, go to Settings → Apps and sales channels.
  2. Click Develop apps → Build app in dev dashboard.
  3. Create an app and configure Admin API scopes: read_products, write_products, read_customers, write_customers, read_orders, write_orders.
  4. Install the app on your store and copy the Client ID and Client Secret.

The server exchanges these for an access token and refreshes it before it expires (tokens last about 24 hours). If you have an older custom app with a static shpat_ token, you can pass --accessToken instead.

Claude Desktop

Add this to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%/Claude/ on Windows):

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "shopify-mcp",
        "--clientId",
        "<YOUR_CLIENT_ID>",
        "--clientSecret",
        "<YOUR_CLIENT_SECRET>",
        "--domain",
        "<YOUR_SHOP>.myshopify.com"
      ]
    }
  }
}

For a legacy token, replace the --clientId/--clientSecret pair with "--accessToken", "<YOUR_ACCESS_TOKEN>".

Claude Code

claude mcp add shopify -- npx shopify-mcp \
  --clientId YOUR_CLIENT_ID \
  --clientSecret YOUR_CLIENT_SECRET \
  --domain your-store.myshopify.com

Cursor and other clients

Any client that launches stdio MCP servers can use the same npx shopify-mcp command and arguments shown above in its MCP configuration.

Environment variables

Instead of flags, you can put credentials in a .env file and run npx shopify-mcp:

SHOPIFY_CLIENT_ID=your_client_id
SHOPIFY_CLIENT_SECRET=your_client_secret
MYSHOPIFY_DOMAIN=your-store.myshopify.com

Legacy apps use SHOPIFY_ACCESS_TOKEN in place of the client ID and secret. Use --apiVersion or SHOPIFY_API_VERSION to target a different Admin API version.

Key features of Shopify MCP Server

  • 31 tools covering products, variants and options, customers, orders, draft orders, metafields, inventory and tags
  • Direct integration with the Shopify GraphQL Admin API (2026-01 by default, configurable)
  • Client-credentials auth for Dev Dashboard apps with automatic token refresh, plus legacy shpat_ token support
  • Cursor-based pagination (after/before), sortKey and reverse on all list tools
  • Pass-through Shopify search syntax, e.g. financial_status:paid fulfillment_status:shipped tag:rush
  • Smart order lookup by order name (#77235), numeric ID or full GID
  • Clear error messages for API and authentication problems

Shopify MCP Server tools

  • Products (8): get-products, get-product-by-id, create-product, update-product and delete-product, plus manage-product-options, manage-product-variants and delete-product-variants for sizes, colors, prices, SKUs and barcodes. update-product also handles SEO fields and collection membership.
  • Customers: get-customers, get-customer-by-id, create-customer, update-customer (including email marketing consent), delete-customer, customer-merge for duplicates and manage-customer-address.
  • Orders: get-orders, get-order-by-id, get-customer-orders and update-order for reading and editing. order-cancel, order-close-open, order-mark-as-paid, create-fulfillment (with tracking) and refund-create change order state.
  • Draft orders: create-draft-order for phone, chat or wholesale sales, and complete-draft-order to turn a draft into a real order.
  • Metafields, inventory and tags: get-metafields, set-metafields (up to 25 at once) and delete-metafields work on any resource. inventory-set-quantities sets absolute stock at a location, and manage-tags adds or removes tags on any taggable resource.

Use cases of Shopify MCP Server

  • Order ops: "Which orders from this week are paid but still unfulfilled? Tag them rush."
  • Catalog work: "Create a draft product for the new hoodie with sizes S–XL at $49 and an SEO description."
  • Customer service: "Look up order #77235, refund the second line item and restock it."
  • Data cleanup: "Find customers with the same email and merge the duplicates."
  • Inventory: "Set the available quantity for SKU PROD-001 at the main warehouse to 120 after today's count."
  • Wholesale: create a draft order with a discount for a B2B buyer, then complete it once payment arrives.

Shopify MCP Server vs alternatives

  • Shopify Dev MCP (official): Shopify's own Dev MCP server (@shopify/dev-mcp) runs locally and connects your AI tool to Shopify's developer resources: docs, API schemas and code help. It doesn't need authentication and isn't a tool for managing a store's products and orders. Use it to build apps; use this Shopify MCP server to operate a store.
  • Other community Shopify MCP servers: several exist under similar names. Note that shopify-mcp-server is a different npm package. This project's package and command are shopify-mcp.
  • Calling the Admin API directly: for scheduled or backend jobs, a script against the GraphQL Admin API is usually simpler. An MCP server is most useful for interactive, chat-driven work.

Troubleshooting Shopify MCP Server

  • "SHOPIFY_ACCESS_TOKEN environment variable is required": you are probably running the wrong package. Use npx shopify-mcp, not shopify-mcp-server.
  • Authentication errors with a new app: apps created after January 1, 2026 use the Dev Dashboard Client ID and Client Secret, not a static token. Check that the app is installed on the store you passed in --domain.
  • Access denied on a tool: the app is missing a scope. Add the matching read_/write_ scope for products, customers or orders and reinstall the app.
  • Products created with a single $0 variant: create-product with productOptions only creates one default variant. Follow up with manage-product-variants using strategy: REMOVE_STANDALONE_VARIANT to create real variants with prices.
  • Checking logs: for Claude Desktop, run tail -n 20 -f ~/Library/Logs/Claude/mcp*.log.

Frequently asked questions

1

Is this the official Shopify MCP server?

No. It is a community project by GeLi2001 under the MIT license. Shopify's official Dev MCP server serves a different purpose: developer docs and API schemas, not store management.

2

Is the Shopify MCP server free?

Yes. The package is open source and runs on your machine. You need your own Shopify store and a custom app, and normal Shopify plan and API limits apply.

3

Which credentials do I need?

For apps created on or after January 1, 2026, use the Client ID and Client Secret from the Dev Dashboard. Existing custom apps can keep using a static `shpat_` Admin API access token.

4

Does it work with Claude Code and Cursor?

Yes. The README documents Claude Desktop and Claude Code (`claude mcp add shopify -- npx shopify-mcp ...`). Cursor and other stdio MCP clients can use the same command and arguments.

5

Can it change orders, issue refunds or delete products?

Yes. Tools such as `order-cancel` (irreversible), `refund-create`, `delete-product` and `delete-customer` make real changes in your store. Grant only the scopes you need, use a development store for testing, and review tool calls before approving them.

6

Is it local or remote?

Local. It runs over stdio on your machine and sends requests straight to your store's Admin API. It doesn't keep store data beyond the temporary access token.

7

Can I use a different Admin API version?

Yes. Pass `--apiVersion` or set `SHOPIFY_API_VERSION`. The default is `2026-01`.

Comments

More Developer Tools MCP servers