io.github.codespar/mcp-shopify
NPM · @CODESPAR/MCP-SHOPIFY · SCANNED AUG 4
MCP server for Shopify — Admin REST API (orders, products, customers, inventory, fulfillments)
Available components
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. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 42 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 2514 tokens (~89/item across 28 items; 28 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @codespar/mcp-shopify
claude mcp add codespar-mcp-shopify -- npx -y @codespar/mcp-shopify
codex mcp add codespar-mcp-shopify -- npx -y @codespar/mcp-shopify
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"codespar-mcp-shopify": {
"type": "local",
"command": [
"npx",
"-y",
"@codespar/mcp-shopify"
],
"enabled": true
}
}
} openclaw mcp add codespar-mcp-shopify --command npx --arg -y --arg @codespar/mcp-shopify
mcp_servers:
codespar-mcp-shopify:
command: "npx"
args: ["-y", "@codespar/mcp-shopify"] {
"mcpServers": {
"codespar-mcp-shopify": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-shopify"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 0
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- 2 Aug 26 +28
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Maintenance: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Dependency health: unverified → partial ▲ functional
- First check of Schema quality: unverified functional
- Licence: MIT functional
- 1 Aug 26 +20
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- 31 Jul 26 −7
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 46
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Analysed npm/@codespar/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8j4g-w8fx-2239 | CVE-2026-69207 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
adjust_inventory ~103
Adjust the available inventory for a specific inventory_item at a specific location by a delta (positive to increase, negative to decrease).
| Name | Type | Req | Description |
|---|---|---|---|
| available_adjustment | number | yes | Delta to apply to available quantity (e.g. -3 to decrement by 3, +10 to increment by 10) |
| inventory_item_id | number | yes | Shopify inventory_item_id (numeric) — found on variant.inventory_item_id |
| location_id | number | yes | Shopify location_id (numeric) |
No output schema declared.
No examples provided.
cancel_order ~90
Cancel an order. Optionally restock inventory, refund payment, notify customer.
| Name | Type | Req | Description |
|---|---|---|---|
| boolean | — | Send cancellation email to customer | |
| id | string | yes | Shopify order ID |
| reason | string | — | Cancellation reason |
| refund | object | — | Refund object to issue with the cancellation |
| restock | boolean | — | Restock the line items (deprecated in newer versions; use refund) |
No output schema declared.
No examples provided.
complete_draft_order ~73
Convert a draft order into a real order. Optionally mark as paid or send invoice.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify draft_order ID |
| payment_pending | boolean | — | If true, the draft order is completed with payment pending (customer pays later). If false/omitted, it is marked paid. |
No output schema declared.
No examples provided.
create_custom_collection ~66
Create a custom collection — a manually curated collection. Products are attached separately via collects.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_collection | object | yes | Shopify custom_collection object. Required: title. Optional: body_html, sort_order, published, image, metafields, collects (array of {product_id}). |
No output schema declared.
No examples provided.
create_customer ~46
Create a new customer record.
| Name | Type | Req | Description |
|---|---|---|---|
| customer | object | yes | Shopify customer object. Typical: email, first_name, last_name, phone, addresses (array), tags, accepts_marketing. |
No output schema declared.
No examples provided.
create_discount_code ~68
Create a discount code tied to an existing price rule (the customer-facing string like 'SUMMER20').
| Name | Type | Req | Description |
|---|---|---|---|
| discount_code | object | yes | Discount code object. Required: code (string, e.g. 'SUMMER20'). |
| price_rule_id | string | yes | Parent price_rule ID |
No output schema declared.
No examples provided.
create_draft_order ~88
Create a draft order (invoice-style quote). Can be completed later into a real order via complete_draft_order.
| Name | Type | Req | Description |
|---|---|---|---|
| draft_order | object | yes | Shopify draft_order object. Typical: line_items (array of {variant_id, quantity} or {title, price, quantity}), customer, billing_address, shipping_address, email, note, tags, applied_discount, use_cu… |
No output schema declared.
No examples provided.
create_fulfillment ~78
Create a fulfillment for an order (mark line items as shipped, attach tracking number and carrier).
| Name | Type | Req | Description |
|---|---|---|---|
| fulfillment | object | yes | Fulfillment object. Typical: location_id, tracking_number, tracking_company, tracking_urls (array), notify_customer (boolean), line_items (array). |
| order_id | string | yes | Shopify order ID to fulfill |
No output schema declared.
No examples provided.
create_metafield ~121
Attach a metafield (custom typed field) to a resource (shop, product, variant, customer, order, collection, draft_order, etc).
| Name | Type | Req | Description |
|---|---|---|---|
| metafield | object | yes | Shopify metafield object. Required: namespace, key, value, type (e.g. 'single_line_text_field', 'number_integer', 'json', 'boolean'). Optional: owner_resource ('product' | 'variant' | 'customer' | 'o… |
No output schema declared.
No examples provided.
create_order ~76
Create a new order. Useful for draft orders, phone orders, or marketplace order ingestion.
| Name | Type | Req | Description |
|---|---|---|---|
| order | object | yes | Shopify order object. Must include line_items (array of {variant_id, quantity} or {title, price, quantity}). Optional: customer, billing_address, shipping_address, email, financial_status, tags, note. |
No output schema declared.
No examples provided.
create_price_rule ~153
Create a price rule (the policy that governs discounts — percentage/fixed amount, prerequisites, entitlements, usage caps). Pair with create_discount_code to mint a usable code.
| Name | Type | Req | Description |
|---|---|---|---|
| price_rule | object | yes | Shopify price_rule object. Required: title, target_type ('line_item' | 'shipping_line'), target_selection ('all' | 'entitled'), allocation_method ('across' | 'each'), value_type ('percentage' | 'fixe… |
No output schema declared.
No examples provided.
create_product ~56
Create a new product with variants, options, and images.
| Name | Type | Req | Description |
|---|---|---|---|
| product | object | yes | Shopify product object. Required: title. Optional: body_html, vendor, product_type, tags, status, variants (array), options, images. |
No output schema declared.
No examples provided.
create_refund ~128
Refund one or more line items on an order. Can refund to original payment or as store credit, optionally restocking inventory.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | Shopify order ID to refund |
| refund | object | yes | Shopify refund object. Typical: currency, notify (boolean), note, shipping ({amount} or {full_refund: true}), refund_line_items (array of {line_item_id, quantity, restock_type: 'no_restock' | 'cancel… |
No output schema declared.
No examples provided.
create_smart_collection ~83
Create a smart collection — an automated collection populated by rules (e.g. vendor, tag, product_type, price range).
| Name | Type | Req | Description |
|---|---|---|---|
| smart_collection | object | yes | Shopify smart_collection object. Required: title, rules (array of {column, relation, condition}). Optional: body_html, sort_order, disjunctive (boolean — OR vs AND), published. |
No output schema declared.
No examples provided.
create_variant ~98
Add a new variant to an existing product (size/color/SKU permutation with its own price and inventory).
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | Parent product ID |
| variant | object | yes | Shopify variant object. Typical: option1, option2, option3, price, sku, barcode, inventory_management ('shopify' | null), inventory_policy ('deny' | 'continue'), inventory_quantity, weight, weight_un… |
No output schema declared.
No examples provided.
get_order ~30
Get a single order by ID with full detail.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify order ID (numeric) |
No output schema declared.
No examples provided.
get_product ~30
Get a single product by ID including all variants and images.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify product ID |
No output schema declared.
No examples provided.
list_abandoned_checkouts ~134
List abandoned checkouts (carts where the customer entered contact info but did not complete checkout). Useful for recovery campaigns.
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_max | string | — | ISO-8601 maximum created_at |
| created_at_min | string | — | ISO-8601 minimum created_at |
| limit | number | — | Max results per page (1-250, default 50) |
| since_id | string | — | Return only checkouts with IDs greater than this value |
| status | string | — | Checkout status. Defaults to 'open'. |
| updated_at_min | string | — | ISO-8601 minimum updated_at |
No output schema declared.
No examples provided.
list_customers ~101
List customers with optional query filter.
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_min | string | — | ISO-8601 minimum created_at |
| ids | string | — | Comma-separated list of customer IDs |
| limit | number | — | Max results per page (1-250, default 50) |
| query | string | — | Full-text query (email, name, phone, tag, etc) |
| updated_at_min | string | — | ISO-8601 minimum updated_at |
No output schema declared.
No examples provided.
list_locations ~36
List all fulfillment locations (physical stores, warehouses, 3PLs). Use the returned IDs with adjust_inventory and create_fulfillment.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_orders ~188
List orders with optional filters. Returns an array of order objects with line items, customer, shipping, and financial status.
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_max | string | — | ISO-8601 maximum created_at timestamp |
| created_at_min | string | — | ISO-8601 minimum created_at timestamp |
| financial_status | string | — | Filter by financial status (paid, pending, refunded, voided, partially_paid, partially_refunded, authorized) |
| fulfillment_status | string | — | Filter by fulfillment status (shipped, partial, unshipped, any, unfulfilled) |
| ids | string | — | Comma-separated list of order IDs to retrieve |
| limit | number | — | Max results per page (1-250, default 50) |
| status | string | — | Order status. Defaults to 'open'. |
| updated_at_min | string | — | ISO-8601 minimum updated_at timestamp |
No output schema declared.
No examples provided.
list_products ~138
List products with optional filters. Each product includes variants, images, and options.
| Name | Type | Req | Description |
|---|---|---|---|
| collection_id | string | — | Filter to products in a specific collection |
| created_at_min | string | — | ISO-8601 minimum created_at |
| ids | string | — | Comma-separated list of product IDs |
| limit | number | — | Max results per page (1-250, default 50) |
| product_type | string | — | Filter by product_type |
| status | string | — | Filter by product status |
| updated_at_min | string | — | ISO-8601 minimum updated_at |
| vendor | string | — | Filter by vendor name |
No output schema declared.
No examples provided.
list_transactions ~82
List all payment transactions for an order (authorizations, captures, sales, refunds, voids) including gateway and amount.
| Name | Type | Req | Description |
|---|---|---|---|
| in_shop_currency | boolean | — | Show amounts in the shop's default currency rather than transaction currency |
| order_id | string | yes | Shopify order ID |
| since_id | string | — | Return only transactions with IDs greater than this value |
No output schema declared.
No examples provided.
register_webhook ~115
Register a webhook subscription for a Shopify event topic (orders/create, orders/paid, products/update, app/uninstalled, etc).
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | HTTPS URL that will receive webhook POSTs |
| fields | array | — | Optional list of fields to include in the payload |
| format | string | — | Payload format. Defaults to 'json'. |
| topic | string | yes | Webhook topic (e.g. 'orders/create', 'orders/paid', 'products/update', 'customers/create', 'app/uninstalled') |
No output schema declared.
No examples provided.
update_fulfillment_tracking ~92
Update the tracking number, tracking company, or tracking URL on an existing fulfillment (post-ship tracking correction or late-binding tracking attach).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify fulfillment ID |
| notify_customer | boolean | — | Email the customer about the tracking update. Defaults to false. |
| tracking_info | object | yes | Tracking info object. Typical: number (string), company (string), url (string). |
No output schema declared.
No examples provided.
update_order ~60
Update an existing order (tags, note, email, shipping_address, metafields, etc).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify order ID |
| order | object | yes | Partial order object with fields to update. The 'id' field is injected automatically. |
No output schema declared.
No examples provided.
update_product ~53
Update an existing product's fields, variants, or images.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify product ID |
| product | object | yes | Partial product object with fields to update. The 'id' field is injected automatically. |
No output schema declared.
No examples provided.
update_variant ~61
Update an existing product variant's price, SKU, barcode, options, weight, or inventory policy.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopify variant ID |
| variant | object | yes | Partial variant object with fields to update. The 'id' field is injected automatically. |
No output schema declared.
No examples provided.