
Shopify Mcp
io.github.miller-joePublished by GitHub account miller-joev0.1.2Updated Oct 24, 2026
MCP server for Shopify Admin API with a ComfyUI bridge for AI product image generation.
Overview
Lets an assistant manage a Shopify store through the Admin GraphQL API, including products, orders, inventory, and optional AI image generation via ComfyUI.
- What you can do
- Wraps the Shopify Admin GraphQL API in tools for products, variants, collections, metafields, metaobjects, draft orders, fulfillment, webhooks, customers, and ShopifyQL analytics. Write tools create, update, and delete store data, and fulfillment tools can mark orders shipped and notify customers. When a ComfyUI URL is configured, bridge tools generate product images and can create or update products with them in one call.
- When to use it
- Use it when an assistant should read or change a Shopify store directly, for example bulk product edits, inventory updates, draft orders, fulfillment, or running ShopifyQL reports. The ComfyUI bridge is worth adding only if you also run ComfyUI and want generated product imagery attached automatically.
- Requirements
- Runs locally as an npm package (Node 20+) over stdio or streamable HTTP. Requires SHOPIFY_STORE and the secret SHOPIFY_ACCESS_TOKEN (a shpat_ Admin API token with the needed scopes); SHOPIFY_API_VERSION is optional. The ComfyUI bridge tools need COMFYUI_URL, and optionally COMFYUI_PUBLIC_URL and COMFYUI_DEFAULT_CKPT. Network access to Shopify and, for the bridge, to ComfyUI.
Installation
In SourceWeft
- Open Shopify Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
Connect an MCP client
Or point your MCP gateway at the Streamable HTTP endpoint.
Configuration
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:
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
Metafields
Draft orders
Webhooks
Metaobjects
Fulfillment
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
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
Analytics (ShopifyQL)
Examples:
FROM sales SHOW total_sales BY day SINCE -30d TIMESERIESFROM 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)
Template placeholders for bulk_regenerate_images: {title}, {handle}.
Example: the whole pitch in one call
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
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
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_querywith ASCII-table rendering - Image refinement bridge:
refine_product_image(ComfyUI img2img on product images)
Planned:
- OAuth token-exchange flow for new-app auth.
License
MIT © Joe Miller
Support
If this saves you time, consider supporting development:
Source: README.md at commit fa2c64c
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts