Skip to main content
Glama
untitled-developers

Kockatoos Shopify MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHOPIFY_CLIENT_IDNoClient ID for Partner Dashboard app (alternative to access token)
SHOPIFY_STORE_NAMEYesYour store subdomain (e.g. my-store, not the full .myshopify.com)
SHOPIFY_API_VERSIONNoAPI version, defaults to 2026-01
SHOPIFY_ACCESS_TOKENNoPermanent access token from admin-created app or Partner Dashboard OAuth flow
SHOPIFY_CLIENT_SECRETNoClient secret for Partner Dashboard app (alternative to access token)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_shop_infoA

Get basic information about the Shopify store: name, domain, email, plan, currency, timezone, and more.

list_productsA

List products in the store. Returns up to limit products, with optional filtering by status, title, vendor, product_type, or collection_id. Use page_info for cursor-based pagination.

get_productA

Get full details of a single product by its ID, including all variants, images, and options.

create_productA

Create a new product. At minimum provide a title. The product is created in 'draft' status by default. Variants can be provided to set prices, SKUs, and inventory. Note: images and variants are added in follow-up calls after the product is created; if one of those steps fails, the product still exists and the error message includes its ID so you can fix it with update tools.

update_productA

Update an existing product. Only provided fields are changed; omitted fields remain unchanged.

delete_productA

Permanently delete a product by its ID. This cannot be undone.

list_product_metafieldsA

List all metafields attached to a product via GraphQL. Returns key, namespace, type, jsonValue, and more. Optionally filter by namespace.

get_product_metafieldA

Get a single metafield by namespace and key for a given product via GraphQL. Uses jsonValue for proper serialization.

set_product_metafieldA

Create or update a metafield on a product using the GraphQL metafieldsSet mutation (upsert). If the metafield exists it will be updated; otherwise created. Use type only when creating a new metafield.

delete_product_metafieldA

Permanently delete a metafield by its GID. This cannot be undone.

create_metafield_definitionA

Create a new metafield definition for products at the store level. Definitions establish structure and validation rules (e.g. allowed choices) for metafields. Use validations to set constraints like allowed choices for text fields.

list_metafield_definitionsA

List all metafield definitions for products at the store level. Returns namespace, key, type, name, description, and validations via GraphQL.

list_ordersB

List orders in the store. By default returns open orders. Use status to filter by fulfillment status, and financial_status for payment status. Results are paginated.

get_orderA

Get full details of a single order by its ID, including line items, shipping address, fulfillments, and transactions.

update_orderA

Update an existing order. Typically used to add/edit notes or tags. Only provided fields are changed.

close_orderB

Close an order. Closed orders are considered completed and no longer active.

cancel_orderA

Cancel an order. Optionally specify a reason and whether to send a notification email to the customer. This may also trigger a refund depending on restock and refund settings.

list_order_metafieldsB

List all metafields for an order via GraphQL.

get_order_metafieldA

Get a single order metafield by namespace and key.

set_order_metafieldB

Create or update an order metafield using metafieldsSet (upsert).

delete_order_metafieldA

Delete an order metafield by its GID or numeric ID.

list_customersB

List customers in the store. Supports pagination and basic filtering by creation date.

search_customersA

Search for customers using a query string. Supports Shopify search syntax (e.g. 'email:john@example.com', 'country:US', or just a name).

get_customerA

Get full details of a single customer by their ID, including addresses, order count, and total spent.

create_customerA

Create a new customer. At minimum provide an email. Optionally include name, phone, address, and tags.

update_customerA

Update an existing customer. Only provided fields are changed; omitted fields remain unchanged.

list_customer_metafieldsB

List all metafields for a customer via GraphQL.

get_customer_metafieldB

Get a single customer metafield by namespace and key.

set_customer_metafieldA

Create or update a customer metafield using metafieldsSet (upsert).

delete_customer_metafieldA

Delete a customer metafield by its GID or numeric ID.

list_locationsA

List all locations (warehouses, stores, etc.) configured for this Shopify store. Each location has an ID used for inventory operations.

get_locationA

Get details of a single location by its ID.

list_inventory_levelsA

List inventory levels (stock quantities) for a given location. Returns available quantities for each inventory item at that location.

adjust_inventoryA

Adjust inventory by a relative amount (positive to add stock, negative to remove). Requires the inventory_item_id (from a product variant) and location_id.

set_inventoryA

Set inventory to an absolute quantity at a given location. This overwrites the current available quantity.

list_custom_collectionsA

List custom (manual) collections. These are collections where the merchant manually selects which products to include.

list_smart_collectionsC

List smart (automatic) collections. These are collections where products are automatically included based on rules.

get_custom_collectionA

Get full details of a single custom collection by its ID.

get_smart_collectionA

Get full details of a single smart collection by its ID, including its rules.

create_custom_collectionB

Create a new custom (manual) collection. Optionally include product IDs to add to it.

update_custom_collectionB

Update an existing custom collection. Only provided fields are changed.

delete_custom_collectionA

Permanently delete a custom collection. Products in it are NOT deleted.

create_smart_collectionA

Create a new smart (automatic) collection with rules that determine which products are included.

update_smart_collectionB

Update a smart (automatic) collection's sort order or other metadata. Only provided fields are changed.

reorder_collection_productsA

Reorder products in a custom collection. Provide an ordered array of product IDs. The collection's sort_order must be 'manual' for positions to be honoured on the storefront.

add_product_to_collectionB

Add a product to a custom collection.

remove_product_from_collectionB

Remove a product from a custom collection.

list_collection_productsA

List all products belonging to a specific collection (custom or smart).

list_variantsA

List all variants of a product. Each variant represents a specific purchasable SKU with its own price, inventory, and options.

get_variantB

Get full details of a single product variant by its ID.

create_variantA

Create a new variant for a product. Must specify at least one option value.

update_variantA

Update an existing product variant. Only provided fields are changed.

delete_variantA

Delete a product variant. A product must always have at least one variant.

list_draft_ordersC

List draft orders in the store. Draft orders can be used to create orders on behalf of customers.

get_draft_orderA

Get full details of a single draft order by its ID.

create_draft_orderB

Create a new draft order. Provide line items (variant-based or custom), an optional customer, and shipping/billing addresses.

update_draft_orderA

Update an existing draft order. Only provided fields are changed.

complete_draft_orderB

Complete a draft order, converting it into a real order. Optionally mark it as paid.

send_draft_order_invoiceB

Send an invoice email for a draft order with a secure checkout link.

delete_draft_orderA

Permanently delete a draft order. Cannot delete completed draft orders.

list_price_rulesC

List code discounts using the Admin GraphQL API. This compatibility tool replaces the older Price Rules workflow.

get_price_ruleC

Get a code discount by DiscountCodeNode ID. This compatibility tool replaces the older Price Rules workflow.

create_price_ruleB

Create a modern basic code discount through GraphQL. Preserves the legacy price-rule tool name for compatibility.

update_price_ruleB

Update a modern basic code discount through GraphQL. Preserves the legacy price-rule tool name for compatibility.

delete_price_ruleC

Delete a code discount by DiscountCodeNode ID. Preserves the legacy price-rule tool name for compatibility.

list_discount_codesC

List redeem codes for a GraphQL code discount node.

create_discount_codeC

Set the customer-facing code for a basic GraphQL code discount node.

delete_discount_codeB

Delete a redeem code from a GraphQL code discount node.

list_code_discountsB

List code discounts using the GraphQL API. Returns basic, BXGY, and free shipping code discounts. Supports filtering by status, type, and text search.

get_code_discountA

Get a code discount by its GID (e.g. 'gid://shopify/DiscountCodeNode/123') or by the code string customers enter at checkout.

create_code_discount_basicA

Create an amount-off code discount (percentage or fixed) that customers apply at checkout. Supports product/collection targeting, minimum requirements, and combination rules.

update_code_discount_basicC

Update an existing basic (amount-off) code discount. Only provided fields are changed.

create_code_discount_bxgyB

Create a Buy X Get Y (BXGY) code discount. Customers enter a code to get a discount when they buy specified items.

update_code_discount_bxgyC

Update an existing BXGY code discount. Only provided fields are changed.

create_code_discount_free_shippingC

Create a free shipping code discount. Customers enter a code to get free (or discounted) shipping.

update_code_discount_free_shippingC

Update an existing free shipping code discount. Only provided fields are changed.

activate_code_discountA

Activate a code discount that is currently inactive or scheduled.

deactivate_code_discountA

Deactivate (pause) a code discount without deleting it.

delete_code_discountA

Permanently delete a code discount by its GID. This cannot be undone.

list_automatic_discountsA

List automatic discounts (applied without a code) using the GraphQL API. Supports filtering by status, type, and text search.

get_automatic_discountA

Get an automatic discount by its GID (e.g. 'gid://shopify/DiscountAutomaticNode/123').

create_automatic_discount_basicB

Create an automatic amount-off discount (percentage or fixed) that's applied without a code when cart meets criteria.

update_automatic_discount_basicB

Update an existing basic automatic discount. Only provided fields are changed.

create_automatic_discount_bxgyB

Create an automatic Buy X Get Y discount applied without a code.

update_automatic_discount_bxgyC

Update an existing automatic BXGY discount. Only provided fields are changed.

create_automatic_discount_free_shippingC

Create an automatic free shipping discount applied without a code when order meets criteria.

update_automatic_discount_free_shippingC

Update an existing automatic free shipping discount. Only provided fields are changed.

activate_automatic_discountA

Activate an automatic discount that is currently inactive or scheduled.

deactivate_automatic_discountA

Deactivate (pause) an automatic discount without deleting it.

delete_automatic_discountA

Permanently delete an automatic discount by its GID. This cannot be undone.

list_fulfillment_ordersA

List fulfillment orders for an order. Fulfillment orders represent groups of items to be fulfilled from a specific location.

list_fulfillmentsA

List all fulfillments for an order, including tracking info and status.

create_fulfillmentB

Create a fulfillment for one or more fulfillment orders. This marks items as shipped and optionally adds tracking info.

update_fulfillment_trackingB

Update tracking information for an existing fulfillment.

cancel_fulfillmentB

Cancel a fulfillment. This restocks the items and sets the fulfillment status to cancelled.

list_webhooksB

List all webhook subscriptions for this app.

get_webhookB

Get details of a single webhook subscription.

create_webhookA

Create a new webhook subscription. Common topics: orders/create, orders/updated, products/create, products/update, customers/create, app/uninstalled.

update_webhookA

Update an existing webhook subscription's callback URL. The topic cannot be changed after creation; delete and recreate the webhook to change topics.

delete_webhookB

Delete a webhook subscription.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/untitled-developers/shopify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server