Ge Li/shopify-mcp
Built by Metorial, the integration platform for agentic AI.
Ge Li/shopify-mcp
Server Summary
Search and retrieve product information
Load customer data
Manage customer tags
Query and filter orders
Integrate with Shopify's GraphQL Admin API
Provide comprehensive error handling
(please leave a star if you like!)
MCP Server for Shopify API, enabling interaction with store data through GraphQL API. This server provides tools for managing products, customers, orders, and more.
📦 Package Name: shopify-mcp
🚀 Command: shopify-mcp
(NOT shopify-mcp-server
)
To use this MCP server, you'll need to create a custom app in your Shopify store:
read_products
, write_products
read_customers
, write_customers
read_orders
, write_orders
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": [
"shopify-mcp",
"--accessToken",
"",
"--domain",
".myshopify.com"
]
}
}
}
Locations for the Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
If you prefer to use environment variables instead of command-line arguments:
Create a .env
file with your Shopify credentials:
SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
Run the server with npx:
npx shopify-mcp
If you want to install the package globally:
npm install -g shopify-mcp
Then run it:
shopify-mcp --accessToken= --domain=.myshopify.com
⚠️ Important: If you see errors about "SHOPIFY_ACCESS_TOKEN environment variable is required" when using command-line arguments, you might have a different package installed. Make sure you're using shopify-mcp
, not shopify-mcp-server
.
get-products
searchTitle
(optional string): Filter products by titlelimit
(number): Maximum number of products to returnget-product-by-id
productId
(string): ID of the product to retrieveget-customers
searchQuery
(optional string): Filter customers by name or emaillimit
(optional number, default: 10): Maximum number of customers to returnupdate-customer
id
(string, required): Shopify customer ID (numeric ID only, like "6276879810626")firstName
(string, optional): Customer's first namelastName
(string, optional): Customer's last nameemail
(string, optional): Customer's email addressphone
(string, optional): Customer's phone numbertags
(array of strings, optional): Tags to apply to the customernote
(string, optional): Note about the customertaxExempt
(boolean, optional): Whether the customer is exempt from taxesmetafields
(array of objects, optional): Customer metafields for storing additional dataget-customer-orders
customerId
(string, required): Shopify customer ID (numeric ID only, like "6276879810626")limit
(optional number, default: 10): Maximum number of orders to returnget-orders
status
(optional string): Filter by order statuslimit
(optional number, default: 10): Maximum number of orders to returnget-order-by-id
orderId
(string, required): Full Shopify order ID (e.g., "gid://shopify/Order/6090960994370")update-order
id
(string, required): Shopify order IDtags
(array of strings, optional): New tags for the orderemail
(string, optional): Update customer emailnote
(string, optional): Order notescustomAttributes
(array of objects, optional): Custom attributes for the ordermetafields
(array of objects, optional): Order metafieldsshippingAddress
(object, optional): Shipping address informationIf you encounter issues, check Claude Desktop's MCP logs:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
MIT