split_product

split_product MCP tool: move some raw names of a product to a new product of the same brand on an e-commerce project. Their history follows and the AI never merges them back. Inputs, response shape, error codes, JSON example.

Updated 2026-10-08

split_product moves some raw names (aliases) of a product to a new product of the same brand. The mentions under those names follow, so the history of both products is recomputed.

A split is a human decision the AI respects: the raw names of both products are locked, and the automatic grouping of duplicates never merges them back.

When to use

Use it when two different products ended up under one name: a refill pack and a starter kit, two ranges with close names, a merge that went too far. Call get_product first: its aliases list gives the ids to move.

Input

Field Type Default Description
projectId string (CUID) required Project of the product.
productId string (CUID) required Product to split.
aliasIds array of string (CUID), 1-100 required Alias ids from get_product, moved to the new product.
name string (1-200) first moved alias Name of the new product.

Response

{ "success": true, "productId": "clpr7..." }

productId is the new product. It belongs to the same brand, takes the status of the original product, and has the source MANUAL.

Errors:

{ "success": false, "error": "cannot_split_all" }
  • product_not_found: unknown id or another project.
  • alias_not_found: one of the alias ids does not belong to this product.
  • cannot_split_all: every alias was selected. At least one must stay on the original product; rename it with update_product instead.
  • invalid_name: the name holds nothing but the brand and variant attributes.
  • product_exists: the brand already has a product with that name. Move the aliases there by merging with merge_products.

Tips and patterns

  • Example: under Curaprox "CPS Prime Start", the aliases "Curaprox CPS 07 Recharge Prime" and "Curaprox CPS 011 Recharge Prime" are refills. Split them with name: "CPS Prime Refill".
  • Pass a range name in name; the default (first raw name) is often long and variant-specific.

Related tools

You can see where you stand today.

Free trial. Start tracking your AI visibility, no credit card.