Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Shopify Multi Store

Shopify Multi Store

I
by io.github.alex-brecher

Connect AI agents to multiple Shopify Admin stores for reports, comparisons, and guarded updates.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y [email protected]
Provider
Claude Code
claude mcp add io.github.alex-brecher-shopify-multi-store -- npx -y [email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.alex-brecher-shopify-multi-store": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Connect AI agents to multiple Shopify Admin stores for reports, comparisons, and guarded updates.

Shopify Multi-Store MCP

One MCP server. Every Shopify store.

Query, compare, report, and make guarded updates across Shopify stores from Claude, ChatGPT, Codex, Cursor, VS Code, and other MCP clients.

Demo · Quick start · Reports · AI clients · Security

Version 2.0

Run it locally, or host one server for your team: everyone signs in with their own Shopify staff account and connects from Claude, ChatGPT, Codex or any remote MCP client, with Shopify's own staff permissions deciding what each person can do. Guided Admin workflows, ShopifyQL reports, schema validation, and a generic action surface for any Admin mutation are included. See feature coverage and acceptance requirements. Full Shopify ChatGPT parity is not yet verified.

See it work

The demonstration uses sample stores and sample data. The server keeps each real store credential separate.

Quick start

Install the server, connect your stores, and run the health check:

npm install --global shopify-multi-store-mcp-server
shopify-multi-store setup
shopify-multi-store doctor

Claude Code users can add the server with one command:

claude mcp add shopify-multi-store -- npx -y shopify-multi-store-mcp-server start

Each store gets a permanent alias and a separate secure credential. Every store operation requires that alias.

What you get

CapabilityResult
Multiple active storesKeep every Shopify store available in one AI conversation.
Cross-store reportsSearch products, compare catalogs, find stock gaps, and report fulfillment SLA breaches.
Parallel GraphQLRun one read-only query across up to one hundred stores.
Guarded mutationsTarget one store and pass an explicit confirmation for each update.
Secure credentialsUse macOS Keychain, Windows Credential Manager, or Linux Secret Service.
Portable skillsGuide Claude, Codex, Cursor, and other compatible agents.

This server and Shopify Dev MCP

The two servers solve different problems. Use both when an agent needs Shopify reference material and access to your stores.

CapabilityShopify Multi-Store MCPShopify Dev MCP
Primary purposeOperate connected Shopify Admin stores.Search Shopify developer resources.
Store dataRead and compare configured stores.Does not connect to Shopify Admin store data.
Multiple storesKeep named stores active in one session.Not designed for store portfolio operations.
ReportsProvide ready-made operations and catalog reports.Provide developer documentation and API schemas.
UpdatesRun guarded mutations against one selected store.Does not run Admin API updates against your stores.
AuthenticationUse separate credentials for each store.Needs no authentication.

Shopify Dev MCP helps an agent create and examine Shopify code. This server runs the approved operation against the selected store.

Ready-made reports

shopify_report runs one read-only report across selected stores. Set report to one of these:

ReportPurpose
portfolio_snapshotSummarize products, orders, customers, currency, plan, and store identity.
order_summarySummarize order values, discounts, tax, shipping, cancellations, and statuses.
customer_growthCompare new-customer counts across equal periods.
get_product_everywhereFind one exact SKU or handle across stores.
compare_inventoryCompare inventory quantities for selected SKUs across stores.
low_stock_reportFind low inventory and cross-store transfer opportunities.
compare_pricesHighlight price and compare-at-price differences for exact SKUs.
duplicate_sku_reportFind repeated SKUs inside stores and shared SKUs across stores.
list_unfulfilled_ordersList open fulfillment work across selected stores.
fulfillment_sla_reportFind late unfulfilled orders and show age buckets.
compare_catalogCompare products by handle, status, vendor, type, and variants.
catalog_gap_reportFind products that are missing or have different statuses.
catalog_healthFind missing merchandising, SEO, media, alt text, and inventory data.
recent_product_changesList products updated during a selected period.
compare_collectionsCompare collection content and configuration by handle.
store_locationsReview location, fulfillment, inventory, and address coverage.
analyticsRun one ShopifyQL query on each store, with a chart hint. Needs read_reports.

To search products across stores, use shopify_search with resource: "products" and stores.

Try prompts like these:

  • “Give me a portfolio snapshot for every connected store.”
  • “Summarize orders and current order values for the last 30 days. Keep currencies separate.”
  • “Show low, zero, and negative inventory across retail and wholesale.”
  • “Show products that are out of stock here but available in another store.”
  • “Find SKU A123 across every store and compare its status, price, and inventory.”
  • “Search every store for products related to protein.”
  • “Show unfulfilled orders older than two days, grouped by age.”
  • “Find products that are active in one store but missing or draft in another.”
  • “Find price differences and duplicate SKUs across these stores.”
  • “Compare inventory for SKU A123 and B456 across retail and wholesale.”
  • “List unfulfilled orders from the last seven days in three stores.”
  • “Audit catalog health and show the products with missing SEO or media data.”
  • “Compare the active catalog and featured collections across these stores.”

Connect an AI client

The server works in clients that support local stdio MCP servers. Agent Skills improve tool selection when the client supports them.

Add the MCP server:

claude mcp add shopify-multi-store -- npx -y shopify-multi-store-mcp-server start

Copy the included skill for personal use:

mkdir -p ~/.claude/skills/shopify-multi-store
cp skills/shopify-multi-store/SKILL.md ~/.claude/skills/shopify-multi-store/SKILL.md

Add this server to the client's MCP configuration:

{
  "mcpServers": {
    "shopify-multi-store": {
      "command": "npx",
      "args": ["-y", "shopify-multi-store-mcp-server", "start"]
    }
  }
}

Add this server to .vscode/mcp.json:

{
  "servers": {
    "shopify-multi-store": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "shopify-multi-store-mcp-server", "start"]
    }
  }
}

