Integration

commercetools integration

commercetools Composable Commerce is a headless commerce platform. Read, create, update and delete products, categories, customers, carts and inventory entries; read, update and delete orders and create them from carts; read, create and update payments and discount codes; search products, customers and orders; read product projections with price selection, product types, customer groups (and create them), cart and product discounts, channels, stores, zones, tax categories, shipping methods, states, custom types, shopping lists, reviews, standalone prices and messages; and store JSON in custom objects. Changes go through update actions with the resource's current version. Customers and orders hold personal data. Left out: store-scoped, customer-scoped (me), associate and business-unit routes, quotes, order edits and imports, product selections and tailoring, the variant API, attribute and discount groups, payment methods, recurring orders, subscriptions, extensions, API clients and GraphQL, the deprecated Product Projection Search and cross-container custom object query, and writes to the other reference data. Authentication is an API client from the Merchant Center (Settings, Developer settings) with the scopes it needs: its client ID and secret get a token by the client credentials flow; also give the Project key and the Region of the Project.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in commercetools.Built from the 85 commercetools tools below, on the connection you add once.

What you can do with commercetools

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Customer, 6 operations

  • create_customerCreate customerPOSTCreates (signs up) a customer: email (required), password unless the authentication mode is ExternalAuth, names, addresses, customer group and stores. Returns the customer and, when an anonymous cart was given, the cart.
  • delete_customerDelete customerDELETEDeletes a customer, given its current version. Returns the deleted customer.
  • get_customerGet customerGETReturns one customer by id: email, names, customer number, addresses with default shipping and billing, customer group and stores (personal data).
  • list_customersList customersGETLists the customers of the Project (email, names, customer number, addresses with default shipping and billing, customer group and stores (personal data)). Filter with where, order with sort, page with limit and offset.
  • search_customersSearch customersPOSTSearches customers with a structured query over their fields (email, names, addresses and more), with sort and paging; returns matching customer ids. Needs Customer Search to be activated for the Project.
  • update_customerUpdate customerPOSTChanges a customer with one or more update actions (such as changeEmail, setFirstName, addAddress, setDefaultShippingAddress, setCustomerGroup), given its current version. Returns the updated customer.

Order, 6 operations

  • create_order_from_cartCreate order from cartPOSTCreates an order from a cart, given the cart id and version. The cart needs a shipping address. Optional order number, purchase order number and initial order, payment and shipment states.
  • delete_orderDelete orderDELETEDeletes an order, given its current version. Returns the deleted order.
  • get_orderGet orderGETReturns one order by id: order number, customer email, line items, totals and taxes, addresses, shipping and payment info, and order, payment and shipment states.
  • list_ordersList ordersGETLists the orders of the Project (order number, customer email, line items, totals and taxes, addresses, shipping and payment info, and order, payment and shipment states). Filter with where, order with sort, page with limit and offset.
  • search_ordersSearch ordersPOSTSearches orders of the last 3 months with a structured query over order number, customer email, states, dates, line item SKUs and more, with sort and paging; returns matching order ids. Needs Order Search activated.
  • update_orderUpdate orderPOSTChanges an order with one or more update actions (such as changeOrderState, changePaymentState, changeShipmentState, addDelivery, setOrderNumber), given its current version. Returns the updated order.

Product, 6 operations

  • create_productCreate productPOSTCreates a product from a draft: product type, localized name and slug (required), plus description, categories, tax category, master variant and variants with SKU, prices, attributes and images. publish=true publishes it at once.
  • delete_productDelete productDELETEDeletes a product, given its current version. Returns the deleted product.
  • get_productGet productGETReturns one product by id: name, slug, description, categories, product type and every variant with SKU, prices, attributes and images, in current and staged versions.
  • list_productsList productsGETLists the products of the Project (name, slug, description, categories, product type and every variant with SKU, prices, attributes and images, in current and staged versions). Filter with where, order with sort, page with limit and offset.
  • search_productsSearch productsPOSTSearches products with a structured query (full text, exact, range, prefix and more over product and variant fields), with sort, facets and paging; returns matching product ids, optionally with their projections.
  • update_productUpdate productPOSTChanges a product with one or more update actions (such as setDescription, changeName, addVariant, setPrices, publish, unpublish), given its current version. Returns the updated product.

