Skip to main content
Glama

Shopify MCP Server

by tanush-yadav
README.md5.31 kB
# 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 1. Node.js (v16+) 2. Shopify Custom App Access Token ## Installation ```bash git clone https://github.com/pashpashpash/shopify-mcp-server.git cd shopify-mcp-server npm install npm run build ``` ## Shopify Setup & Configuration 1. **Create Custom App**: In Shopify admin > **Settings** > **Apps and sales channels** > **Develop apps** > **Create an app**. 2. **Configure Scopes**: Grant `read/write` permissions for `products`, `customers`, and `orders`. 3. **Install App & Get Token**: Install the app and copy the **Admin API access token**. 4. **Create `.env` file** in the project root: ``` SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com ``` 5. **Configure Claude Desktop** (`claude_desktop_config.json`): * macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` * Windows: `%APPDATA%/Claude/claude_desktop_config.json` ```json { "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" } } } } ``` *Note: Use the correct path to the cloned repo and store your token securely.* ## Available Tools ### Product Management 1. `findProducts`: Get all products or search by title. * `searchTitle` (optional string): Filter by title. * `limit` (number): Max products. 2. `listProductsInCollection`: Get products from a collection. * `collectionId` (string): Collection ID. * `limit` (optional number, default: 10): Max products. 3. `getProductsByIds`: Get products by IDs. * `productIds` (array of strings): Product IDs. 4. `getVariantsByIds`: Get variants by IDs. * `variantIds` (array of strings): Variant IDs. ### Customer Management 5. `listCustomers`: Get customers with pagination. * `limit` (optional number): Max customers. * `next` (optional string): Next page cursor. 6. `addCustomerTags`: Add tags to a customer. * `customerId` (string): Customer ID. * `tags` (array of strings): Tags to add. ### Order Management 7. `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. 8. `getOrderById`: Get a single order by ID. * `orderId` (string): Order ID. 9. `createDraftOrder`: Create a draft order. * `lineItems` (array): Items (variantId, quantity). * `email` (string): Customer email. * `shippingAddress` (object): Shipping details. * `note` (optional string): Order note. 10. `completeDraftOrder`: Complete a draft order. * `draftOrderId` (string): Draft order ID. * `variantId` (string): Variant ID. ### Discount Management 11. `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 12. `listCollections`: Get all collections. * `limit` (optional number, default: 10): Max collections. * `name` (optional string): Filter by name. ### Shop Information 13. `getShopDetails`: Get basic shop details (No inputs). 14. `getExtendedShopDetails`: Get extended shop details (No inputs). ### Webhook Management 15. `manageWebhooks`: Manage webhooks. * `action` (enum): 'subscribe', 'find', 'unsubscribe'. * `callbackUrl` (string): Webhook URL. * `topic` (enum): Webhook topic. * `webhookId` (optional string): Required for unsubscribe. ### Debugging Tools 16. `debugGetVariantMetafield`: Get variant & `size_chart_json` metafield. * `variantId` (string): Variant GID. ### Developer Tools 17. `introspect_admin_schema`: Introspect Admin API GraphQL schema. * `query` (string): Filter term. * `filter` (optional array): Filter by 'types', 'queries', 'mutations', 'all'. 18. `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 ```bash npm install npm run build npm test ``` ## Dependencies - @modelcontextprotocol/sdk - graphql-request - zod ## License MIT --- Note: Fork of [original shopify-mcp-server repository](https://github.com/rezapex/shopify-mcp-server-main)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tanush-yadav/shopify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server