home / mcp / shopify mcp server

Shopify MCP Server

Provides access to Shopify store data through a GraphQL API, enabling product, customer, and order management via MCP clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "geli2001-shopify-mcp": {
      "command": "npx",
      "args": [
        "shopify-mcp",
        "--clientId",
        "<YOUR_CLIENT_ID>",
        "--clientSecret",
        "<YOUR_CLIENT_SECRET>",
        "--domain",
        "<YOUR_SHOP>.myshopify.com"
      ],
      "env": {
        "MYSHOPIFY_DOMAIN": "your-store.myshopify.com",
        "SHOPIFY_CLIENT_ID": "your_client_id",
        "SHOPIFY_ACCESS_TOKEN": "shpat_XXXXXXXXXXXXXXXX",
        "SHOPIFY_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

This MCP Server for Shopify provides programmatic access to store data via a GraphQL API, enabling you to manage products, customers, orders, and related data through block-based commands from your MCP client.

How to use

You connect to the Shopify MCP Server from an MCP client by configuring an MCP connection that runs the shopify-mcp tool. Use client credentials for development and OAuth-based flows, or a static access token for legacy apps. The server exposes a range of product, customer, and order management capabilities via clear, structured commands that your MCP client can invoke.

Two authentication methods are supported. Use client credentials for modern apps and long-term compatibility, or a static access token for existing custom apps. The client credentials flow exchanges your app credentials for an access token that refreshes automatically.

Below are concrete example configurations you can use in your MCP client to start the server with either client credentials or a static access token. These snippets show how to wire the shopify-mcp tool into your environment and how to specify the Shopify domain for your store.

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

How to install

Preregister prerequisites and install the MCP server package. You will run the server through npx or a global installation if you prefer.

Prerequisites you need to meet before starting:

  • Node.js v18+
  • A Shopify store with a custom app (for OAuth client credentials) or a static access token for legacy apps

Install the package globally (optional) and start the server with credentials or a token.

npm install -g shopify-mcp
shopify-mcp --clientId=<ID> --clientSecret=<SECRET> --domain=<YOUR_SHOP>.myshopify.com

Available tools

get-products

Fetch all products or search by title with optional limit to control results.

get-product-by-id

Retrieve a single product by its Shopify product GID.

create-product

Create a new product with options for description, variants, metafields, and collections. If productOptions are used, plan to create real variants afterward.

update-product

Update an existing product by ID, including title, description, tags, and collections.

delete-product

Delete a product by its Shopify product GID.

manage-product-options

Create, update, or delete product options such as Size or Color for a product.

manage-product-variants

Create or update product variants in bulk with control over pricing, inventory, and option values.

delete-product-variants

Delete one or more variants from a product by variant GIDs.

get-customers

Fetch customers or search by name or email with an optional limit.

update-customer

Update a customer's information including name, email, tags, and metafields.

get-customer-orders

Get orders for a specific customer with an optional limit.

get-orders

Get orders with optional status filtering and pagination.

get-order-by-id

Retrieve a specific order by its Shopify order ID.

update-order

Update an existing order with new tags, contact info, notes, and metafields.