home / mcp / shopify store mcp server

Shopify Store MCP Server

Provides live Shopify store access via MCP with GraphQL, bulk operations, and metamodel tooling.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "brahim-benzarti-shopify_store-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "shopify-store-mcp"
      ],
      "env": {
        "SHOPIFY_TIER": "STANDARD",
        "SHOPIFY_STORE_URL": "your-store.myshopify.com",
        "SHOPIFY_API_VERSION": "2025-01",
        "SHOPIFY_ACCESS_TOKEN": "shpat_xxxxxxxxxxxxxxxxxxxxx",
        "SHOPIFY_STOREFRONT_ACCESS_TOKEN": "<SHOPIFY_STOREFRONT_ACCESS_TOKEN>"
      }
    }
  }
}

You can connect this MCP server to live Shopify stores and let AI agents perform real operations through the Admin and Storefront APIs. It exposes powerful tools for querying, file handling, bulk operations, and schema discovery, all while respecting Shopify's rate limits and logging activity for debugging and history.

How to use

You will run the MCP server locally and configure your MCP client to talk to it. Use the provided stdio configurations to start the server from your environment, and then issue commands from your MCP client to perform shop operations, queries, and data management.

How to install

Prerequisites include a Shopify store with a custom app, an Admin API access token with the required scopes, and Node.js 18 or newer.

Install the MCP server globally so you can start it from anywhere.

npm install -g shopify-store-mcp

Configuration and usage notes

You configure your MCP client to connect to the server using a local stdio setup. The server runs as an embedded process started via a command such as npx or cmd, with environment variables providing store details and access tokens.

{
  "mcpServers": {
    "shopify-store": {
      "command": "npx",
      "args": ["-y", "shopify-store-mcp"],
      "env": {
        "SHOPIFY_STORE_URL": "your-store.myshopify.com",
        "SHOPIFY_ACCESS_TOKEN": "shpat_xxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Start commands for different environments

If you are on Windows, you can start the server with the Windows-specific command configuration.

{
  "mcpServers": {
    "shopify-store": {
      "command": "cmd",
      "args": ["/k", "npx", "-y", "shopify-store-mcp"],
      "env": {
        "SHOPIFY_STORE_URL": "your-store.myshopify.com",
        "SHOPIFY_ACCESS_TOKEN": "shpat_xxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Additional configuration notes

The server supports environment variables for store connection and tokens. You may also provide a storefront access token, API version, and rate tier if needed.

Security

Never commit your .env file or access tokens. Use environment variables or MCP config for credentials. Access tokens should have the minimal required scopes. The server logs operations locally for debugging and can be disabled if desired.

Troubleshooting

Check that your store URL and Admin API access token are correct and that the token has the necessary scopes. Verify that the Node.js version matches the requirement and that the server process starts without errors. Review the operation history in the local SQLite database for debugging.

Examples of practical usage

- Retrieve store configuration and settings using the get_shop_info tool.

- Run a GraphQL query or mutation with run_graphql_query to manage products, orders, and metafields.

- Upload a file, poll for readiness, and obtain the CDN URL with upload_file.

Notes on scope and logging

The server maintains an operation log in SQLite to help you audit actions and debug issues. You can query past operations via the get_history tool.

Available tools

get_shop_info

Retrieve store configuration and settings

run_graphql_query

Execute any GraphQL query or mutation

upload_file

Upload file from URL, poll until ready, return CDN URL

bulk_export

Start bulk query, poll completion, return JSONL download URL

bulk_import

Staged upload + bulk mutation with automatic polling

upsert_metaobject

Create or update metaobject by handle (idempotent)

schema_discover

Discover metafield definitions and metaobject types

configure

Set rate limit tier (manual or auto-detect from shop plan)

get_history

Query past operations for debugging

get_stats

Aggregated usage statistics