Commerce tools
MCP names: checkout, reservations, quotations, sales, purchases, catalog_commerce.
checkout
Actions: create_order · create_payment_link · get_order.
Creates a pending sale_order. Stripe completion is handled by the commerce webhook (metadata.type = sale_order). Do not also call create_order for a slot you already booked with reservations.create.
| Parameter | Type | Notes |
|---|---|---|
| action | string | create_order, create_payment_link, get_order |
| customer_email | string | Resolves / creates a lead |
| lead_id | string | Attach to the sale |
| source | string | quote, marketplace, shop, sales |
| lines | string | JSON string of lines: catalogItemId, quantity, optional modifiers, reservationStart / reservationEnd |
| order_id | string | Required for payment link / get |
| return_url | string | After Stripe; default /buyer/orders |
{
"action": "create_order",
"site_id": "YOUR_SITE_ID",
"customer_email": "buyer@example.com",
"lines": "[{\"catalogItemId\":\"HOST_ID\",\"quantity\":1}]"
}{ "action": "create_payment_link", "order_id": "ORDER_ID" }reservations
Actions: list · get · get_available_slots · create · update.
create books the slot and inserts a pending sale order (order_id, sale_id in the response). Charge with checkout.create_payment_link. Pass entitlement_id for a $0 line.
| Parameter | Type | Notes |
|---|---|---|
| catalog_item_id | string | Required for create and slot query |
| lead_id | string | Required for create |
| from_date, to_date | string | ISO date for slot query |
| start_time, end_time | string | ISO datetime for create / reschedule |
| quantity | number | Seats (default 1) |
| id / reservation_id | string | Required for get / update |
| status | string | pending, confirmed, cancelled |
{
"action": "get_available_slots",
"catalog_item_id": "CAT_ITEM_ID",
"from_date": "2026-07-27",
"to_date": "2026-07-31",
"quantity": 2
}update with status=cancelled frees capacity. Capacity checks exclude the reservation being updated.
catalog_commerce
Actions: create · list · get · update · delete.
Default resource is item. Other resources cover the same structures the catalog UI can set: modifiers, tech specs, and taxes.
| resource | Notes |
|---|---|
item | Products / services. delete is not supported — archive with status=archived. get accepts include_modifiers, include_specs, include_taxes. |
modifier_group | Selection rules (min_select, max_select) |
modifier_group_item | Option = a catalog item inside a group |
item_modifier_group | Attach a group to a host product |
item_spec_category | Tech-spec group. slug is required in DB and is auto-generated from name if omitted. |
item_spec | Spec row. category_id here is an item_spec_category UUID, not a catalog category. |
catalog_item_spec | Attach a spec to a product. Identify rows with catalog_item_id + item_spec_id. |
tax | Site tax. rate is 0–100. |
catalog_item_tax | Attach a tax to a product. update is not supported. |
{
"action": "create",
"resource": "item_spec_category",
"site_id": "YOUR_SITE_ID",
"name": "Dimensions"
}{
"action": "create",
"resource": "item_spec",
"site_id": "YOUR_SITE_ID",
"category_id": "SPEC_CATEGORY_ID",
"name": "120 x 60 cm"
}{
"action": "create",
"resource": "catalog_item_spec",
"site_id": "YOUR_SITE_ID",
"catalog_item_id": "ITEM_ID",
"item_spec_id": "SPEC_ID"
}{
"action": "create",
"resource": "tax",
"site_id": "YOUR_SITE_ID",
"name": "IVA",
"rate": 16
}{
"action": "create",
"resource": "catalog_item_tax",
"site_id": "YOUR_SITE_ID",
"catalog_item_id": "ITEM_ID",
"tax_id": "TAX_ID"
}Related tools
quotations/quotation_items— commercial quotes before checkout.sales/salesOrder— closed deals and order records.purchases/purchase_items/transactions— vendor bills and expenses.catalog_commerce— listing, modifiers, tech specs, taxes, and catalog settings.promotions,entitlements,subscription_plan_items— discounts and digital access.
Same auth and site_id rules as CRM.