
Shopify
Manage your Shopify store data effortlessly. Interact with products, customers, and orders. Streamline your e-commerce operations.
Installation
Installing for Claude Desktop
Option 1: One-Command Installation
npx mcpbar@latest install sarayd/mcp-shopify -c claude
This command will automatically install and configure the Shopify MCP server for your selected client.
Option 2: Manual Configuration
Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
After opening your configuration file, copy and paste this configuration:
View JSON configuration
{
"mcpServers": {
"Shopify": {
"command": "npx",
"args": [
"shopify-mcp",
"--accessToken",
"<YOUR_ACCESS_TOKEN>",
"--domain",
"<YOUR_SHOP>.myshopify.com"
]
}
}
}
Shopify MCP Server
MCP Server for Shopify API, enabling interaction with store data through GraphQL API. This server provides tools for managing products, customers, orders, and more.
Features
- Product Management: Search and retrieve product information
- Customer Management: Load customer data and manage customer tags
- Order Management: Advanced order querying and filtering
- Collection Management: Create and manage collections
Setup
Shopify Access Token
To use this MCP server, you'll need to create a custom app in your Shopify store:
- From your Shopify admin, go to Settings > Apps and sales channels
- Click Develop apps (you may need to enable developer preview first)
- Click Create an app
- Set a name for your app (e.g., "Shopify MCP Server")
- Click Configure Admin API scopes
- Select the following scopes:
read_products
,write_products
read_customers
,write_customers
read_orders
,write_orders
read_collections
,write_collections
- Click Save
- Click Install app
- Click Install to give the app access to your store data
- After installation, you'll see your Admin API access token
- Copy this token - you'll need it for configuration
Usage with Claude Desktop
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": [
"shopify-mcp",
"--accessToken",
"<YOUR_ACCESS_TOKEN>",
"--domain",
"<YOUR_SHOP>.myshopify.com"
]
}
}
}
Locations for the Claude Desktop config file:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
Alternative: Run Locally with Environment Variables
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
Direct Installation (Optional)
If you want to install the package globally:
npm install -g shopify-mcp
Then run it:
shopify-mcp --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.com
Available Tools
Product Management
-
get-products
- Get all products or search by title
- Inputs:
searchTitle
(optional string): Filter products by titlelimit
(number): Maximum number of products to return
-
get-product-by-id
- Get a specific product by ID
- Inputs:
productId
(string): ID of the product to retrieve
Customer Management
-
get-customers
- Get customers or search by name/email
- Inputs:
searchQuery
(optional string): Filter customers by name or emaillimit
(optional number, default: 10): Maximum number of customers to return
-
update-customer
- Update a customer's information
- Inputs:
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 data
-
get-customer-orders
- Get orders for a specific customer
- Inputs:
customerId
(string, required): Shopify customer ID (numeric ID only, like "6276879810626")limit
(optional number, default: 10): Maximum number of orders to return
-
create-customer
- Create a new customer in Shopify
- Inputs:
email
(string, required): Customer's email addressfirstName
(string, optional): Customer's first namelastName
(string, optional): Customer's last namephone
(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 taxespassword
(string, optional): Password for the customer accountpasswordConfirmation
(string, optional): Confirmation of the passwordaddresses
(array of objects, optional): Customer's addressesmetafields
(array of objects, optional): Customer metafields for storing additional data
Order Management
-
get-orders
- Get orders with optional filtering
- Inputs:
status
(optional string): Filter by order statuslimit
(optional number, default: 10): Maximum number of orders to return
-
get-order-by-id
- Get a specific order by ID
- Inputs:
orderId
(string, required): Full Shopify order ID (e.g., "gid://shopify/Order/6090960994370")
-
update-order
- Update an existing order with new information
- Inputs:
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 information
-
create-order
- Create a new draft order in Shopify
- Inputs:
lineItems
(array of objects, required): Products to include in the ordervariantId
(string, required): ID of the product variantquantity
(number, required): Quantity of the productcustomAttributes
(array of objects, optional): Custom attributes for the line item
email
(string, optional): Customer emailphone
(string, optional): Customer phone numbernote
(string, optional): Order notestags
(array of strings, optional): Tags for the ordercustomAttributes
(array of objects, optional): Custom attributes for the ordermetafields
(array of objects, optional): Order metafieldsbillingAddress
(object, optional): Billing address informationshippingAddress
(object, optional): Shipping address informationcustomerId
(string, optional): ID of an existing customershippingLine
(object, optional): Shipping method and pricetaxExempt
(boolean, optional): Whether the order is exempt from taxespresentmentCurrencyCode
(string, optional): Currency code for the order
-
create-fulfillment
- Create a new fulfillment for an order in Shopify
- Inputs:
orderId
(string, required): ID of the order to fulfillnotifyCustomer
(boolean, default: true): Whether to notify the customer about the fulfillmenttrackingInfo
(object, optional): Tracking informationnumber
(string, optional): Tracking numberurl
(string, optional): Tracking URLcompany
(string, optional): Shipping company
lineItems
(array of objects, optional): Specific line items to fulfillid
(string, required): ID of the line itemquantity
(number, required): Quantity to fulfill
locationId
(string, optional): ID of the location fulfilling the ordertrackingNumbers
(array of strings, optional): Multiple tracking numberstrackingUrls
(array of strings, optional): Multiple tracking URLsmetadata
(object, optional): Additional metadata for the fulfillment
Collection Management
create-collection
- Create a new manual or automated collection in Shopify
- Inputs:
title
(string, required): Collection titledescription
(string, optional): Collection descriptiondescriptionHtml
(string, optional): HTML version of the descriptionhandle
(string, optional): URL handle for the collectionisPublished
(boolean, optional): Whether the collection is publishedseo
(object, optional): SEO settingstitle
(string, optional): SEO titledescription
(string, optional): SEO description
image
(object, optional): Collection imagesrc
(string, required): Image URLaltText
(string, optional): Alt text for the image
productsToAdd
(array of strings, optional): Product IDs to add to the collectionsortOrder
(string, optional): How products are sorted in the collection- Options: "MANUAL", "BEST_SELLING", "ALPHA_ASC", "ALPHA_DESC", "PRICE_DESC", "PRICE_ASC", "CREATED", "CREATED_DESC", "ID_DESC", "RELEVANCE"
templateSuffix
(string, optional): Template suffix for custom templatesprivateMetafields
(array of objects, optional): Private metafields for the collectionowner
(string, required): Metafield ownernamespace
(string, required): Metafield namespacekey
(string, required): Metafield keyvalue
(string, required): Metafield valuevalueType
(string, required): Type of the value (e.g., "STRING", "INTEGER", etc.)
ruleSet
(object, optional): Rules for automated collectionsrules
(array of objects, required): Collection rulescolumn
(string, required): Rule column (e.g., "TAG", "TITLE", etc.)relation
(string, required): Rule relation (e.g., "EQUALS", "CONTAINS", etc.)condition
(string, required): Rule condition value
appliedDisjunctively
(boolean, optional, default: true): Whether rules are combined with OR (true) or AND (false)
metafields
(array of objects, optional): Public metafields for the collectionnamespace
(string, required): Metafield namespacekey
(string, required): Metafield keyvalue
(string, required): Metafield valuetype
(string, required): Metafield type
publications
(array of objects, optional): Publication settingspublicationId
(string, required): ID of the publicationpublishDate
(string, optional): Date to publish the collection
License
MIT
Stars
6Forks
1Last commit
2 months agoRepository age
2 monthsLicense
MIT
Auto-fetched from GitHub .
MCP servers similar to Shopify:

Stars
Forks
Last commit

Stars
Forks
Last commit

Stars
Forks
Last commit