MCP tools reference

Every tool the ShopsBuilder MCP server (https://mcp.shopsbuilder.app/mcp) offers, by class. To connect a client, see Connect an AI agent.

Classes follow the tool annotations: readOnlyHint is Read, destructiveHint is Sensitive write (as is create_store), and everything else is Write. Every tool except list_stores, create_store, select_store, current_store and report_missing_capability works on the selected store.

Read

Read only. Nothing in your store changes.

ToolTitleEffect
channelsFetch channelsLists the store's channels.
check_channel_readinessCheck channel readinessExplains why a channel's products can't be bought.
current_domainGet store API URLShows the selected store's API URL.
current_storeGet selected storeShows the selected store.
customersFetch customersLists customers.
get_product_pricingGet product pricingShows a product's prices and discounts in a channel.
get_product_variant_optionsGet product variant optionsLists a product's variant options.
list_categoriesList categoriesLists categories.
list_product_mediaList product mediaLists a product's images.
list_promotionsList promotionsLists promotions.
list_salesList salesLists sales.
list_shipping_ratesList shipping ratesLists shipping rates and their channels.
list_shipping_zonesList shipping zonesLists shipping zones.
list_storesList storesLists your stores.
list_warehousesList warehousesLists warehouses.
order_countFetch orders countCounts orders.
ordersFetch ordersLists orders.
productsFetch productsLists products.
sales_summarySales summarySummarises sales for 7 or 30 days.
stocksFetch stocksLists stock levels.
warehouse_detailsFetch warehouse detailsShows a warehouse.

Write

Creates or adds. Nothing existing is overwritten or deleted.

ToolTitleEffect
add_channel_to_shipping_zoneAdd channel to shipping zoneAdds a channel and countries to a shipping zone.
add_product_image_from_urlAdd product image from URLAdds an image to a product from a URL.
add_product_mediaAdd product mediaAdds a video to a product.
add_product_media_bulkAdd product media in bulkAdds several images to a product.
add_product_media_from_uploadAdd product media from uploaded keyAdds an uploaded image to a product.
add_product_to_featured_collectionAdd product to Featured collectionAdds a product to the Featured collection.
add_warehouse_to_channelAdd warehouse to channelConnects warehouses to a channel.
create_catalogue_promotionCreate catalog promotionCreates a catalog promotion.
create_categoryCreate categoryCreates a category.
create_channelCreate channelCreates a channel.
create_presigned_upload_urlsCreate presigned upload URLsReturns temporary upload URLs for images.
create_productCreate productCreates a product.
create_product_typeCreate product typeCreates a product type.
create_product_variantCreate product variantCreates a product variant.
create_saleCreate saleCreates a sale.
create_shipping_rateCreate shipping rateCreates a shipping rate.
create_variant_dimensionCreate variant dimensionCreates a variant option, such as size, and assigns it.
ensure_featured_collectionEnsure Featured collectionCreates the Featured collection if it's missing.
report_missing_capabilityReport missing capabilitySends us a request for a missing feature.
select_storeSelect storeSelects the store the agent works on.

Sensitive write

Overwrites or deletes existing data, or creates a store. Tools marked Yes run only after you confirm a preview.

ToolTitleEffectConfirmation
add_category_image_from_uploadAdd category image from uploaded keyReplaces a category's image with an upload.No
add_category_image_from_urlAdd category image from URLReplaces a category's image from a URL.No
create_storeCreate storeCreates a new store.Yes
delete_product_mediaDelete product mediaDeletes product images.Yes
delete_promotionDelete promotionDeletes a promotion.Yes
delete_saleDelete saleDeletes a sale.Yes
publish_product_to_channelPublish product to channelPublishes a product to a channel or changes its listing.No
set_collection_channelsSet collection channelsPublishes or hides a collection in channels.When hiding
set_shipping_rate_priceSet shipping rate priceOverwrites a shipping rate's price in channels.No
set_variant_priceSet variant price in channelOverwrites a variant's price in a channel.No
set_variant_stockSet variant stockOverwrites a variant's stock in a warehouse.No
update_product_categorySet product categoryReplaces a product's category.No
update_sale_channel_listingSet sale discount in channelOverwrites a sale's discount in a channel.No
update_shop_metadataUpdate shop profileOverwrites the store profile: name, descriptions, images, hours and links.No

Confirmation

create_store returns a preview when called with confirmed: false, and creates the store only when called again with confirmed: true. The delete tools, and set_collection_channels when it hides a collection, return a preview and a confirmation_token. Pass the token back only after the user confirms. The server rejects a token used for other arguments, another store or another user, as well as an expired or reused one.

Status handling

A new store takes a few minutes to provision. Until it's ready, store tools report that provisioning isn't ready. Retry the same tool shortly.

Catalog setup tools return nextStep, the next call in the flow: create_product → update_product_category → create_product_variant → publish_product_to_channel → set_variant_price → set_variant_stock.

Errors

Write tools return failures as a result, not a protocol error:

{
  "success": false,
  "error": { "code": "INVALID_INPUT", "field": "slug", "message": "…", "retryable": false },
  "errors": [{ "code": "INVALID_INPUT", "field": "slug", "message": "…", "retryable": false }]
}

retryable: true (code UPSTREAM_UNAVAILABLE) means the call can be repeated. Invalid arguments come back as an MCP tool error naming the field. An unexpected server error returns a support reference.

If no tool can do what the user asks, call report_missing_capability with a one-sentence summary and tell the user it isn't supported.

Rate limits

There is no per-tool rate limit. Access tokens are short-lived, and the client renews them through OAuth. When the store's API is overloaded, tools return retryable: true. Wait a few seconds before retrying.