Shopify MCP Server

by tanush-yadav
MIT License

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

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
    { "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

  1. listCustomers: Get customers with pagination.
    • limit (optional number): Max customers.
    • next (optional string): Next page cursor.
  2. addCustomerTags: Add tags to a customer.
    • customerId (string): Customer ID.
    • tags (array of strings): Tags to add.

Order Management

  1. 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.
  2. getOrderById: Get a single order by ID.
    • orderId (string): Order ID.
  3. createDraftOrder: Create a draft order.
    • lineItems (array): Items (variantId, quantity).
    • email (string): Customer email.
    • shippingAddress (object): Shipping details.
    • note (optional string): Order note.
  4. completeDraftOrder: Complete a draft order.
    • draftOrderId (string): Draft order ID.
    • variantId (string): Variant ID.

Discount Management

  1. 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

  1. listCollections: Get all collections.
    • limit (optional number, default: 10): Max collections.
    • name (optional string): Filter by name.

Shop Information

  1. getShopDetails: Get basic shop details (No inputs).
  2. getExtendedShopDetails: Get extended shop details (No inputs).

Webhook Management

  1. manageWebhooks: Manage webhooks.
    • action (enum): 'subscribe', 'find', 'unsubscribe'.
    • callbackUrl (string): Webhook URL.
    • topic (enum): Webhook topic.
    • webhookId (optional string): Required for unsubscribe.

Debugging Tools

  1. debugGetVariantMetafield: Get variant & size_chart_json metafield.
    • variantId (string): Variant GID.

Developer Tools

  1. introspect_admin_schema: Introspect Admin API GraphQL schema.
    • query (string): Filter term.
    • filter (optional array): Filter by 'types', 'queries', 'mutations', 'all'.
  2. 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

-
security - not tested
-
license - not tested
-
quality - not tested

Enables interaction with Shopify store data (products, customers, orders) via GraphQL, providing comprehensive tools for store management through Claude.

  1. Features
    1. Prerequisites
      1. Installation
        1. Shopify Setup & Configuration
          1. Available Tools
            1. Product Management
            2. Customer Management
            3. Order Management
            4. Discount Management
            5. Collection Management
            6. Shop Information
            7. Webhook Management
            8. Debugging Tools
            9. Developer Tools
          2. Debugging
            1. Development
              1. Dependencies
                1. License

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    Enables interaction with Shopify store data using the GraphQL API, supporting product, customer, and order management with comprehensive error handling.
                    Last updated -
                    15
                    89
                    7
                    TypeScript
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Enables interaction with Shopify store data via GraphQL API, providing tools for managing products, customers, orders, discounts, and more with robust error handling.
                    Last updated -
                    15
                    89
                    30
                    TypeScript
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    This MCP server connects clients with Shopify store data, enabling retrieval of product and customer information via exposed tools.
                    Last updated -
                    2
                    Python
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    MCP server that integrates with Shopify API, allowing Claude Desktop users to retrieve and manipulate product information from Shopify stores.
                    Last updated -
                    5
                    Python
                    MIT License
                    • Apple

                  View all related MCP servers

                  ID: 0nchzaefdg