products

MCP tool from Shopify MCP by benwmerritt

unified lookup/search/filter. Pass id for a single product; omit id to list/search with filters (title, status, vendor, tag, inventory, dates, hasImages, …). Returns the product's Shopify Standard Product Taxonomy category ({id, name, fullName}) in slim/standard/full. Page size capped at 100.

How to use it

products is exposed by the Shopify MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the products tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

Install Shopify MCP

$node /absolute/path/to/shopify-mcp/dist/index.js --domain your-store.myshopify.com
FULL SHOPIFY MCP LISTING

Other tools in Shopify MCP (39)

bulk-delete-products
bulk-set-variant-metafields

set metafields across many variants of one product in a single productVariantsBulkUpdate call (up to 250 variants/call). UNIFORM mode (metafields) fans one value out to every variant and auto-discovers the variant IDs; PER-VARIANT mode (variants) sets different values per variant. Avoids one set-met

bulk-update-products
complete-draft-order
count-products-by-tag
create-collection
create-draft-order
create-metaobject

optional status (ACTIVE/DRAFT); defaults to Shopify's DRAFT for publishable definitions, pass ACTIVE to publish on create

create-product
delete-collection
delete-metafield
delete-metaobject
delete-product
delete-product-images
delete-variant
draft-orders

unified lookup/list. Pass id for a single draft order; omit id to list with filters (status, query, pagination via cursor).

find-products-by-metafield

list products that have / don't have / both for a given namespace.key, paginated across the whole catalog via cursor

get-collections
get-customers

(supports pagination via cursor)

get-inventory-levels
get-locations
get-metafield-options

resolve a metafield's selectable options in one call (for metaobject-reference fields, returns the available metaobject entries; for choice-lists, the allowed choices)

get-metafields

server-side filter with key+namespace (single field) or keys: ["namespace.key", …] (multi) via Shopify's native metafields(keys:); set includeDefinitions:true to merge ALL definitions with current values so empty/unfilled fields show up (value:null, isSet:false)

get-metaobject

returns the entry's publish status

get-metaobject-definition
list-metafield-definitions

discover metafield definitions for an owner type (PRODUCT, ORDER, CUSTOMER, …); each entry now includes constraints (e.g. {key:"category", values:["vp-2","vp-2-2-3", …]}) so agents can see category-gating before writing (e.g. vehicle requires vp-2 Vehicle categories; values on disallowed categories

list-metaobject-definitions
list-metaobjects

returns status per entry; optional status filter (applied client-side to the fetched page)

manage-collection-products
orders

unified lookup/list. Pass id for a single order; omit id to list with filters (customerId, status, pagination via cursor). Replaces get-orders, get-order-by-id, and get-customer-orders.

search-taxonomy

browse Shopify's product category taxonomy; set includeAttributes:true to also return each category's attributes (e.g. Color, Pattern) and their allowed values

set-metafield

(create or update; supports metaobjectreference / list.metaobjectreference)

update-collection
update-customer
update-draft-order
update-inventory
update-metaobject

edit fields on an existing entry (only provided keys change); optional status to publish (ACTIVE) or unpublish (DRAFT)

update-order
update-product

accepts category (Shopify Standard Product Taxonomy GID, vp- prefix); the tool verifies the category actually stuck and throws a loud, actionable error if Shopify silently rejected the GID, instead of leaving you with a null category.