Use npx as the command and -y shopify-multi-store-mcp-server start as the arguments.

Copy skills/shopify-multi-store/SKILL.md into the client's skills directory when supported. Clients without skill support still get every MCP tool.

Host it for your team

Local use on your own computer (above) is the default. Hosting is optional: whoever wants a shared server runs one, and their team connects from the AI app they already use, on any plan: Claude (personal custom connector), ChatGPT, Codex, Claude Code, Cursor, VS Code, Gemini CLI, Windsurf, or any MCP client that supports remote servers.

People sign in with their own Shopify staff account, and every call runs with that person's own Shopify permissions: Shopify decides what they can do, with no roles or policy file on the server. Shopify tokens stay on the server, encrypted. Reconnecting is at most once a day and one click for all stores. Every tool call is audited.

Two ways to host, both self-hosted by whoever wants a shared server:

  • Cloudflare Workers: Deploy to Cloudflare Step-by-step in docs/DEPLOY-CLOUDFLARE.md: create a Shopify app, set four secrets, deploy, add the MCP URL in your AI app.
  • Any server: run shopify-multi-store serve (or the included Dockerfile) and share https://<host>/mcp.

See Connect from your AI app for per-client steps, docs/HOSTED.md for setup, and docs/ACTIONS.md for per-user access and the generic action tools.

Store authentication

MethodCommandBest fit
Admin API access tokenshopify-multi-store setupA custom app you already created in the store admin, with its shpat_ token.
Client credentialsshopify-multi-store oauthA Dev Dashboard app installed on stores in the same Shopify organization as the app.
Authorization codeshopify-multi-store oauthA Dev Dashboard app installed on a store outside that organization.

Authorization code setup uses http://127.0.0.1:3456/oauth/callback. Add it as an allowed redirect URL first.

The default authorization code scopes are read-only. Grant only the Admin API scopes required for the task.

Connect your first store

Each store needs an alias (lowercase letters, digits and hyphens, such as main) and its permanent *.myshopify.com domain, which the store admin shows under Settings > Domains. The credential depends on how you get Admin API access. Shopify now creates new apps in the Dev Dashboard; custom apps made in the store admin keep working where they already exist.

