MCP Server for Shopify API, enabling interaction with store data through GraphQL API. This server provides tools for managing products, customers, orders, and more.
get-products
searchTitle
(optional string): Filter products by titlelimit
(number): Maximum number of products to returnget-products-by-collection
collectionId
(string): ID of the collection to get products fromlimit
(optional number, default: 10): Maximum number of products to returnget-products-by-ids
productIds
(array of strings): Array of product IDs to retrieveget-variants-by-ids
variantIds
(array of strings): Array of variant IDs to retrieveget-customers
limit
(optional number): Maximum number of customers to returnnext
(optional string): Next page cursortag-customer
customerId
(string): Customer ID to tagtags
(array of strings): Tags to add to the customerget-orders
first
(optional number): Limit of orders to returnafter
(optional string): Next page cursorquery
(optional string): Filter orders using query syntaxsortKey
(optional enum): Field to sort by ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')reverse
(optional boolean): Reverse sort orderget-order
orderId
(string): ID of the order to retrievecreate-discount
title
(string): Title of the discountcode
(string): Discount code that customers will entervalueType
(enum): Type of discount ('percentage' or 'fixed_amount')value
(number): Discount value (percentage as decimal or fixed amount)startsAt
(string): Start date in ISO formatendsAt
(optional string): Optional end date in ISO formatappliesOncePerCustomer
(boolean): Whether discount can be used only once per customercreate-draft-order
lineItems
(array): Array of items with variantId and quantityemail
(string): Customer emailshippingAddress
(object): Shipping address detailsnote
(optional string): Optional note for the ordercomplete-draft-order
draftOrderId
(string): ID of the draft order to completevariantId
(string): ID of the variant in the draft orderget-collections
limit
(optional number, default: 10): Maximum number of collections to returnname
(optional string): Filter collections by nameget-shop
get-shop-details
manage-webhook
action
(enum): Action to perform ('subscribe', 'find', 'unsubscribe')callbackUrl
(string): Webhook callback URLtopic
(enum): Webhook topic to subscribe towebhookId
(optional string): Webhook ID (required for unsubscribe)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
Note: Store your access token securely. It provides access to your store data and should never be shared or committed to version control. More details on how to create a Shopify app can be found here.
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": ["-y", "shopify-mcp-server"],
"env": {
"SHOPIFY_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>",
"MYSHOPIFY_DOMAIN": "<YOUR_SHOP>.myshopify.com"
}
}
}
}
npm install
.env
file:SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
npm run build
npm test
Contributions are welcome! Please read our Contributing Guidelines first.
MIT
Built with ❤️ using the Model Context Protocol
Seamless access to top MCP servers powering the future of AI integration.