- Home
- MCP servers
- Shopify
Shopify
- typescript
3
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"tanush-yadav-shopify-mcp": {
"command": "node",
"args": [
"path/to/shopify-mcp-server/dist/index.js"
],
"env": {
"MYSHOPIFY_DOMAIN": "your-store.myshopify.com",
"SHOPIFY_ACCESS_TOKEN": "your_access_token"
}
}
}
}You have a Shopify MCP Server that lets you manage store data—products, customers, orders, and more—through GraphQL. It enables you to perform common store operations via a unified MCP interface, making it easier to build integrations and automate workflows from your MCP client.
How to use
Install, configure, and run the Shopify MCP Server so your MCP client can perform product, customer, and order operations through GraphQL. You will interact with the server through the MCP client to find products, manage customers, handle orders, and run debugging commands. The server exposes a set of tools that map to Shopify data entities and actions, and it handles authentication and error reporting to keep your workflows running smoothly.
To start, ensure you have a valid Shopify Custom App access token and the store domain. Run the server locally or connect to it via an HTTP MCP endpoint if you choose that deployment path. Your MCP client will call the available tools to perform reads and mutations against your Shopify store data.
How to install
Prerequisites: Node.js version 16+ and a Shopify Custom App access token.
git clone https://github.com/pashpashpash/shopify-mcp-server.git
cd shopify-mcp-server
npm install
npm run build
Additional configuration and usage notes
Configure the MCP server to run with the Shopify token and store domain. You will set environment variables to supply the necessary credentials to the server.
SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
Claude Desktop integration (example)
The server can be wired to Claude Desktop using a configuration file that points to the local MCP server entry point and passes the needed environment variables.
{
"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"
}
}
}
}
Security and best practices
Keep your Shopify access token secure. Do not commit tokens to source control. Use per-environment tokens and restrict scopes to what you need (read/write for products, customers, and orders). If you deploy to production, consider using a secrets manager and rotate tokens periodically.
Troubleshooting
Common issues include authentication errors due to token or domain misformatting and API errors caused by rate limits or missing fields. Check your token, domain, and scopes, and ensure the server has network access to Shopify endpoints.
Developer notes
The server is designed to expose a set of tools that map to Shopify data operations. Use your MCP client to call these tools in a way that aligns with your workflow, such as searching products, listing customers, or creating and completing draft orders.
Debugging
Review the Claude Desktop MCP logs for runtime messages and errors. Use the following command to tail the logs on macOS where Claude writes its MCP logs.
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Development
To develop and test locally, install dependencies, build, and run tests as you would with a typical Node.js project.
npm install
npm run build
npm test
Dependencies
This server depends on the following packages: @modelcontextprotocol/sdk, graphql-request, and zod. These libraries enable GraphQL interaction, schema validation, and MCP protocol features.
License
MIT license.
Available tools
findProducts
Retrieve all products or search by title with optional filters like title, and limit results.
listProductsInCollection
Fetch products belonging to a specific collection by collectionId with an optional limit.
getProductsByIds
Get detailed product data for a list of product IDs.
getVariantsByIds
Retrieve variant data by IDs.
listCustomers
List customers with pagination by providing limit and next page cursor.
addCustomerTags
Attach tags to a specific customer by ID.
findOrders
Query orders with filters, sorting, and pagination.
getOrderById
Fetch a single order by its ID.
createDraftOrder
Create a draft order with line items, customer email, shipping address, and optional note.
completeDraftOrder
Complete a previously created draft order using draftOrderId and a variantId.
createDiscountCode
Create a basic discount code with value type, timing, and applicability.
listCollections
List all collections with optional name filtering and limit.
getShopDetails
Fetch basic shop details without inputs.
getExtendedShopDetails
Fetch extended shop details without inputs.
manageWebhooks
Subscribe, find, or unsubscribe webhooks for specified topics and a callback URL.
debugGetVariantMetafield
Fetch variant metafields, including size_chart_json, for debugging.
introspect_admin_schema
Introspect the Admin API GraphQL schema with optional filters.
search_dev_docs
Search Shopify developer docs with a query.