With a Dev Dashboard app (new setups):

  1. Open the Dev Dashboard (dev.shopify.com), choose Apps > Create app, and name it (for example "Multi-Store MCP").
  2. Create a version. Under access scopes, add the scopes you need. read_products,read_orders,read_inventory,read_locations,read_customers covers the read tools; for everything the tools can do, print the full list with node "$(npm root -g)/shopify-multi-store-mcp-server/scripts/print-scopes.mjs" --full and remove any scope your app is not approved for. For the authorization code method, also add the redirect URL http://127.0.0.1:3456/oauth/callback.
  3. Release the version, then install the app on your store from the Dev Dashboard, approving the scopes.
  4. Copy the app's client ID and client secret from its settings.
  5. Run shopify-multi-store oauth. Choose client-credentials if the store is in the same Shopify organization as the app, otherwise authorization-code (a browser window opens to approve). Enter the alias, the *.myshopify.com domain, the client ID and the client secret. With client credentials the server gets and refreshes tokens itself.

With a custom app created in the store admin:

  1. In the store admin, open Settings > Apps (Apps and sales channels in some admins) > Develop apps and open your app. If your admin still offers it, you can create one there.
  2. Under Configuration, give the Admin API the scopes you need, then install the app.
  3. Under API credentials, reveal the Admin API access token (it starts with shpat_; Shopify shows it once).
  4. Run shopify-multi-store setup and enter the alias, the *.myshopify.com domain and the token.

Then run shopify-multi-store doctor to check every store, and repeat for each further store. Secrets go to the operating system credential store, never to the configuration file.

Manage stores

shopify-multi-store list
shopify-multi-store doctor
shopify-multi-store remove store-alias
shopify-multi-store import /absolute/path/to/stores.json

The import copies credentials into the operating system credential store and preserves configured stores. Delete the old credential file after checking the import.

MCP tools

The server exposes 29 tools.

ToolAction
shopify_list_storesList configured store aliases.
shopify_get_shop_infoRead one store's identity.
shopify_check_accessShow granted scopes and which tools or resources would fail, across one or many stores.
shopify_reportRun a cross-store report (see above).
shopify_searchList or search products, collections, orders, customers, publications, redirects, pages, files, metaobjects, markets, themes, or delivery profiles on one store or several.
shopify_getRead one product, collection, order, inventory, metafield set, theme files, blog articles, uploaded image, or bulk operation by ID.
shopify_update_pricesSet price, compare-at price and unit cost for up to 250 SKUs on one store or several.
shopify_set_inventorySet available inventory with compare-and-set protection.
shopify_create_productCreate a product with options, variants, and images.
shopify_update_productUpdate product fields, variants, media, and tags.
shopify_create_collectionCreate a manual or smart collection and publish it to chosen channels.
shopify_update_collectionUpdate a collection and add products to a manual collection.
shopify_create_discountCreate a percentage discount code.
shopify_upload_imageUpload an image to Shopify Files.
shopify_metafieldsSet and delete metafields for any owner.
shopify_redirectsCreate and delete URL redirects.
shopify_tagsAdd and remove tags on a product, order, customer, or draft order.
shopify_update_orderUpdate order note, email, shipping address, and tags.
shopify_update_customerUpdate customer note, email, and tags.
shopify_create_fulfillmentFulfill an order's open fulfillment orders, with optional tracking.
shopify_find_actionsSearch every Admin API mutation.
shopify_describe_actionDescribe one mutation.
shopify_run_actionRun any mutation on one or more stores.
shopify_graphql_queryRun a read-only Admin GraphQL query.
shopify_graphql_query_manyRun one query across several stores.
shopify_graphql_mutationChange one store after exact authorization.
shopify_graphql_schemaExplore the Admin GraphQL schema.
shopify_validate_graphql_codeblocksValidate GraphQL without running it.
shopify_search_docs_chunksSearch Shopify documentation.

Read-only operations can run in parallel. Mutations stay isolated to the selected stores.