Cart, 5 operations

  • create_cartCreate cartPOSTCreates a cart in a currency (required), optionally for a customer or an anonymous session, with country, line items, addresses, shipping method, discount codes and tax settings.
  • delete_cartDelete cartDELETEDeletes a cart, given its current version. Returns the deleted cart.
  • get_cartGet cartGETReturns one cart by id: line items, prices and totals, taxes, discounts, shipping, addresses, customer and state.
  • list_cartsList cartsGETLists the carts of the Project (line items, prices and totals, taxes, discounts, shipping, addresses, customer and state). Filter with where, order with sort, page with limit and offset.
  • update_cartUpdate cartPOSTChanges a cart with one or more update actions (such as addLineItem, removeLineItem, changeLineItemQuantity, setShippingAddress, addDiscountCode), given its current version. Returns the updated cart.

Category, 5 operations

  • create_categoryCreate categoryPOSTCreates a category: localized name and slug (required), plus key, description, parent category, order hint, external id, SEO meta fields and assets.
  • delete_categoryDelete categoryDELETEDeletes a category, given its current version. Returns the deleted category.
  • get_categoryGet categoryGETReturns one category by id: localized name, slug, description, parent, ancestors, order hint and SEO fields.
  • list_categoriesList categoriesGETLists the categories of the Project (localized name, slug, description, parent, ancestors, order hint and SEO fields). Filter with where, order with sort, page with limit and offset.
  • update_categoryUpdate categoryPOSTChanges a category with one or more update actions (such as changeName, changeSlug, setDescription, changeParent, changeOrderHint), given its current version. Returns the updated category.

Inventory, 5 operations

  • create_inventory_entryCreate inventory entryPOSTCreates an inventory entry for a SKU (required) and quantity on stock (required), optionally per supply channel, with restock days and expected delivery. One entry per SKU and channel.
  • delete_inventory_entryDelete inventory entryDELETEDeletes an inventory entry, given its current version. Returns the deleted inventory entry.
  • get_inventory_entryGet inventory entryGETReturns one inventory entry by id: SKU, supply channel, quantity on stock, available quantity, restock days and expected delivery.
  • list_inventory_entriesList inventory entriesGETLists the inventory entries of the Project (SKU, supply channel, quantity on stock, available quantity, restock days and expected delivery). Filter with where, order with sort, page with limit and offset.
  • update_inventory_entryUpdate inventory entryPOSTChanges an inventory entry with one or more update actions (such as addQuantity, removeQuantity, changeQuantity, setRestockableInDays, setExpectedDelivery), given its current version. Returns the updated inventory entry.

Key key, 5 operations

  • get_category_by_keyGet category by keyGETReturns one category by its user-defined key: localized name, slug, description, parent, ancestors, order hint and SEO fields.
  • get_customer_by_keyGet customer by keyGETReturns one customer by its user-defined key: email, names, customer number, addresses with default shipping and billing, customer group and stores (personal data).
  • get_product_by_keyGet product by keyGETReturns one product by its user-defined key: name, slug, description, categories, product type and every variant with SKU, prices, attributes and images, in current and staged versions.
  • get_product_projection_by_keyGet product projection by keyGETReturns the projection of one product by its key (current, or staged with staged=true), with prices selected by currency, country, customer group and channel when given.
  • get_store_by_keyGet store by keyGETReturns one store by its user-defined key: key, name, languages, countries, distribution and supply channels, and product selections.

