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 claudeThis 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 claudeAfter 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_productsread_customers,write_customersread_orders,write_ordersread_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
.envfile 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
6 months agoRepository age
7 monthsLicense
MIT
Auto-fetched from GitHub .
MCP servers similar to Shopify:
Stars
Forks
Last commit
Stars
Forks
Last commit
Stars
Forks
Last commit