# io.github.alex-brecher/shopify-multi-store (npm · shopify-multi-store-mcp-server)

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

- Trust score: 87/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- npm · `shopify-multi-store-mcp-server`: 87/100 (this document), [markdown](https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server.md), [page](https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `shopify-multi-store-mcp-server`
- Version: `1.6.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 3 of 53 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to alex-brecher/shopify-multi-store).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 12 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 38/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 3755 tokens (~67/item across 56 items; 55 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 97/100
  - Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 77/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 30% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 56 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the io.github.alex-brecher/shopify-multi-store MCP server?

io.github.alex-brecher/shopify-multi-store runs locally as an npm package, launched with npx -y shopify-multi-store-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add alex-brecher-shopify-multi-store -- npx -y shopify-multi-store-mcp-server
```

### Cursor

```json
{
  "mcpServers": {
    "alex-brecher-shopify-multi-store": {
      "command": "npx",
      "args": [
        "-y",
        "shopify-multi-store-mcp-server"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "alex-brecher-shopify-multi-store": {
      "command": "npx",
      "args": [
        "-y",
        "shopify-multi-store-mcp-server"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add alex-brecher-shopify-multi-store -- npx -y shopify-multi-store-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "alex-brecher-shopify-multi-store": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "shopify-multi-store-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add alex-brecher-shopify-multi-store --command npx --arg -y --arg shopify-multi-store-mcp-server
```

### Hermes

```yaml
mcp_servers:
  alex-brecher-shopify-multi-store:
    command: "npx"
    args: ["-y", "shopify-multi-store-mcp-server"]
```

### Netclaw

```json
{
  "McpServers": {
    "alex-brecher-shopify-multi-store": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "shopify-multi-store-mcp-server"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add alex-brecher-shopify-multi-store -t stdio -c npx -a -y shopify-multi-store-mcp-server
```

### Other

```json
{
  "mcpServers": {
    "alex-brecher-shopify-multi-store": {
      "command": "npx",
      "args": [
        "-y",
        "shopify-multi-store-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-16 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-14 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-12 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-08 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-07 (score 80, −10)

- [security regression] Stability: 0.50 → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Schema quality: 1513 → 3755
- [functional regression] Tool coverage: 100% → 30%
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Capabilities: pass
- [functional] First check of Schema quality: 0
- [functional] First check of Schema quality: unverified
- [functional] Schema quality: excellent → fair
- [functional] Destructive annotations: pass → 100
- [functional] Package version: 1.5.1 → 1.6.0

## MCP tools (55)

### `shopify_get_store_capabilities` (~27 tokens)

Inspect store identity and granted access scopes.

Input parameters:

- `store` (string, required)

### `shopify_switch_shop` (~37 tokens)

Resolve a named store without disconnecting other stores. Continue to pass the store alias on every call.

Input parameters:

- `store` (string, required)

### `shopify_search_products` (~44 tokens)

Search products with cursor pagination.

Input parameters:

- `after` (string)
- `first` (integer)
- `query` (string)
- `store` (string, required)

### `shopify_get_product` (~60 tokens)

Get product details, variants and media. Follow each returned cursor independently.

Input parameters:

- `after` (string)
- `first` (integer)
- `id` (string, required)
- `mediaAfter` (string)
- `store` (string, required)

### `shopify_search_collections` (~48 tokens)

Search manual and smart collections with cursor pagination.

Input parameters:

- `after` (string)
- `first` (integer)
- `query` (string)
- `store` (string, required)

### `shopify_get_collection` (~49 tokens)

Get collection details, rules and a page of products.

Input parameters:

- `after` (string)
- `first` (integer)
- `id` (string, required)
- `store` (string, required)

### `shopify_list_orders` (~48 tokens)

List orders with Shopify search filters and cursor pagination.

Input parameters:

- `after` (string)
- `first` (integer)
- `query` (string)
- `store` (string, required)

### `shopify_get_order` (~53 tokens)

Get order, shipping, fulfillment, tracking and a page of line items.

Input parameters:

- `after` (string)
- `first` (integer)
- `id` (string, required)
- `store` (string, required)

### `shopify_list_customers` (~51 tokens)

Search customers with cursor pagination. Shopify protected-data permissions apply.

Input parameters:

- `after` (string)
- `first` (integer)
- `query` (string)
- `store` (string, required)

### `shopify_get_inventory_levels` (~69 tokens)

Get inventory by product or inventory item. Use inventoryItemId and after to page through additional locations.

Input parameters:

- `after` (string)
- `first` (integer)
- `inventoryItemId` (string)
- `productId` (string)
- `store` (string, required)

### `shopify_graphql_schema` (~38 tokens)

Explore the Admin GraphQL schema for this store API version.

Input parameters:

- `store` (string, required)
- `type_name` (string, required)

### `shopify_validate_graphql_codeblocks` (~42 tokens)

Validate Admin GraphQL operations against this store API version without executing them.

Input parameters:

- `codeblocks` (array, required)
- `store` (string, required)

### `shopify_run_analytics_query` (~42 tokens)

Run ShopifyQL and return columns, rows and chart metadata. Requires reports access.

Input parameters:

- `query` (string, required)
- `store` (string, required)

### `shopify_create_product` (~136 tokens)

Create a product, options, variants and images. Defaults to draft. Optional collection membership is a separate step.

Input parameters:

- `collectionId` (string)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `descriptionHtml` (string)
- `images` (array)
- `options` (array)
- `price` (string)
- `productType` (string)
- `status` (string)
- `store` (string, required)
- `tags` (array)
- `title` (string, required)
- `variants` (array)
- `vendor` (string)

### `shopify_update_product` (~122 tokens)

Update product fields, variants and media with a before/after result.

Input parameters:

- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `descriptionHtml` (string)
- `id` (string, required)
- `images` (array)
- `productType` (string)
- `removeMediaIds` (array)
- `status` (string)
- `store` (string, required)
- `tags` (array)
- `title` (string)
- `variants` (array)
- `vendor` (string)

### `shopify_create_collection` (~105 tokens)

Create a manual or smart collection. Pass publicationIds to publish to explicitly selected channels.

Input parameters:

- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `descriptionHtml` (string)
- `image` (object)
- `productIds` (array)
- `publicationIds` (array)
- `ruleSet` (object)
- `sortOrder` (string)
- `store` (string, required)
- `title` (string, required)

### `shopify_update_collection` (~93 tokens)

Update collection fields, rules or image with a before/after result.

Input parameters:

- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `descriptionHtml` (string)
- `id` (string, required)
- `image` (object)
- `ruleSet` (object)
- `sortOrder` (string)
- `store` (string, required)
- `title` (string)

### `shopify_add_to_collection` (~63 tokens)

Add products to a manual collection and return its current state.

Input parameters:

- `collectionId` (string, required)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `productIds` (array, required)
- `store` (string, required)

### `shopify_list_publications` (~27 tokens)

List publication IDs before publishing products or collections.

Input parameters:

- `store` (string, required)

### `shopify_publish_resource` (~57 tokens)

Publish a product or collection to explicit publication IDs.

Input parameters:

- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `id` (required)
- `publicationIds` (array, required)
- `store` (string, required)

### `shopify_bulk_update_product_status` (~83 tokens)

Update explicitly selected products or one collection, with bounded selection and per-product outcomes.

Input parameters:

- `collectionId` (string)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `maxProducts` (integer)
- `productIds` (array)
- `status` (string, required)
- `store` (string, required)

### `shopify_set_inventory` (~96 tokens)

Set available inventory using compare-and-set protection. Read inventory first.

Input parameters:

- `compareQuantity` (integer, required)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `idempotencyKey` (string)
- `inventoryItemId` (string, required)
- `locationId` (string, required)
- `quantity` (integer, required)
- `reason` (string)
- `store` (string, required)

### `shopify_create_discount` (~151 tokens)

Create a percentage discount with an explicit start date and customer audience.

Input parameters:

- `appliesOncePerCustomer` (boolean)
- `code` (string, required)
- `collectionId` (string)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `customerEligibility` (string)
- `customerSegments` (array)
- `endsAt` (string)
- `minimumPurchaseAmount` (number)
- `minimumQuantity` (integer)
- `percentage` (number, required)
- `productIds` (array)
- `startsAt` (string, required)
- `store` (string, required)
- `title` (string, required)
- `usageLimit` (integer)

### `shopify_upload_image` (~84 tokens)

Upload a local image or HTTPS source to Shopify, wait for processing, and return a CDN URL.

Input parameters:

- `alt` (string)
- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `filename` (string)
- `imageFile` (string)
- `sourceUrl` (string)
- `store` (string, required)

### `shopify_get_uploaded_image` (~38 tokens)

Read image processing status and its CDN URL without creating another file.

Input parameters:

- `id` (string, required)
- `store` (string, required)

### `shopify_bulk_export_start` (~59 tokens)

Start an asynchronous read-only Shopify bulk export. Save the returned operation ID to resume.

Input parameters:

- `confirm` (boolean, required): True only after authorization for this store and exact change.
- `query` (string, required)
- `store` (string, required)

### `shopify_bulk_export_status` (~40 tokens)

Resume a bulk export by its operation ID. Partial exports remain explicitly incomplete.

Input parameters:

- `id` (string, required)
- `store` (string, required)

### `shopify_create_preview_store` (~74 tokens)

Create a real temporary Shopify store that a merchant can claim. No existing store is modified. Reuse requestId after interruptions to prevent duplicate creation.

Input parameters:

- `country` (string)
- `name` (string, required)
- `requestId` (string, required)
- `userUnderstandsNewStoreOnly` (boolean, required)

### `shopify_get_preview_store` (~32 tokens)

Refresh preview and claim links for a temporary store created by this app.

Input parameters:

- `store` (string, required)

### `shopify_get_new_store_previews` (~178 tokens)

Start an asynchronous build of 1–3 designed storefront previews on separate NEW temporary Shopify stores, with a real claim link. Generate concrete design specifications from the user brief. Uses Shopify Dawn; does not alter an existing store. Reuse requestId after interruption. Generate demo products and designs from the brief. Products, pricing, and storefront copy remain editable after claiming.

Input parameters:

- `brandStyle` (string, required)
- `country` (string)
- `designs` (array, required)
- `name` (string, required)
- `productOrService` (string, required)
- `products` (array, required): Generate demo product concepts and proposed prices from the brief. Do not claim these are verified supplier offers.
- `requestId` (string, required)
- `targetAudience` (string, required)
- `userUnderstandsNewStoreOnly` (boolean, required)

### `shopify_get_new_store_preview_status` (~35 tokens)

Check an asynchronous storefront preview request and retrieve fresh preview and claim links.

Input parameters:

- `requestId` (string, required)

### `shopify_search_docs_chunks` (~49 tokens)

Search Shopify documentation and return source links. No store credentials are sent.

Input parameters:

- `api_name` (string)
- `max_num_results` (integer)
- `prompt` (string, required)

### `shopify_find_sample_product` (~90 tokens)

Find sample products across published Shopify demo catalogs. For categories without suitable samples, generate original product concepts from the user query and pass generatedCandidates to display draft-creation cards. Label concepts as examples, never supplier offers or verified products. Images are optional; use only available relevant image URLs.

Input parameters:

- `generatedCandidates` (array)
- `limit` (integer)
- `query` (string, required)

### `shopify_list_stores` (~31 tokens)

List Shopify Stores

List every Shopify Admin store that remains connected to this plugin. This tool does not expose access tokens.

### `shopify_get_shop_info` (~59 tokens)

Get Shopify Store Information

Get identity and account information from one named Shopify Admin store. Use this tool before a sensitive change to make sure that the selected store is correct.

Input parameters:

- `store` (string, required): Configured store alias, such as main-store or wholesale-store

### `shopify_graphql_query` (~84 tokens)

Query a Shopify Store

Run one read-only GraphQL Admin API query against one named store. Use cursor pagination and request only necessary fields.

Input parameters:

- `query` (string, required): A GraphQL query document. Mutations are rejected.
- `store` (string, required): Configured store alias, such as main-store or wholesale-store
- `variables` (object): GraphQL variables as a JSON object

### `shopify_graphql_query_many` (~86 tokens)

Query Multiple Shopify Stores

Run the same read-only GraphQL Admin API query across multiple named stores in parallel. Each store returns its own success or error result.

Input parameters:

- `query` (string, required): A read-only GraphQL query document. Mutations are rejected.
- `stores` (array, required): One to one hundred configured store aliases
- `variables` (object): GraphQL variables as a JSON object

### `shopify_graphql_mutation` (~105 tokens)

Change a Shopify Store

Run one GraphQL Admin API mutation against one named store. Set confirm to true only after the user authorizes the exact store and change.

Input parameters:

- `confirm` (boolean, required): Must be true after the user authorizes the exact change and store.
- `mutation` (string, required): A GraphQL mutation document.
- `store` (string, required): Configured store alias, such as main-store or wholesale-store
- `variables` (object): GraphQL variables as a JSON object

### `shopify_portfolio_snapshot` (~62 tokens)

Create Shopify Portfolio Snapshot

Create a read-only operating snapshot across selected stores or every configured store. Includes shop identity and product, order, customer, and location counts when scopes permit.

Input parameters:

- `stores` (array): Stores to include. Omit this field to include every configured store.

### `shopify_compare_inventory` (~60 tokens)

Compare Shopify Inventory

Compare inventory, price, product status, and catalog details for selected SKUs across multiple Shopify stores.

Input parameters:

- `skus` (array, required): One to fifty exact SKUs to compare.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_get_product_everywhere` (~83 tokens)

Find a Product Across Shopify Stores

Find one exact SKU or product handle across selected stores and return a normalized product, price, status, and inventory matrix.

Input parameters:

- `identifier` (string, required): Exact SKU or product handle to find.
- `matchBy` (string, required): Whether the identifier is an exact SKU or exact product handle.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_search_products_many` (~75 tokens)

Search Products Across Shopify Stores

Search products across selected stores using plain terms or Shopify product-search syntax. Returns bounded per-store results and completeness indicators.

Input parameters:

- `first` (integer): Maximum products returned per store.
- `query` (string, required): Product search terms or Shopify product-search syntax.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_list_unfulfilled_orders` (~67 tokens)

List Unfulfilled Orders Across Stores

List recent open, unfulfilled orders across multiple Shopify stores with independent per-store results.

Input parameters:

- `days` (integer): Lookback window in days.
- `first` (integer): Maximum orders returned per store.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_fulfillment_sla_report` (~102 tokens)

Report Shopify Fulfillment SLA Breaches

Group open unfulfilled orders into age buckets and identify orders older than a configurable fulfillment SLA across selected stores.

Input parameters:

- `first` (integer): Maximum orders returned per store, oldest first.
- `lookbackDays` (integer): How far back to search for open unfulfilled orders.
- `slaDays` (integer): Order age in days after which the fulfillment SLA is breached.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_compare_catalog` (~60 tokens)

Compare Shopify Catalogs

Compare product titles, status, vendor, product type, and inventory for exact handles across multiple Shopify stores.

Input parameters:

- `handles` (array, required): One to fifty exact product handles to compare.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_catalog_gap_report` (~66 tokens)

Find Catalog Gaps Across Shopify Stores

Discover products that are missing or have different publication statuses across selected stores. Bounded scans are labeled as potential rather than definitive gaps.

Input parameters:

- `first` (integer): Maximum products scanned per store in title order.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_order_summary` (~77 tokens)

Summarize Orders Across Shopify Stores

Summarize recent order values, discounts, shipping, tax, cancellations, and financial and fulfillment statuses across selected stores. Currency totals remain separate.

Input parameters:

- `days` (integer): Lookback window in days.
- `first` (integer): Maximum orders included per store.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_low_stock_report` (~63 tokens)

Find Low Stock Across Shopify Stores

Find every active product variant at or below an inventory threshold across selected stores. Separates low, zero, and negative inventory.

Input parameters:

- `stores` (array, required): One to one hundred configured store aliases
- `threshold` (integer): Maximum aggregate inventory quantity to include.

### `shopify_catalog_health` (~67 tokens)

Audit Shopify Catalog Health

Audit recent products across selected stores for missing vendor, product type, SEO fields, featured media, media alt text, and active products without inventory.

Input parameters:

- `first` (integer): Maximum recently updated products scanned per store.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_recent_product_changes` (~73 tokens)

List Recent Product Changes Across Stores

List products updated during a selected lookback window across multiple stores, including status, inventory, vendor, and product type.

Input parameters:

- `days` (integer): Lookback window in days.
- `first` (integer): Maximum products returned per store.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_customer_growth` (~63 tokens)

Compare Shopify Customer Growth

Compare new-customer counts across the current and previous periods for selected stores. Count precision remains visible when Shopify caps a count.

Input parameters:

- `days` (integer): Length of each comparison period in days.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_compare_collections` (~63 tokens)

Compare Shopify Collections

Compare exact collection handles across stores, including titles, sort order, product counts, SEO fields, and collection images.

Input parameters:

- `handles` (array, required): One to fifty exact collection handles to compare.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_store_locations` (~54 tokens)

Review Shopify Store Locations

Review active, inactive, legacy, fulfillment, inventory, and address status for locations across selected stores or the full portfolio.

Input parameters:

- `stores` (array): Stores to include. Omit this field to include every configured store.

### `shopify_duplicate_sku_report` (~68 tokens)

Find Duplicate Shopify SKUs

Find duplicate SKUs inside each store and identify SKUs shared across stores. The report labels incomplete scans when a store exceeds the row limit.

Input parameters:

- `first` (integer): Maximum SKU-bearing variants scanned per store.
- `stores` (array, required): One to one hundred configured store aliases

### `shopify_compare_prices` (~61 tokens)

Compare Shopify Prices

Compare price and compare-at price for exact SKUs across selected stores and highlight mismatches or missing variants.

Input parameters:

- `skus` (array, required): One to fifty exact SKUs to compare.
- `stores` (array, required): One to one hundred configured store aliases

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server#diagnostics

## Score history

- 2026-09-20: 87
- 2026-09-19: 86
- 2026-09-18: 86
- 2026-09-17: 85
- 2026-09-16: 85
- 2026-09-15: 84
- 2026-09-14: 84
- 2026-09-13: 83
- 2026-09-12: 83
- 2026-09-11: 82
- 2026-09-10: 82
- 2026-09-09: 81
- 2026-09-08: 81
- 2026-09-07: 80
- 2026-09-06: 90
- 2026-09-05: 89
- 2026-09-04: 89
- 2026-09-03: 88
- 2026-09-02: 88
- 2026-09-01: 76
- 2026-08-31: 87
- 2026-08-30: 87
- 2026-08-29: 86
- 2026-08-28: 83
- 2026-08-27: 83
- 2026-08-26: 83
- 2026-08-25: 81
- 2026-08-24: 81
- 2026-08-23: 81
- 2026-08-22: 66

## Common questions

### What is the io.github.alex-brecher/shopify-multi-store MCP server?

io.github.alex-brecher/shopify-multi-store is an MCP server listed in the public MCP registry as io.github.alex-brecher/shopify-multi-store. Connect AI agents to multiple Shopify Admin stores for reports, comparisons, and guarded updates. This page covers its npm package (shopify-multi-store-mcp-server).

### Is the io.github.alex-brecher/shopify-multi-store MCP server safe to use?

io.github.alex-brecher/shopify-multi-store scores 87 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.alex-brecher/shopify-multi-store MCP server expose?

io.github.alex-brecher/shopify-multi-store exposes 55 tools: shopify_get_store_capabilities, shopify_switch_shop, shopify_search_products, shopify_get_product, shopify_search_collections, and 50 more. Their descriptions and schemas cost roughly 3,749 tokens of context every time the server is loaded.

### Is the io.github.alex-brecher/shopify-multi-store MCP server still maintained?

io.github.alex-brecher/shopify-multi-store is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.alex-brecher/shopify-multi-store MCP server under?

io.github.alex-brecher/shopify-multi-store declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/shopify-multi-store-mcp-server
- Socket report: https://socket.dev/npm/package/shopify-multi-store-mcp-server
- Repository: https://github.com/alex-brecher/shopify-multi-store
- Changelog RSS feed: https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server.xml
- Changelog JSON feed: https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server.json
- HTML version of this page: https://verifymcp.io/servers/alex-brecher-shopify-multi-store/shopify-multi-store-mcp-server
