C

Shopify MCP

MCP server for Shopify Admin GraphQL API — products, orders, customers, inventory, metafields, and fulfillment management

Overall Score62/100

Score Breakdown

Server Info

Package
shopify-mcp
Registry
npm
Maintainer
Community
Category
E-commerce
Tags
storeproductsorders
Last Scanned
7 Apr 2026

Findings

6 issues

Authentication & Identity

HIGHNo per-request auth - requires instance-per-user

Stdio-only transport. Supports two auth modes: (1) static access token via SHOPIFY_ACCESS_TOKEN env var, or (2) OAuth client credentials flow via SHOPIFY_CLIENT_ID + SHOPIFY_CLIENT_SECRET with automatic token refresh. Token is exchanged for a short-lived access token from Shopify's admin OAuth endpo... For multi-tenant deployment, the platform must spawn a separate server instance per user.

Remediation

Add HTTP/SSE transport to accept per-request Authorization headers, or implement the MCP OAuth spec.

Permission Granularity

MEDIUM2 tools combine read and write operations

Good separation of read and write operations. Destructive operations (delete-product, delete-customer, order-cancel, customer-merge, delete-metafields, delete-product-variants) are in separate tools. Mixed tools: manage-customer-address and manage-tags combine create/update/delete via action param. Descriptions generally specify scope though some are terse (e.g. 'Delete a product', 'Delete a customer').

Remediation

Split into separate read and write tools.

LLM Safety

MEDIUM3 tool descriptions are too vague

Short or generic descriptions make tool selection unreliable.

Remediation

Expand descriptions with specific actions, data types, and side effects.

Data Exposure

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Maintenance & Trust

LOWCommunity-maintained by GeLi2001

No official vendor backing.

Remediation

Seek vendor verification.

HIGH28 dependency vulnerabilities (1 critical, 20 high)

npm audit found 1 critical and 20 high severity CVEs.

Remediation

Run `npm audit fix` and update vulnerable dependencies.

Tools

44 total
NameDescriptionRisk
get-productsGet all products or search by titleread
get-product-by-idGet a specific product by IDread
create-productCreate a new product. When using productOptions, Shopify registers all option values but only creates one default variant (first value of each option, price $0). Use manage-product-variants with strategy=REMOVE_STANDALONE_VARIANT afterward to create all real variants with prices.write
update-productUpdate an existing product's fields (title, description, status, tags, etc.)write
delete-productDelete a productadmin
manage-product-variantsCreate, update, or delete product variants with a strategy-based approachwrite
delete-product-variantsDelete one or more variants from a productadmin
manage-product-optionsAdd, update, or reorder product options (e.g. Size, Color)write
get-ordersGet orders with optional filtering by statusread
get-order-by-idGet a specific order by IDread
update-orderUpdate an existing order with new informationwrite
create-draft-orderCreate a draft order with line items, customer, and shipping detailswrite
complete-draft-orderComplete a draft order, converting it to a real orderwrite
order-cancelCancel an order with options for refunding, restocking inventory, and customer notification. Cancellation is irreversible.admin
order-close-openClose or re-open an orderwrite
order-mark-as-paidMark an order as paid manuallywrite
create-fulfillmentCreate a fulfillment (mark items as shipped) with optional tracking info and customer notification.write
refund-createCreate a full or partial refund for an order with optional restocking and shipping refund.write
get-customersGet customers or search by name/emailread
get-customer-by-idGet a single customer by IDread
get-customer-ordersGet orders for a specific customerread
create-customerCreate a new customerwrite
update-customerUpdate a customer's informationwrite
delete-customerDelete a customeradmin
customer-mergeMerge two customer records into one. Optionally override which fields to keep from which customer.admin
manage-customer-addressCreate, update, or delete a customer's mailing address. Can optionally set as default.write
get-metafieldsGet metafields for any Shopify resource by GIDread
set-metafieldsSet metafields on any Shopify resource (products, orders, customers, variants, collections, etc.). Creates or updates up to 25 metafields atomically.write
delete-metafieldsDelete one or more metafields by GIDadmin
manage-tagsAdd or remove tags on any taggable resource (orders, products, customers, draft orders, articles).write
inventory-set-quantitiesSet absolute inventory quantities for items at specific locations. Use for inventory corrections, cycle counts, etc.write
get-shop-infoGet shop configuration including name, plan, currencies, features, payment settings, tax config, and contact inforead
get-metafield-definitionsGet metafield definitions for a given owner type (e.g. PRODUCT, ORDER, CUSTOMER)read
get-locationsGet all shop locations with address and fulfillment detailsread
get-marketsGet all markets (regions) configured for the shopread
get-collectionsGet collections with optional filtering and paginationread
get-order-transactionsGet payment transactions for an order including amounts, gateway, status, and authorization detailsread
get-fulfillment-ordersGet fulfillment orders for an order, showing what needs to be fulfilled and at which locationsread
get-order-refund-detailsGet detailed refund information for an order including line items, amounts, and restocking detailsread
get-collection-by-idGet a single collection by ID with its productsread
get-inventory-levelsGet inventory levels for specific items at locationsread
get-inventory-itemsGet inventory item details (cost, country of origin, HS code) for product variantsread
get-price-listsGet price lists for international pricing (B2B catalogs, market-specific pricing)read
get-product-variants-detailedGet detailed variant information for a product including inventory, pricing, and option valuesread

Deploy Shopify MCP securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow