Skip to main content

MCP Tools Reference

This is the complete reference for Shopify MCP tools across official and community servers. Tools are organized by domain so you can quickly find the operation you need.

Tool Availability

Not every tool is available in every MCP server. The Server column indicates which servers provide each tool. See Community MCP Servers for server-specific details.

  • Dev = Official Shopify Dev MCP
  • GeLi = shopify-mcp (GeLi2001)
  • Ajackus = @ajackus/shopify-mcp-server
  • Composio = Composio Shopify MCP

Products

get_products

Retrieve a list of products with optional filtering.

ParameterTypeRequiredDescription
limitnumberNoNumber of products to return (default: 50, max: 250)
titlestringNoFilter by product title (partial match)
product_typestringNoFilter by product type
vendorstringNoFilter by vendor name
statusstringNoFilter by status: active, draft, archived
collection_idstringNoFilter by collection membership
created_at_minstringNoISO 8601 date -- products created after this date
updated_at_minstringNoISO 8601 date -- products updated after this date
cursorstringNoPagination cursor for next page

Servers: GeLi, Ajackus, Composio

Example:

Get all active products from vendor "Nike" updated in the last 7 days

get_product

Retrieve a single product by ID with full details.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID (e.g., gid://shopify/Product/123456)
fieldsstring[]NoSpecific fields to return

Servers: GeLi, Ajackus, Composio

Example:

Get the full details for product gid://shopify/Product/8234567890

create_product

Create a new product with optional variants and media.

ParameterTypeRequiredDescription
titlestringYesProduct title
descriptionstringNoProduct description (supports HTML)
product_typestringNoProduct type for categorization
vendorstringNoVendor name
tagsstring[]NoArray of tags
statusstringNoactive, draft, or archived (default: draft)
variantsobject[]NoArray of variant objects
variants[].titlestringNoVariant title
variants[].pricestringNoVariant price
variants[].skustringNoSKU code
variants[].inventory_quantitynumberNoInitial inventory
variants[].option1stringNoFirst option value (e.g., "Small")
variants[].option2stringNoSecond option value (e.g., "Red")
variants[].option3stringNoThird option value
optionsobject[]NoProduct options (e.g., Size, Color)
metafieldsobject[]NoProduct metafields
imagesobject[]NoImage URLs to attach

Servers: GeLi, Ajackus, Composio

Example:

Create a new draft product:
- Title: "Organic Cotton T-Shirt"
- Type: "Apparel"
- Vendor: "EcoWear"
- Tags: ["organic", "cotton", "sustainable"]
- Options: Size (S, M, L, XL), Color (White, Black, Navy)
- Base price: $29.99

update_product

Update an existing product's fields.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID
titlestringNoUpdated title
descriptionstringNoUpdated description
product_typestringNoUpdated product type
vendorstringNoUpdated vendor
tagsstring[]NoUpdated tags (replaces existing)
statusstringNoUpdated status
metafieldsobject[]NoMetafields to set or update

Servers: GeLi, Ajackus, Composio


delete_product

Delete a product permanently.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID

Servers: GeLi, Composio

Destructive Operation

Product deletion is permanent and cannot be undone. The AI assistant should always confirm before executing this tool.


search_products

Full-text search across product catalog.

ParameterTypeRequiredDescription
querystringYesSearch query (searches title, description, SKU, tags)
limitnumberNoMax results (default: 25)

Servers: GeLi, Composio


manage_product_media

Add, remove, or reorder product images and videos.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID
actionstringYesadd, remove, reorder
media_urlsstring[]NoURLs for media to add
media_idsstring[]NoMedia GIDs to remove or reorder

Servers: GeLi


manage_product_metafields

Create, update, or delete product metafields.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID
metafieldsobject[]YesArray of metafield operations
metafields[].namespacestringYesMetafield namespace
metafields[].keystringYesMetafield key
metafields[].valuestringYesMetafield value
metafields[].typestringYesMetafield type (single_line_text_field, number_integer, json, etc.)

Servers: GeLi, Composio


Variants

get_variants

List variants for a product.

ParameterTypeRequiredDescription
product_idstringYesShopify product GID

Servers: GeLi, Ajackus, Composio


update_variant

Update variant details (price, SKU, weight, etc.).

ParameterTypeRequiredDescription
variant_idstringYesShopify variant GID
pricestringNoNew price
compare_at_pricestringNoCompare-at price
skustringNoSKU code
barcodestringNoBarcode
weightnumberNoWeight value
weight_unitstringNokg, g, lb, oz
requires_shippingbooleanNoWhether variant requires shipping
taxablebooleanNoWhether variant is taxable

Servers: GeLi, Ajackus, Composio


Orders

get_orders

Retrieve orders with filtering options.

ParameterTypeRequiredDescription
limitnumberNoNumber of orders (default: 50)
statusstringNoopen, closed, cancelled, any
financial_statusstringNoauthorized, pending, paid, partially_paid, refunded, voided
fulfillment_statusstringNoshipped, partial, unshipped, unfulfilled
created_at_minstringNoISO 8601 date
created_at_maxstringNoISO 8601 date
customer_idstringNoFilter by customer
cursorstringNoPagination cursor

Servers: GeLi, Ajackus, Composio

Example:

Get all unfulfilled paid orders from the last 24 hours

get_order

Retrieve a single order with full details including line items, shipping, and payment.

ParameterTypeRequiredDescription
order_idstringYesShopify order GID

Servers: GeLi, Ajackus, Composio


create_draft_order

Create a draft order for manual processing.

ParameterTypeRequiredDescription
line_itemsobject[]YesArray of line items
line_items[].variant_idstringYesVariant GID
line_items[].quantitynumberYesQuantity
customerobjectNoCustomer details
shipping_addressobjectNoShipping address
billing_addressobjectNoBilling address
notestringNoOrder note
tagsstring[]NoOrder tags
discountobjectNoOrder-level discount

Servers: GeLi, Composio


fulfill_order

Create a fulfillment for an order.

ParameterTypeRequiredDescription
order_idstringYesShopify order GID
tracking_numberstringNoCarrier tracking number
tracking_companystringNoCarrier name
tracking_urlstringNoTracking URL
notify_customerbooleanNoSend notification email (default: true)
line_itemsobject[]NoSpecific line items to fulfill (partial fulfillment)

Servers: GeLi, Ajackus, Composio


cancel_order

Cancel an open order.

ParameterTypeRequiredDescription
order_idstringYesShopify order GID
reasonstringNocustomer, fraud, inventory, declined, other
refundbooleanNoWhether to issue a refund
restockbooleanNoWhether to restock items
notify_customerbooleanNoSend cancellation email

Servers: GeLi, Composio


refund_order

Create a refund for an order.

ParameterTypeRequiredDescription
order_idstringYesShopify order GID
refund_line_itemsobject[]NoSpecific items to refund
shipping_refundobjectNoShipping amount to refund
notestringNoRefund reason
notify_customerbooleanNoSend refund notification

Servers: GeLi, Composio


Customers

get_customers

Retrieve customers with filtering.

ParameterTypeRequiredDescription
limitnumberNoNumber of customers (default: 50)
querystringNoSearch query (name, email, phone)
created_at_minstringNoISO 8601 date
tagsstringNoFilter by tag
cursorstringNoPagination cursor

Servers: GeLi, Ajackus, Composio


get_customer

Retrieve a single customer with order history.

ParameterTypeRequiredDescription
customer_idstringYesShopify customer GID

Servers: GeLi, Ajackus, Composio


create_customer

Create a new customer record.

ParameterTypeRequiredDescription
first_namestringNoFirst name
last_namestringNoLast name
emailstringNoEmail address
phonestringNoPhone number
tagsstring[]NoCustomer tags
notestringNoInternal note
addressesobject[]NoCustomer addresses
metafieldsobject[]NoCustomer metafields
email_marketing_consentbooleanNoEmail marketing opt-in
sms_marketing_consentbooleanNoSMS marketing opt-in

Servers: GeLi, Ajackus, Composio


update_customer

Update customer information.

ParameterTypeRequiredDescription
customer_idstringYesShopify customer GID
first_namestringNoUpdated first name
last_namestringNoUpdated last name
emailstringNoUpdated email
phonestringNoUpdated phone
tagsstring[]NoUpdated tags
notestringNoUpdated note

Servers: GeLi, Ajackus, Composio


search_customers

Search customers by various criteria.

ParameterTypeRequiredDescription
querystringYesSearch term
limitnumberNoMax results

Servers: GeLi, Composio


Inventory

get_inventory_levels

Get inventory levels across locations.

ParameterTypeRequiredDescription
inventory_item_idstringNoSpecific inventory item GID
location_idstringNoSpecific location GID
product_idstringNoGet all inventory for a product

Servers: GeLi, Ajackus, Composio

Example:

Show me inventory levels for all variants of product gid://shopify/Product/123
across all warehouse locations

adjust_inventory

Adjust inventory quantities at a location.

ParameterTypeRequiredDescription
inventory_item_idstringYesInventory item GID
location_idstringYesLocation GID
adjustmentnumberYesQuantity change (positive or negative)
reasonstringNoReason: correction, received, damaged, shrinkage, promotion

Servers: GeLi, Ajackus, Composio

Inventory Adjustments

Inventory adjustments are relative, not absolute. An adjustment of -5 removes 5 units from the current quantity. Double-check the current level before making large adjustments.


set_inventory

Set inventory to a specific quantity (absolute).

ParameterTypeRequiredDescription
inventory_item_idstringYesInventory item GID
location_idstringYesLocation GID
quantitynumberYesNew quantity
reasonstringNoReason for the change

Servers: GeLi, Composio


get_locations

List all inventory locations.

ParameterTypeRequiredDescription
activebooleanNoFilter active/inactive locations

Servers: GeLi, Ajackus, Composio


transfer_inventory

Transfer inventory between locations.

ParameterTypeRequiredDescription
inventory_item_idstringYesInventory item GID
from_location_idstringYesSource location GID
to_location_idstringYesDestination location GID
quantitynumberYesQuantity to transfer

Servers: GeLi


Collections

get_collections

Retrieve collections (smart and custom).

ParameterTypeRequiredDescription
limitnumberNoNumber of collections
typestringNosmart, custom, or all
titlestringNoFilter by title

Servers: GeLi, Composio


create_collection

Create a new collection.

ParameterTypeRequiredDescription
titlestringYesCollection title
descriptionstringNoCollection description (HTML)
typestringYessmart or custom
rulesobject[]NoSmart collection rules (required for smart type)
rules[].columnstringYesRule column: title, type, vendor, tag, price, weight, variant_title
rules[].relationstringYesequals, not_equals, greater_than, less_than, starts_with, ends_with, contains
rules[].conditionstringYesRule value
disjunctivebooleanNotrue = any rule matches, false = all rules match
sort_orderstringNoalpha-asc, alpha-desc, best-selling, created, created-desc, manual, price-asc, price-desc
imagestringNoCollection image URL

Servers: GeLi, Composio

Example:

Create a smart collection called "Summer Sale" that includes all
products tagged "summer" with price less than $50, sorted by best-selling

add_products_to_collection

Add products to a custom collection.

ParameterTypeRequiredDescription
collection_idstringYesCollection GID
product_idsstring[]YesArray of product GIDs to add

Servers: GeLi, Composio


remove_products_from_collection

Remove products from a custom collection.

ParameterTypeRequiredDescription
collection_idstringYesCollection GID
product_idsstring[]YesArray of product GIDs to remove

Servers: GeLi, Composio


Discounts

get_discounts

List active and scheduled discounts.

ParameterTypeRequiredDescription
limitnumberNoNumber of discounts
typestringNocode, automatic, or all
statusstringNoactive, expired, scheduled

Servers: GeLi, Composio


create_discount_code

Create a code-based discount.

ParameterTypeRequiredDescription
titlestringYesInternal discount title
codestringYesThe discount code customers enter
typestringYespercentage, fixed_amount, free_shipping
valuenumberYesDiscount value (percentage or amount)
applies_tostringNoall_products, specific_collections, specific_products
collection_idsstring[]NoCollection GIDs (when applies_to is specific_collections)
product_idsstring[]NoProduct GIDs (when applies_to is specific_products)
minimum_requirementobjectNoMinimum purchase amount or quantity
usage_limitnumberNoTotal number of times this discount can be used
once_per_customerbooleanNoLimit to one use per customer
starts_atstringNoISO 8601 start date
ends_atstringNoISO 8601 end date

Servers: GeLi, Composio

Example:

Create a discount code "SPRING25" for 25% off all products in the
"Spring Collection", minimum purchase $50, limited to 500 uses,
valid March 1-31 2026

create_automatic_discount

Create an automatic discount that applies at checkout.

ParameterTypeRequiredDescription
titlestringYesDiscount title (shown to customers)
typestringYespercentage, fixed_amount, buy_x_get_y, free_shipping
valuenumberYesDiscount value
minimum_requirementobjectNoMinimum purchase requirement
starts_atstringYesISO 8601 start date
ends_atstringNoISO 8601 end date

Servers: GeLi, Composio


delete_discount

Delete a discount.

ParameterTypeRequiredDescription
discount_idstringYesDiscount GID

Servers: GeLi, Composio


Analytics

get_shop_info

Retrieve store information and configuration.

ParameterTypeRequiredDescription
(none)Returns full shop details

Servers: GeLi, Ajackus, Composio

Returns: Store name, domain, email, currency, timezone, plan, features, and more.


get_order_count

Get order counts with optional date filtering.

ParameterTypeRequiredDescription
statusstringNoopen, closed, cancelled, any
financial_statusstringNoPayment status filter
fulfillment_statusstringNoFulfillment status filter
created_at_minstringNoISO 8601 date
created_at_maxstringNoISO 8601 date

Servers: GeLi, Composio


get_sales_report

Generate sales analytics for a date range.

ParameterTypeRequiredDescription
start_datestringYesISO 8601 start date
end_datestringYesISO 8601 end date
group_bystringNoday, week, month

Servers: Adzviser, ShopifyPy


get_top_products

Get best-selling products by revenue or quantity.

ParameterTypeRequiredDescription
start_datestringYesISO 8601 start date
end_datestringYesISO 8601 end date
limitnumberNoNumber of products (default: 10)
sort_bystringNorevenue or quantity

Servers: Adzviser, ShopifyPy


Documentation Tools (Official Dev MCP)

These tools are available exclusively through the Official Shopify Dev MCP Server:

ToolDescription
search_docsFull-text search across all Shopify developer documentation
explore_api_schemaBrowse and explore Shopify GraphQL API schemas
get_liquid_referenceAccess Liquid template language reference
get_function_referenceShopify Functions API reference and scaffolding
validate_graphqlValidate GraphQL queries against the Shopify schema

See the Official MCP Servers page for detailed parameter documentation.


Common Tool Patterns

Bulk Operations

Many operations can be composed into bulk workflows:

1. Get all products tagged "clearance" → get_products with tag filter
2. For each product, reduce price by 50% → update_variant (loop)
3. Move products to "Sale" collection → add_products_to_collection
4. Create a "CLEARANCE50" discount code → create_discount_code

Audit Workflows

1. Get all products → get_products (paginated)
2. Check each for missing descriptions → filter in AI
3. Check inventory levels → get_inventory_levels
4. Flag products with zero stock → adjust_inventory or archive

Customer Service

1. Search customer by email → search_customers
2. Get their recent orders → get_orders with customer_id
3. Check order fulfillment status → get_order
4. Process refund if needed → refund_order
Combining Dev MCP + Store MCP

The most powerful pattern is combining the Dev MCP (for documentation) with a Store MCP (for live data). Ask Claude to look up the correct API approach in the docs, then execute it against your store -- all in one conversation.