Shopify MCP Server
Interact with Shopify store data such as products, customers, and orders using the GraphQL API.
Shopify MCP Server
MCP Server for Shopify API, enabling interaction with store data (products, customers, orders, etc.) via GraphQL.
Features
Provides tools for product, customer, and order management, direct GraphQL integration, and clear error handling.
Prerequisites
- Node.js (v16+)
- Shopify Custom App Access Token
Installation
git clone https://github.com/pashpashpash/shopify-mcp-server.git
cd shopify-mcp-server
npm install
npm run build
Shopify Setup & Configuration
- Create Custom App: In Shopify admin > Settings > Apps and sales channels > Develop apps > Create an app.
- Configure Scopes: Grant
read/writepermissions forproducts,customers, andorders. - Install App & Get Token: Install the app and copy the Admin API access token.
- Create
.envfile in the project root:SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com - Configure Claude Desktop (
claude_desktop_config.json):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Note: Use the correct path to the cloned repo and store your token securely.{ "mcpServers": { "shopify": { "command": "node", "args": ["path/to/shopify-mcp-server/dist/index.js"], "env": { "SHOPIFY_ACCESS_TOKEN": "your_access_token", "MYSHOPIFY_DOMAIN": "your-store.myshopify.com" } } } } - macOS:
Available Tools
Product Management
findProducts: Get all products or search by title.searchTitle(optional string): Filter by title.limit(number): Max products.
listProductsInCollection: Get products from a collection.collectionId(string): Collection ID.limit(optional number, default: 10): Max products.
getProductsByIds: Get products by IDs.productIds(array of strings): Product IDs.
getVariantsByIds: Get variants by IDs.variantIds(array of strings): Variant IDs.
Customer Management
listCustomers: Get customers with pagination.limit(optional number): Max customers.next(optional string): Next page cursor.
addCustomerTags: Add tags to a customer.customerId(string): Customer ID.tags(array of strings): Tags to add.
Order Management
findOrders: Get orders with advanced filtering/sorting.first(optional number): Limit orders.after(optional string): Next page cursor.query(optional string): Filter query.sortKey(optional enum): Sort field.reverse(optional boolean): Reverse sort.
getOrderById: Get a single order by ID.orderId(string): Order ID.
createDraftOrder: Create a draft order.lineItems(array): Items (variantId, quantity).email(string): Customer email.shippingAddress(object): Shipping details.note(optional string): Order note.
completeDraftOrder: Complete a draft order.draftOrderId(string): Draft order ID.variantId(string): Variant ID.
Discount Management
createDiscountCode: Create a basic discount code.title(string): Discount title.code(string): Discount code.valueType(enum): 'percentage' or 'fixed_amount'.value(number): Discount value.startsAt(string): Start date (ISO).endsAt(optional string): End date (ISO).appliesOncePerCustomer(boolean): Limit one use per customer.
Collection Management
listCollections: Get all collections.limit(optional number, default: 10): Max collections.name(optional string): Filter by name.
Shop Information
getShopDetails: Get basic shop details (No inputs).getExtendedShopDetails: Get extended shop details (No inputs).
Webhook Management
manageWebhooks: Manage webhooks.action(enum): 'subscribe', 'find', 'unsubscribe'.callbackUrl(string): Webhook URL.topic(enum): Webhook topic.webhookId(optional string): Required for unsubscribe.
Debugging Tools
debugGetVariantMetafield: Get variant &size_chart_jsonmetafield.variantId(string): Variant GID.
Developer Tools
introspect_admin_schema: Introspect Admin API GraphQL schema.query(string): Filter term.filter(optional array): Filter by 'types', 'queries', 'mutations', 'all'.
search_dev_docs: Search shopify.dev docs.prompt(string): Search query.
Debugging
Check Claude Desktop MCP logs:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Common issues:
- Authentication: Check token, domain format, API scopes.
- API Errors: Check rate limits, input formats, required fields.
Development
npm install
npm run build
npm test
Dependencies
- @modelcontextprotocol/sdk
- graphql-request
- zod
License
MIT
Note: Fork of original shopify-mcp-server repository
Related Servers
Spotify
Control Spotify playback using natural language commands.
Yuno Payments
Access the Yuno payment platform API to manage payments, customers, and checkouts programmatically.
Spring AI Weather Server
An MCP server providing weather tools from the National Weather Service (weather.gov) API, built with Spring Boot.
AWS Cognito MCP Server
An MCP server for AWS Cognito, providing authentication and user management.
MCP Kubernetes
Execute Kubernetes commands using kubectl from any MCP-compatible client. Requires a valid kubeconfig file.
Remote MCP Server on Cloudflare
A remote MCP server running on Cloudflare Workers with OAuth login support.
MCP Kubernetes Server
Control Kubernetes clusters through interactions with Large Language Models (LLMs).
MCP Remote with Okta/Adobe IMS Authentication
A remote MCP server that uses Adobe IMS/Okta for authentication.
Bitpin Exchange
Interact with the Bitpin cryptocurrency exchange API to manage wallets, view market data, and execute orders.
Cisco NSO MCP Server
An MCP server for Cisco NSO (Network Services Orchestrator) that exposes NSO data and operations as MCP primitives.