Every guided write tool defaults to dryRun: true, which returns a before/after (or would-create) preview without changing anything; pass dryRun: false, after the user authorizes the exact store and change, to apply it. The tool then reads the result back. Tags on products, orders, and customers change with addTags and removeTags; replaceTags replaces every tag and the preview lists the tags it would remove. Write results are never dropped for size: large results are trimmed, keeping status, counts, and every item that did not apply.

shopify_graphql_mutation and shopify_run_action refuse denylisted mutations and need confirm set to the mutation name for destructive ones, including mutations that are destructive only because of their arguments, such as a product status of ARCHIVED.

Generic action tools

Three tools reach every Shopify Admin API mutation (514 in API 2026-04), including the 483 without a dedicated tool:

ToolAction
shopify_find_actionsSearch all mutations by keyword and category; flags destructive ones and existing dedicated tools.
shopify_describe_actionShow one mutation's arguments, input fields, payload, a ready-to-edit document, and a scope hint.
shopify_run_actionRun a mutation on 1 to 100 stores, with per-store variables. Dry run by default, resolving every record ID it would touch; destructive mutations need confirm set to the mutation name.

A denylist blocks mutations that mint credentials or change the app's own billing. Request the full scope set with node scripts/print-scopes.mjs --full. See docs/ACTIONS.md for worked examples and what no third-party app can do.

Shopify companion skill

Install Shopify's official shopify skill:

shopify-multi-store install-shopify-skills

The command installs the skill for every supported agent it detects. Pass --agent <name> to select one agent, for example --agent claude-code.

The shopify skill is one skill with a routing table. Its admin topic searches Shopify documentation and validates custom Admin GraphQL operations. Its shopifyql topic covers sales, revenue, order, conversion, and trend analysis. Shopify's toolkit 2.0.0 merged the former shopify-admin and shopify-shopifyql skills into this one skill, and the toolkit's ucp skill (a shopping CLI) is not part of this install.

If Shopify renames the skill again, the command exits with status 1, prints the skills the toolkit ships, and shows the npx skills add command to install one by name. It never reports success after installing nothing.

This server still controls store selection, credentials, execution, and mutation authorization. Shopify's skill scripts send usage telemetry by default.

Set OPT_OUT_INSTRUMENTATION=true to turn off that telemetry.

This integration uses the official Shopify AI Toolkit. It also reflects useful patterns from Shopify Admin Skills.

Security model

Secrets never enter the main configuration file.

PlatformCredential backend
macOSKeychain
WindowsCredential Manager
LinuxSecret Service

The configuration stores aliases, domains, API versions, and non-secret OAuth client IDs. Its default path is ~/.config/codex-shopify-multi-store/stores.json.

The codex-shopify-multi-store name, in that path and as the credential store's service name, is a legacy name from the project's first version. It stays so existing installs keep their stores and credentials; it does not mean the server works only with Codex.

Set SHOPIFY_MULTI_STORE_CONFIG to use another configuration path.

  • Never commit access tokens, OAuth client secrets, .env files, or credential-bearing configuration files.
  • Grant only the Shopify Admin API scopes required for the task.
  • Confirm the target store before every mutation.
  • Read SECURITY.md for vulnerability reporting.

Linux credential storage requires a Secret Service provider, such as GNOME Keyring or KWallet.

Other installation options

Run a health check without a global install:

npx -y shopify-multi-store-mcp-server doctor

Install directly from GitHub (npm runs the prepare script, which builds the server):

npm install --global github:alex-brecher/shopify-multi-store

Development

git clone https://github.com/alex-brecher/shopify-multi-store.git
cd shopify-multi-store
npm ci
npm test
npm run test:live
npm pack --dry-run

The live test uses configured stores and performs read-only Shopify Admin API calls.

License

MIT

Read the changelog, contribution guide, security policy, and directory submission guide.

How do I install Shopify Multi Store?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Shopify Multi Store need an API key?
No required environment variable is listed on this record.
What transport does Shopify Multi Store use?
Shopify Multi Store runs locally over stdio.
When was Shopify Multi Store last checked?
Last checked 2026-10-16. Connect AI agents to multiple Shopify Admin stores for reports, comparisons, and guarded updates.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA