Shopify MCP Server

Shopify MCP Server

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

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured