Shopify MCP

Shopify MCP

Enables natural language management of Shopify stores, including orders, customers, products, and inventory, with support for multiple stores and both static and OAuth authentication.

Category
Visit Server

README

Shopify MCP

A Model Context Protocol (MCP) server that connects Claude / OpenClaw directly to your Shopify store. Manage orders, customers, products, and inventory through natural language — no dashboard switching required.

Supports multiple stores and both static access tokens and OAuth client credentials.


Tools

Orders

Tool Description
shopify_list_orders List orders with filters: status, tag, date range, financial status, fulfillment status
shopify_get_order Full order details: line items, fulfillments, refunds, notes
shopify_update_order Add or remove tags, update internal note
shopify_cancel_order Cancel an order with reason; optionally notify the customer
shopify_fulfill_order Create a fulfillment with tracking number and carrier

Customers

Tool Description
shopify_list_customers List recent customers or search by email, phone, name, or tag
shopify_get_customer Customer details with optional order history
shopify_update_customer Add or remove tags, update internal note

Products & Inventory

Tool Description
shopify_list_products List products with filters: title, vendor, status
shopify_get_product Product details: all variants, prices, inventory quantities, inventory_item_id
shopify_update_inventory Set absolute inventory quantity at a location

Requirements

Shopify API Scopes

Grant the following scopes when configuring your Custom App:

Scope Used by
read_orders, write_orders List, update, cancel orders
read_customers, write_customers List, search, update customers
read_products List and inspect products/variants
read_inventory, write_inventory Read and update inventory levels
read_fulfillments, write_fulfillments Create fulfillments

Installation

git clone <repo-url> shopify-mcp
cd shopify-mcp
python3 -m venv venv
venv/bin/pip install -r requirements.txt

Configuration

Copy the example env file and fill in your credentials:

cp .env.example .env

Single store — static token

SHOPIFY_SHOP_DOMAIN=your-store.myshopify.com
SHOPIFY_ACCESS_TOKEN=shpat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SHOPIFY_API_VERSION=2026-04

Single store — OAuth (auto-refresh)

SHOPIFY_SHOP_DOMAIN=your-store.myshopify.com
SHOPIFY_CLIENT_ID=your_client_id
SHOPIFY_CLIENT_SECRET=your_client_secret
SHOPIFY_API_VERSION=2026-04

Multiple stores

SHOPIFY_STORES=[{"shop_domain":"store-a.myshopify.com","access_token":"shpat_aaa"},{"shop_domain":"store-b.myshopify.com","client_id":"xxx","client_secret":"yyy"}]
SHOPIFY_API_VERSION=2026-04

When using multiple stores, pass the shop parameter to any tool to target a specific store. Omitting shop defaults to the first configured store.


Adding to Claude Code / OpenClaw

Add to ~/.claude/settings.json (global) or .claude/settings.json (project):

{
  "mcpServers": {
    "shopify-mcp": {
      "command": "/absolute/path/to/shopify-mcp/venv/bin/python",
      "args": ["server.py"],
      "cwd": "/absolute/path/to/shopify-mcp"
    }
  }
}

Restart Claude Code / OpenClaw after saving.


Usage examples

List the last 10 open orders
Show me order #1042
Find customer with email: john@example.com
Add tag "wholesale" to customer 123456
Get product details for product ID 789012
Cancel order 6543210987654 — customer changed their mind
Fulfill order 6543210987654 with GHN tracking number ABC123456789
Set inventory for inventory_item_id 11223344 to 50 units

How it works

Claude / OpenClaw
      │  MCP (stdio)
      ▼
  server.py  ──►  shopify_api.py  ──►  Shopify Admin REST API
                      │
                   storage/           ← OAuth token cache (chmod 600)
  • No daemon required — the MCP server is a lightweight process started on demand by the MCP host.
  • Rate limiting — automatically waits on 429 Too Many Requests using Shopify's Retry-After header.
  • Token refresh — OAuth tokens are cached locally and refreshed 5 minutes before expiry. On a 401, the token is force-refreshed and the request retried once.
  • Retries — transient network errors are retried up to 3 times with exponential backoff.

File structure

shopify-mcp/
├── server.py         ← MCP server entry point (11 tools)
├── shopify_api.py    ← Shopify Admin REST API client
├── requirements.txt
├── .env.example
└── storage/          ← auto-created; stores OAuth token cache

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured