Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Shopify MCP

by miller-joeversion 0.1.2i★ 1iRuns on your computer
Registry nameio.github.miller-joe/shopify-mcp

Install

Overview

Description from the maker (original English)

MCP server for Shopify Admin API with a ComfyUI bridge for AI product image generation.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: Streamable HTTP
  • Category: Design, images & audio
  • You need to fill in: SHOPIFY_STORE, SHOPIFY_ACCESS_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 2 of 2 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: SHOPIFY_STORE, SHOPIFY_ACCESS_TOKEN, SHOPIFY_API_VERSION, COMFYUI_URL, COMFYUI_PUBLIC_URL, COMFYUI_DEFAULT_CKPT

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "-y",
        "@miller-joe/shopify-mcp"
      ],
      "env": {
        "SHOPIFY_STORE": "your-value",
        "SHOPIFY_ACCESS_TOKEN": "your-value",
        "SHOPIFY_API_VERSION": "your-value",
        "COMFYUI_URL": "your-value",
        "COMFYUI_PUBLIC_URL": "your-value",
        "COMFYUI_DEFAULT_CKPT": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add shopify --env SHOPIFY_STORE=your-value --env SHOPIFY_ACCESS_TOKEN=your-value --env SHOPIFY_API_VERSION=your-value --env COMFYUI_URL=your-value --env COMFYUI_PUBLIC_URL=your-value --env COMFYUI_DEFAULT_CKPT=your-value -- npx -y @miller-joe/shopify-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "-y",
        "@miller-joe/shopify-mcp"
      ],
      "env": {
        "SHOPIFY_STORE": "your-value",
        "SHOPIFY_ACCESS_TOKEN": "your-value",
        "SHOPIFY_API_VERSION": "your-value",
        "COMFYUI_URL": "your-value",
        "COMFYUI_PUBLIC_URL": "your-value",
        "COMFYUI_DEFAULT_CKPT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "shopify": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@miller-joe/shopify-mcp"
      ],
      "env": {
        "SHOPIFY_STORE": "your-value",
        "SHOPIFY_ACCESS_TOKEN": "your-value",
        "SHOPIFY_API_VERSION": "your-value",
        "COMFYUI_URL": "your-value",
        "COMFYUI_PUBLIC_URL": "your-value",
        "COMFYUI_DEFAULT_CKPT": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • SHOPIFY_STORE required env
    Store domain, e.g. 'my-store' or 'my-store.myshopify.com'
  • SHOPIFY_ACCESS_TOKEN secret required env
    Admin API access token (shpat_...). See README for how to create a custom app on a dev store.
  • SHOPIFY_API_VERSION env
    Shopify GraphQL Admin API version (default: 2026-04)
  • COMFYUI_URL env
    ComfyUI HTTP URL for bridge tools. When unset, generate_* bridge tools are disabled.
  • COMFYUI_PUBLIC_URL env
    Externally-reachable ComfyUI URL (defaults to COMFYUI_URL)
  • COMFYUI_DEFAULT_CKPT env
    Default ComfyUI checkpoint filename for bridge tools (default: sd_xl_base_1.0.safetensors)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account miller-joe, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 5 months ago

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Design, images & audioi

  • More stars than 75% of the other 2892 servers in this category
  • Published to the registry more recently than 6% of the other 2892 servers in this category
  • Basic checks equal to or better than 100% of the other 2892 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Shopify MCP safe?

It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: SHOPIFY_STORE, SHOPIFY_ACCESS_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 5 months ago, and the latest version (0.1.2) reached the registry 7 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Next AI Draw.io, Pascal 3D Editor, screenpipe

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Next AI Draw.io

draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand

by DayuanJiangWidely used↓ 21.7K/wk★ 36.9KUpdated 4 days ago

Runs on your computer

Pascal 3D Editor

Create, inspect, validate, and save editable 3D building scenes with Pascal's MCP server.

by pascalorgWidely used↓ 1K/wk★ 25.4KUpdated today

Computer or cloud✓ pascal.app

screenpipe

Search your local screen recordings, audio transcripts, and computer activity from screenpipe.

by screenpipeWidely used↓ 6.6K/wk★ 22.3KUpdated 8 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

shopify-mcp

MCP server for Shopify. Full Admin GraphQL API tooling plus an AI-driven product creation bridge via ComfyUI image generation.

The pitch

Every other Shopify MCP is a plain Admin API wrapper. This one pairs with @miller-joe/comfyui-mcp so you can say things like:

"Create a product called *'Nebula Dreamer'*. Generate a cosmic abstract image for it, description matching the vibe, tagged astrology, status draft."

Claude then runs ComfyUI, gets an image back, creates the Shopify product, and attaches the image, all in one call.

Install

# npx, no install

npx @miller-joe/shopify-mcp \ --shopify-store your-store.myshopify.com \ --shopify-access-token shpat_xxx

Docker

docker run -p 9110:9110 \ -e SHOPIFY_STORE=your-store.myshopify.com \ -e SHOPIFY_ACCESS_TOKEN=shpat_xxx \ -e COMFYUI_URL=http://comfyui:8188 \ ghcr.io/miller-joe/shopify-mcp:latest

Connect an MCP client

claude mcp add --transport http shopify http://localhost:9110/mcp

Or point your MCP gateway at the Streamable HTTP endpoint.

Configuration

CLI flagEnv varDefaultNotes
--shopify-storeSHOPIFY_STORE*(required)*my-store or my-store.myshopify.com
--shopify-access-tokenSHOPIFY_ACCESS_TOKEN*(required)*Admin API token (shpat_…)
--shopify-api-versionSHOPIFY_API_VERSION2026-04GraphQL Admin API version
--hostMCP_HOST0.0.0.0Bind host (HTTP mode only)
--portMCP_PORT9110Bind port (HTTP mode only)
--stdioMCP_TRANSPORT=stdio(unset)Speak MCP over stdio instead of HTTP. Use when launched as a subprocess by a stdio-first MCP client (Claude Desktop, mcp-inspector).
--comfyui-urlCOMFYUI_URL*(optional)*Enables bridge tools when set
--comfyui-public-urlCOMFYUI_PUBLIC_URLsame as --comfyui-urlExternal URL used for image references passed to Shopify
(no flag)COMFYUI_DEFAULT_CKPTsd_xl_base_1.0.safetensorsDefault checkpoint for bridge tools
Transports

The server speaks streamable HTTP by default (great for Claude Code, MetaMCP, raw fetch). Pass --stdio (or set MCP_TRANSPORT=stdio) to switch into stdio mode, which is what stdio-first clients like Claude Desktop and the MCP Inspector expect:

// claude_desktop_config.json

{ "mcpServers": { "shopify": { "command": "npx", "args": ["-y", "@miller-joe/shopify-mcp", "--stdio"], "env": { "SHOPIFY_STORE": "my-store.myshopify.com", "SHOPIFY_ACCESS_TOKEN": "shpat_…" } } } }

Getting a Shopify access token

Easy path, existing dev store: Shopify Admin → Apps → *Develop apps* → Create custom app → enable relevant Admin API scopes (write_products, read_orders, write_inventory, read_customers) → install → copy the admin API access token (starts with shpat_).

For new apps (post-Jan 2026): legacy custom-app tokens are deprecated for freshly-created apps. Use the Dev Dashboard token-exchange flow once to obtain a working token, then supply it here. Multi-tenant OAuth is on the roadmap.

Tools

Core Admin
ToolDescription
list_productsPaginated product search with Shopify query syntax
get_productFetch one product with variants, images, media
create_productCreate a product (default DRAFT); optionally attach images
update_productUpdate title, description, tags, status, etc.
upload_product_imageAttach a public image URL to an existing product
list_ordersList orders, newest first, with query filters
get_orderFetch one order with line items
set_inventory_quantitySet absolute on-hand inventory at a location
list_locationsList store locations (for inventory ops)
list_customersList customers with query filters
Metafields
ToolDescription
set_metafieldUpsert a metafield on any HasMetafields resource (product, variant, collection, customer, order, shop, etc.)
list_metafieldsList metafields for a resource, optionally filtered by namespace
delete_metafieldDelete a metafield by (ownerId, namespace, key)
Draft orders
ToolDescription
list_draft_ordersList draft orders with Shopify query filters
get_draft_orderFetch one draft order with its line items
create_draft_orderCreate a draft order. Line items can be variant refs or custom (title + price).
update_draft_orderUpdate customer, line items, tags, note, email
complete_draft_orderConvert a draft order to a real order. paymentPending skips capture.
delete_draft_orderDelete a non-completed draft order
Webhooks
ToolDescription
list_webhooksList webhook subscriptions; filter by topic(s)
get_webhookFetch a single subscription
create_webhookSubscribe an HTTPS callback URL to a topic (e.g. ORDERS_CREATE)
update_webhookChange callback URL, format, or field/metafield filters
delete_webhookDelete a subscription
Metaobjects
ToolDescription
list_metaobject_definitionsDiscover metaobject types (schemas) on the store, including field definitions
list_metaobjectsList metaobjects of a given type
get_metaobjectFetch one metaobject with all its fields
create_metaobjectCreate a metaobject (type must already exist as a definition). Supports ACTIVE/DRAFT status.
update_metaobjectUpsert fields, change handle, toggle publishable status
delete_metaobjectDelete a metaobject
Fulfillment
ToolDescription
list_fulfillment_ordersList an order's fulfillment orders (one per shipping location), with remaining quantities per line item
get_fulfillment_orderFetch a single fulfillment order
get_fulfillmentFetch a single fulfillment (shipment record) with tracking info
create_fulfillmentMark fulfillment orders (or specific quantities) as fulfilled. Optionally attach tracking and notify the customer.
update_fulfillment_trackingUpdate carrier/number/url on an existing fulfillment
cancel_fulfillmentCancel a fulfillment by ID

Partial fulfillment is supported. Pass specific fulfillmentOrderLineItems with quantity per line, or omit the array to fulfill everything on the fulfillment order.

Variants and product options
ToolDescription
list_variantsList all variants of a product with selected options, price, SKU, inventory
create_variantsBulk-create variants (up to 100) with option values, price, SKU, compareAtPrice, initial inventory
update_variantsBulk-update variant price, compareAtPrice, SKU, barcode, taxable, inventoryPolicy, option values
delete_variantsBulk-delete variants from a product
reorder_variantsSet 1-indexed positions for variants
add_product_optionsAdd options (Size / Color / etc.) with their possible values. Up to 3 options per product.

For an entirely new product, creating the first real variant requires strategy="REMOVE_STANDALONE_VARIANT" to replace the auto-generated "Default Title" variant.

Collections and tagging
ToolDescription
list_collectionsList collections with query filters
get_collectionFetch one collection with its products
create_collectionCreate a manual collection, optionally seeded with products
update_collectionUpdate title, description, or handle
delete_collectionDelete a collection
add_products_to_collectionAdd products to a manual collection (async job on Shopify's side)
remove_products_from_collectionRemove products from a manual collection
add_tagsAdd tags to any taggable resource (Product, Order, Customer, DraftOrder, Collection)
remove_tagsRemove tags from a taggable resource
Analytics (ShopifyQL)
ToolDescription
run_shopifyql_queryRun a ShopifyQL query and render the result as an ASCII table. Pass raw=true for the raw JSON payload.

Examples:

  • FROM sales SHOW total_sales BY day SINCE -30d TIMESERIES
  • FROM products SHOW product_title, quantity_sold BY product_id SINCE -7d ORDER BY quantity_sold DESC LIMIT 10
ComfyUI bridge (when COMFYUI_URL is configured)
ToolDescription
generate_and_create_productGenerate an image and create a product with it, in one call. Title and description derive from the prompt if not given.
generate_product_imageGenerate an image and attach it to an existing product.
refine_product_imageRun img2img on a product's featured image (or an explicit URL) and attach the refined result. Tune denoise (0–1) for how far the result drifts from the source.
bulk_regenerate_imagesFor all products matching a query, run the generator with a templated prompt and attach fresh images.

Template placeholders for bulk_regenerate_images: {title}, {handle}.

Example: the whole pitch in one call

Claude, use generate_and_create_product:

prompt: "minimalist sunset mountain silhouette, warm gradient, vector style" title: "Mountain Sunset Poster" status: DRAFT tags: ["posters", "nature", "minimalist"]

ComfyUI generates the image, Shopify creates the product with the image attached, and you get the product ID and image URL back. One prompt, one call, real listing.

Architecture

┌────────────────┐     ┌──────────────────┐     ┌─────────────────┐

│ MCP client │────▶│ shopify-mcp │────▶│ Shopify Admin │ │ (Claude etc.) │◀────│ (this server) │◀────│ GraphQL API │ └────────────────┘ └────────┬─────────┘ └─────────────────┘ │ │ (bridge tools only) ▼ ┌──────────────────┐ │ ComfyUI │ │ (txt2img) │ └──────────────────┘

Bridge tools call ComfyUI directly over HTTP, get an image URL, and pass it to Shopify's productCreateMedia mutation. Shopify fetches and hosts the image on its CDN.

Development

git clone https://github.com/miller-joe/shopify-mcp

cd shopify-mcp npm install npm run dev # hot reload via tsx watch npm run build npm run typecheck npm test

Requires Node 20+.

Roadmap

Shipped:

  • Core products CRUD plus image attach
  • Orders read, Inventory set + locations, Customers read
  • ComfyUI bridge: generate_and_create_product, generate_product_image, bulk_regenerate_images
  • Metafields: set_metafield, list_metafields, delete_metafield
  • Draft orders: create / update / complete / delete / list / get
  • Collections and tagging: CRUD, product add/remove, add_tags / remove_tags
  • Variants and product options: bulk create / update / delete / reorder plus add_product_options
  • Fulfillment: list/get fulfillment orders, create fulfillment (partial supported), update tracking, cancel
  • Webhooks: list / get / create / update / delete
  • Metaobjects: definitions list plus metaobject CRUD
  • ShopifyQL analytics: run_shopifyql_query with ASCII-table rendering
  • Image refinement bridge: refine_product_image (ComfyUI img2img on product images)

Planned:

  • OAuth tok

Only the beginning is shown; read the rest in the repo