Custom object, 4 operations

  • delete_custom_objectDelete custom objectDELETEDeletes the custom object of a container and key.
  • get_custom_objectGet custom objectGETReturns one custom object by container and key: its JSON value and version.
  • list_custom_objects_in_containerList custom objects in containerGETLists the custom objects of one container, with their key, JSON value and version.
  • upsert_custom_objectUpsert custom objectPOSTCreates a custom object, or replaces the one with the same container and key: a JSON value stored by the Project. Pass version to update only if it did not change.

Discount code, 4 operations

  • create_discount_codeCreate discount codePOSTCreates a discount code: the code (required) and the cart discounts it activates (required), plus name, validity dates, maximum applications overall and per customer, and active flag.
  • get_discount_codeGet discount codeGETReturns one discount code by id: code, the cart discounts it activates, validity dates, application limits and whether it is active.
  • list_discount_codesList discount codesGETLists the discount codes of the Project (code, the cart discounts it activates, validity dates, application limits and whether it is active). Filter with where, order with sort, page with limit and offset.
  • update_discount_codeUpdate discount codePOSTChanges a discount code with one or more update actions (such as changeIsActive, setValidUntil, setMaxApplications, setName), given its current version. Returns the updated discount code.

Payment, 4 operations

  • create_paymentCreate paymentPOSTCreates a payment with the amount planned (required), payment method info, payment status, and transactions, for tracking a payment made with a payment service provider.
  • get_paymentGet paymentGETReturns one payment by id: amount planned, payment method info, payment status and transactions (authorization, charge, refund) with their states.
  • list_paymentsList paymentsGETLists the payments of the Project (amount planned, payment method info, payment status and transactions (authorization, charge, refund) with their states). Filter with where, order with sort, page with limit and offset.
  • update_paymentUpdate paymentPOSTChanges a payment with one or more update actions (such as addTransaction, changeTransactionState, setStatusInterfaceCode, setMethodInfoName), given its current version. Returns the updated payment.

Customer group, 3 operations

  • create_customer_groupCreate customer groupPOSTCreates a customer group with a name and optional key.
  • get_customer_groupGet customer groupGETReturns one customer group by id: name and key.
  • list_customer_groupsList customer groupsGETLists the customer groups of the Project (name and key). Filter with where, order with sort, page with limit and offset.

Cart discount, 2 operations

  • get_cart_discountGet cart discountGETReturns one cart discount by id: name, value, cart predicate, target, sort order, validity and whether a discount code is required.
  • list_cart_discountsList cart discountsGETLists the cart discounts of the Project (name, value, cart predicate, target, sort order, validity and whether a discount code is required). Filter with where, order with sort, page with limit and offset.

Channel, 2 operations

  • get_channelGet channelGETReturns one channel by id: key, roles (inventory supply, product distribution, order import and others), name and address.
  • list_channelsList channelsGETLists the channels of the Project (key, roles (inventory supply, product distribution, order import and others), name and address). Filter with where, order with sort, page with limit and offset.

Message, 2 operations

  • get_messageGet messageGETReturns one message by id: type such as OrderCreated, the resource it is about, its version and identifiers, and sequence number, without the type-specific payload. Messages exist only once message storage is enabled.
  • list_messagesList messagesGETLists the messages of the Project (type such as OrderCreated, the resource it is about, its version and identifiers, sequence number), without the type-specific payload. Empty until message storage is enabled for the Project.

Product discount, 2 operations

  • get_product_discountGet product discountGETReturns one product discount by id: name, value, product predicate, sort order, validity and whether it is active.
  • list_product_discountsList product discountsGETLists the product discounts of the Project (name, value, product predicate, sort order, validity and whether it is active). Filter with where, order with sort, page with limit and offset.

Product projection, 2 operations

  • get_product_projectionGet product projectionGETReturns the projection of one product by id (current, or staged with staged=true), with prices selected by currency, country, customer group and channel when given.
  • list_product_projectionsList product projectionsGETLists product projections (the current, or with staged=true the staged, view of each product) with price selection by currency, country, customer group and channel, filtered with where predicates.

Product type, 2 operations

  • get_product_typeGet product typeGETReturns one product type by id: name, description and attribute definitions.
  • list_product_typesList product typesGETLists the product types of the Project (name, description and attribute definitions). Filter with where, order with sort, page with limit and offset.

Review, 2 operations

  • get_reviewGet reviewGETReturns one review by id: author name, title, text, rating, locale, target product or channel, customer and state.
  • list_reviewsList reviewsGETLists the reviews of the Project (author name, title, text, rating, locale, target product or channel, customer and state). Filter with where, order with sort, page with limit and offset.

Shipping method, 2 operations

  • get_shipping_methodGet shipping methodGETReturns one shipping method by id: name, tax category, zone rates with shipping rates and tiers, and the predicate deciding when it applies.
  • list_shipping_methodsList shipping methodsGETLists the shipping methods of the Project (name, tax category, zone rates with shipping rates and tiers, and the predicate deciding when it applies). Filter with where, order with sort, page with limit and offset.

Shopping list, 2 operations

  • get_shopping_listGet shopping listGETReturns one shopping list by id: name, customer, line items with product and quantity, and text line items.
  • list_shopping_listsList shopping listsGETLists the shopping lists of the Project (name, customer, line items with product and quantity, and text line items). Filter with where, order with sort, page with limit and offset.

Standalone price, 2 operations

  • get_standalone_priceGet standalone priceGETReturns one standalone price by id: SKU, value, country, customer group, channel, validity, tiers and discounted value.
  • list_standalone_pricesList standalone pricesGETLists the standalone prices of the Project (SKU, value, country, customer group, channel, validity, tiers and discounted value). Filter with where, order with sort, page with limit and offset.

State, 2 operations

  • get_stateGet stateGETReturns one state by id: key, type (such as order, line item, product, review or payment state), name, whether it is initial, and its transitions.
  • list_statesList statesGETLists the states of the Project (key, type (such as order, line item, product, review or payment state), name, whether it is initial, and its transitions). Filter with where, order with sort, page with limit and offset.

Store, 2 operations

  • get_storeGet storeGETReturns one store by id: key, name, languages, countries, distribution and supply channels, and product selections.
  • list_storesList storesGETLists the stores of the Project (key, name, languages, countries, distribution and supply channels, and product selections). Filter with where, order with sort, page with limit and offset.

Tax category, 2 operations

  • get_tax_categoryGet tax categoryGETReturns one tax category by id: name and tax rates per country and state.
  • list_tax_categoriesList tax categoriesGETLists the tax categories of the Project (name and tax rates per country and state). Filter with where, order with sort, page with limit and offset.

Type, 2 operations

  • get_typeGet typeGETReturns one type by id: key, name, the resource types it extends and its custom field definitions.
  • list_typesList typesGETLists the types of the Project (key, name, the resource types it extends and its custom field definitions). Filter with where, order with sort, page with limit and offset.

Customer id customer id, 1 operation

  • get_customer_active_cartGet customer active cartGETReturns the most recently modified active cart of a customer.

Matching cart, 1 operation

  • list_shipping_methods_for_cartList shipping methods for cartGETLists the active shipping methods that can ship to the shipping address of a cart, with the shipping rates that apply to it.

Order number order number, 1 operation

  • get_order_by_numberGet order by numberGETReturns one order by its order number: customer email, line items, totals and taxes, addresses, shipping and payment info, and order, payment and shipment states.

Zone, 1 operation

  • list_zonesList zonesGETLists the zones of the Project (name, description and locations (countries and states)). Filter with where, order with sort, page with limit and offset.

Use commercetools from Claude Code, Cursor or Codex

Connect commercetools in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its commercetools operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect commercetools

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect commercetools once

    Add your commercetools connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

commercetools integration FAQ

What can you do with the commercetools integration?

LiveContext exposes 85 operations on commercetools, covering customer, order, product and cart.

Popular integrations

Browse the whole catalog