Skip to content

Commerce MCP

Tools reference

Generated from the live tool registry: the same names, schemas and annotations tools/list returns.

About these tools#

  • tools/list returns only the tools your scopes allow. See the scope table in Authentication and access.
  • Every tool is read-only and has the same annotations. Each lists noauth and oauth2 security schemes: no tool needs sign-in.
  • Successful calls return structuredContent matching the tool's output schema, and the same JSON as text in content. Errors are described in Limits and errors.
  • inventory_quantity appears only for callers with inventory:read, which only API keys can carry.
  • Examples are real responses from the demo store, captured on 2026-09-27 as an anonymous call to https://app.aiptimise.com/api/mcp/p/openai. Timestamps and IDs in your responses will differ.

search_productsget_store_infoget_live_price_and_inventoryget_active_promotionsget_loyalty_programget_aiptimise_product_dataget_product_variants

search_products#

Search productscatalog:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Finds products of participating merchants that match a shopper's need. Put the shopper's words (a need, use case, question or product type) in query; it supports "quoted phrases", OR and -exclusions. Price, currency, stock and attribute values are exact filters applied to each variant. Searches every participating store unless store_id is given. Returns a short ranked list with each product's best matching variant, its price and availability as of the last catalog sync, a storefront link, and verbatim excerpts labelled with the field they came from. match is any_term when no product contained every word, so results are a looser match. Use get_live_price_and_inventory to confirm an offer and get_aiptimise_product_data for full detail.

Parameters

NameTypeRequiredDescription
querystringnoWhat the shopper wants, in their words (e.g. 'washable rug for a home with pets')at most 200 characters
store_idstring (UUID)noOptional: search only this store (Aiptimise public store ID)
min_pricenumberno≥ 0
max_pricenumberno> 0
currencystringnoISO 4217 currency code; required with min_price or max_pricepattern ^[A-Za-z]{3}$
in_stockbooleannotrue: only variants in stock at the last catalog sync
brandstringno1–100 characters
categorystringnoMatches part of the category path1–100 characters
materialstringnoMatches part of the material1–100 characters
colorstringno1–100 characters
sizestringno1–100 characters
genderstringnoone of: male, female, unisex
conditionstringnoone of: new, refurbished, used
attributesmap of stringnoVariant options that must match exactly, e.g. {"Size": "8x10"}keys 1–50 characters · values 1–100 characters
limitintegernoResults to return (default 5, max 10)≥ 1 · ≤ 10
Output fields (21)
FieldTypeAlways present
store_idstring (UUID)no
matchstringone of: all_terms, any_term, filtersyes
result_countintegeryes
resultsobject[]yes
results[].rankintegeryes
results[].storeobjectyes
results[].store.store_idstring (UUID)yes
results[].store.namestringyes
results[].product_idstringyes
results[].variant_idstringyes
results[].titlestringyes
results[].pricemoneyyes
results[].list_pricemoneyno
results[].availabilitystringyes
results[].product_urlstringyes
results[].image_urlstringno
results[].brandstringno
results[].evidenceobject[]yes
results[].evidence[].fieldstringone of: use_case, q_and_a, summary, highlight, descriptionyes
results[].evidence[].snippetstringyes
results[].as_ofstring (date-time)yes

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_products",
    "arguments": {
      "query": "waterproof rain jacket for hiking",
      "max_price": 200,
      "currency": "USD",
      "limit": 2
    }
  }
}
Response: result.structuredContent
{
  "match": "all_terms",
  "result_count": 1,
  "results": [
    {
      "rank": 1,
      "store": {
        "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
        "name": "Aiptimise Demo Store"
      },
      "product_id": "demo-summit-rain-jacket",
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-1",
      "title": "Summit 3-Layer Rain Jacket - S / Glacier Blue",
      "price": {
        "amount": "189.00",
        "currency": "USD"
      },
      "availability": "in_stock",
      "product_url": "https://demo.aiptimise.com/products/summit-rain-jacket?variant=demo-variant-1-1&utm_source=chatgpt.com&utm_medium=ai_agent&utm_campaign=aiptimise_mcp&utm_content=42335a18-4a84-473a-b318-b1b93b03637c",
      "image_url": "https://demo.aiptimise.com/images/summit-rain-jacket.jpg",
      "brand": "Aiptimise Demo Store",
      "evidence": [
        {
          "field": "summary",
          "snippet": "Summit 3-Layer **Rain** **Jacket** is a **waterproof**, breathable **hiking** shell with taped seams, pit zips and a packable design, rated 20,000 mm **waterproof**"
        },
        {
          "field": "use_case",
          "snippet": "Multi-day **hikes** in wet climates — Stays **waterproof** in sustained **rain** while pit zips vent heat on climbs"
        }
      ],
      "as_of": "2026-09-27T17:40:57.154Z"
    }
  ]
}

get_store_info#

Get store informationcatalog:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns a participating store's seller name and website, market (country, currency, language and the countries it ships to), return, privacy and terms policy links, return window, shipping zones and rates, policy details (shipping, returns, warranty, payment) and loyalty program, as stated on the store's own pages. advertised_offers are store-wide offers stated on those pages; use get_active_promotions for promotions the merchant approved for agents.

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
Output fields (26)
FieldTypeAlways present
store_idstring (UUID)yes
namestringyes
urlstringyes
descriptionstringno
marketobjectyes
market.countrystringyes
market.currencystringyes
market.localestringyes
market.ships_tostring[]yes
policiesobjectyes
policies.return_policy_urlstringno
policies.privacy_policy_urlstringno
policies.terms_of_service_urlstringno
policies.return_window_daysintegerno
policies.detailsobject (free-form)[]yes
shipping_zonesobject[]yes
shipping_zones[].namestringyes
shipping_zones[].countriesstring[]yes
shipping_zones[].ratesobject[]yes
shipping_zones[].rates[].servicestringyes
shipping_zones[].rates[].pricemoneyno
shipping_zones[].rates[].carrier_calculatedbooleanyes
shipping_zones[].rates[].min_ordermoneyno
advertised_offersobject (free-form)[]yes
loyalty_programobject (free-form) | nullyes
facts_as_ofstring (date-time)no

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_store_info",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad"
    }
  }
}
Response: result.structuredContent
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "name": "Aiptimise Demo Store",
  "url": "https://demo.aiptimise.com",
  "description": "Fictional outdoor-gear store used by the Aiptimise MCP sandbox and platform review.",
  "market": {
    "country": "US",
    "currency": "USD",
    "locale": "en-US",
    "ships_to": [
      "US"
    ]
  },
  "policies": {
    "return_policy_url": "https://demo.aiptimise.com/policies/refund-policy",
    "privacy_policy_url": "https://demo.aiptimise.com/policies/privacy-policy",
    "terms_of_service_url": "https://demo.aiptimise.com/policies/terms-of-service",
    "return_window_days": 30,
    "details": []
  },
  "shipping_zones": [
    {
      "name": "United States",
      "countries": [
        "US"
      ],
      "rates": [
        {
          "service": "Standard",
          "price": {
            "amount": "6.95",
            "currency": "USD"
          },
          "carrier_calculated": false
        },
        {
          "service": "Free standard",
          "price": {
            "amount": "0.00",
            "currency": "USD"
          },
          "carrier_calculated": false,
          "min_order": {
            "amount": "75.00",
            "currency": "USD"
          }
        },
        {
          "service": "Express",
          "price": {
            "amount": "19.95",
            "currency": "USD"
          },
          "carrier_calculated": false
        }
      ]
    }
  ],
  "advertised_offers": [],
  "loyalty_program": null
}

get_live_price_and_inventory#

Get live price and inventoryoffers:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns the current price, availability and product URL for one catalog item of a participating merchant, with the time the data was checked. A product sold in several variants requires variant_id; the error lists the valid IDs.

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
product_idstringyesProduct ID: the stable catalog item ID from a merchant feed, or the Aiptimise public product ID1–255 characters
variant_idstringnoStable variant item ID, as returned by get_product_variants1–255 characters
Output fields (12)
FieldTypeAlways present
store_idstring (UUID)yes
product_idstringyes
variant_idstringyes
titlestringyes
pricemoneyyes
list_pricemoneyno
availabilitystringyes
inventory_quantitynumberno
product_urlstringyes
as_ofstring (date-time)yes
sourcestringone of: live, snapshotyes
valid_untilstring (date-time)no

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_live_price_and_inventory",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
      "product_id": "demo-summit-rain-jacket",
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-2"
    }
  }
}
Response: result.structuredContent
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "product_id": "demo-summit-rain-jacket",
  "variant_id": "demo-summit-rain-jacket:demo-variant-1-2",
  "title": "Summit 3-Layer Rain Jacket - M / Glacier Blue",
  "price": {
    "amount": "189.00",
    "currency": "USD"
  },
  "availability": "in_stock",
  "product_url": "https://demo.aiptimise.com/products/summit-rain-jacket?variant=demo-variant-1-2&utm_source=chatgpt.com&utm_medium=ai_agent&utm_campaign=aiptimise_mcp&utm_content=42335a18-4a84-473a-b318-b1b93b03637c",
  "as_of": "2026-09-27T17:40:57.154Z",
  "source": "snapshot"
}

get_active_promotions#

Get active promotionspromotions:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns the merchant-approved promotions currently running for a participating store, optionally narrowed to one product. Each promotion carries its benefit, active period and the catalog IDs it applies to; an empty applies_to means it covers the whole store.

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
product_idstringnoOptional product ID; omit to list every active store promotion1–255 characters
variant_idstringnoOptional stable variant item ID of product_id (requires product_id), as returned by get_product_variants1–255 characters
Output fields (17)
FieldTypeAlways present
store_idstring (UUID)yes
product_idstringno
variant_idstringno
promotionsobject[]yes
promotions[].idstringyes
promotions[].titlestringyes
promotions[].descriptionobjectno
promotions[].description.plainstringyes
promotions[].statusstringone of: draft, scheduled, active, expired, disabledno
promotions[].active_periodobjectyes
promotions[].active_period.start_timestring (date-time)yes
promotions[].active_period.end_timestring (date-time)yes
promotions[].benefitsobject (type: amount_off | percent_off | free_shipping)[]yes
promotions[].applies_toobject[]no
promotions[].applies_to[].product_idstringyes
promotions[].applies_to[].variant_idsstring[]no
promotions[].urlstringno

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_active_promotions",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
      "product_id": "demo-summit-rain-jacket"
    }
  }
}
Response: result.structuredContent
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "product_id": "demo-summit-rain-jacket",
  "promotions": [
    {
      "id": "demo-welcome-10",
      "title": "10% off your first order for Trail Rewards members",
      "description": {
        "plain": "Join Trail Rewards (free) and get 10% off your first order."
      },
      "status": "active",
      "active_period": {
        "start_time": "2026-01-01T00:00:00.000Z",
        "end_time": "2030-12-31T23:59:59.000Z"
      },
      "benefits": [
        {
          "type": "percent_off",
          "percent_off": 10
        }
      ],
      "applies_to": [],
      "url": "https://demo.aiptimise.com/pages/offers"
    },
    {
      "id": "demo-free-shipping-75",
      "title": "Free shipping on orders over $75",
      "description": {
        "plain": "Free standard shipping to the US on orders over $75."
      },
      "status": "active",
      "active_period": {
        "start_time": "2026-01-01T00:00:00.000Z",
        "end_time": "2030-12-31T23:59:59.000Z"
      },
      "benefits": [
        {
          "type": "free_shipping"
        }
      ],
      "applies_to": [],
      "url": "https://demo.aiptimise.com/pages/offers"
    },
    {
      "id": "demo-rain-jacket-20",
      "title": "$20 off the Summit 3-Layer Rain Jacket",
      "description": {
        "plain": "Save $20 on the Summit rain jacket in every size and color."
      },
      "status": "active",
      "active_period": {
        "start_time": "2026-01-01T00:00:00.000Z",
        "end_time": "2030-12-31T23:59:59.000Z"
      },
      "benefits": [
        {
          "type": "amount_off",
          "amount_off": {
            "amount": 2000,
            "currency": "USD"
          }
        }
      ],
      "applies_to": [
        {
          "product_id": "demo-summit-rain-jacket"
        }
      ],
      "url": "https://demo.aiptimise.com/pages/offers"
    }
  ]
}

get_loyalty_program#

Get loyalty program detailsloyalty:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns the loyalty program, points and tiers a participating merchant publishes for one product. Fields are merchant-authored and free-form; a product with no loyalty content returns empty values. No shopper account data is involved.

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
product_idstringyesProduct ID: the stable catalog item ID from a merchant feed, or the Aiptimise public product ID1–255 characters
Output fields (5)
FieldTypeAlways present
store_idstring (UUID)yes
product_idstringyes
programobject (free-form) | nullyes
pointsobject (free-form) | nullyes
programsobject (free-form)[]yes

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_loyalty_program",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
      "product_id": "demo-trekker-45-backpack"
    }
  }
}
Response: result.structuredContent
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "product_id": "demo-trekker-45-backpack",
  "program": {
    "name": "Trail Rewards",
    "tiers": [
      {
        "name": "Explorer",
        "perks": [
          "Birthday bonus of 50 points"
        ],
        "threshold_points": 0
      },
      {
        "name": "Summit",
        "perks": [
          "Free express shipping",
          "Early access to new gear"
        ],
        "threshold_points": 1000
      }
    ],
    "terms_url": "https://demo.aiptimise.com/pages/trail-rewards",
    "description": "Earn 1 point per dollar spent. Every 100 points is worth $5 off a future order."
  },
  "points": {
    "basis": "1 point per $1 spent",
    "program": "Trail Rewards",
    "points_earned": 199
  },
  "programs": []
}

get_aiptimise_product_data#

Get product detailscatalog:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns the full Aiptimise view of one product of a participating merchant: the schema.org Product JSON-LD published to AI crawlers, plus enriched data (answer-engine summary, highlights, Q&A, use cases, reviews and review summary, promotions, policies, loyalty, optimized copy).

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
product_idstringyesProduct ID: the stable catalog item ID from a merchant feed, or the Aiptimise public product ID1–255 characters
Output fields (18)
FieldTypeAlways present
store_idstring (UUID)yes
product_idstringyes
json_ldobject (free-form)yes
enriched_dataobjectyes
enriched_data.answer_engine_summarystring | nullyes
enriched_data.product_highlightsstring[]no
enriched_data.q_and_aobject[]yes
enriched_data.q_and_a[].qstringyes
enriched_data.q_and_a[].astringyes
enriched_data.optimized_titlestring | nullyes
enriched_data.optimized_descriptionstring | nullyes
enriched_data.use_casesobject (free-form)[]yes
enriched_data.reviewsobject (free-form)[]yes
enriched_data.review_summaryobject (free-form) | nullyes
enriched_data.promotionsobject (free-form)[]yes
enriched_data.policiesobject (free-form)[]yes
enriched_data.loyaltyobject (free-form) | nullyes
variant_countintegeryes

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_aiptimise_product_data",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
      "product_id": "demo-ridge-merino-base-layer"
    }
  }
}
Response: result.structuredContent
JSON
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "product_id": "demo-ridge-merino-base-layer",
  "json_ld": {
    "@context": "https://schema.org",
    "@type": "ProductGroup",
    "name": "Ridge Merino Base Layer Top",
    "productGroupID": "demo-ridge-merino-base-layer",
    "variesBy": [
      "Size"
    ],
    "offers": {
      "@type": "AggregateOffer",
      "priceCurrency": "USD",
      "lowPrice": 79,
      "highPrice": 79,
      "offerCount": 3,
      "availability": "https://schema.org/InStock"
    },
    "hasVariant": [
      {
        "@type": "Product",
        "name": "XS",
        "sku": "NB-RMB-XS",
        "additionalProperty": [
          {
            "@type": "PropertyValue",
            "name": "Size",
            "value": "XS"
          }
        ],
        "offers": {
          "@type": "Offer",
          "priceCurrency": "USD",
          "price": 79,
          "availability": "https://schema.org/InStock",
          "url": "https://demo.aiptimise.com/products/ridge-merino-base-layer"
        }
      },
      {
        "@type": "Product",
        "name": "S",
        "sku": "NB-RMB-S",
        "additionalProperty": [
          {
            "@type": "PropertyValue",
            "name": "Size",
            "value": "S"
          }
        ],
        "offers": {
          "@type": "Offer",
          "priceCurrency": "USD",
          "price": 79,
          "availability": "https://schema.org/InStock",
          "url": "https://demo.aiptimise.com/products/ridge-merino-base-layer"
        }
      },
      {
        "@type": "Product",
        "name": "M",
        "sku": "NB-RMB-M",
        "additionalProperty": [
          {
            "@type": "PropertyValue",
            "name": "Size",
            "value": "M"
          }
        ],
        "offers": {
          "@type": "Offer",
          "priceCurrency": "USD",
          "price": 79,
          "availability": "https://schema.org/InStock",
          "url": "https://demo.aiptimise.com/products/ridge-merino-base-layer"
        }
      }
    ],
    "description": "A lightweight 150 gsm merino wool long-sleeve base layer that regulates temperature and resists odor on multi-day trips.",
    "disambiguatingDescription": "A 150 gsm merino wool base layer for cool-weather hiking that stays warm when damp and resists odor.",
    "additionalProperty": [
      {
        "@type": "PropertyValue",
        "name": "product_highlight",
        "value": "150 gsm merino wool"
      },
      {
        "@type": "PropertyValue",
        "name": "product_highlight",
        "value": "Flatlock seams"
      },
      {
        "@type": "PropertyValue",
        "name": "product_highlight",
        "value": "Odor resistant"
      },
      {
        "@type": "PropertyValue",
        "name": "product_highlight",
        "value": "Machine washable on wool cycle"
      }
    ],
    "dateModified": "2026-09-27T17:40:57.161Z",
    "image": "https://demo.aiptimise.com/images/ridge-merino-base-layer.jpg",
    "brand": {
      "@type": "Brand",
      "name": "Aiptimise Demo Store"
    },
    "category": "Apparel & Accessories > Clothing > Activewear",
    "url": "https://demo.aiptimise.com/products/ridge-merino-base-layer",
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": 5,
      "reviewCount": 1,
      "bestRating": 5,
      "worstRating": 1
    },
    "subjectOf": {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is it machine washable?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes, on a cold wool cycle; lay flat to dry."
          }
        }
      ]
    },
    "breadcrumb": {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Apparel & Accessories"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Clothing"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Activewear"
        }
      ]
    }
  },
  "enriched_data": {
    "answer_engine_summary": "A 150 gsm merino wool base layer for cool-weather hiking that stays warm when damp and resists odor.",
    "product_highlights": [
      "150 gsm merino wool",
      "Flatlock seams",
      "Odor resistant",
      "Machine washable on wool cycle"
    ],
    "q_and_a": [
      {
        "q": "Is it machine washable?",
        "a": "Yes, on a cold wool cycle; lay flat to dry."
      }
    ],
    "optimized_title": "Ridge Merino Base Layer Top",
    "optimized_description": "A lightweight 150 gsm merino wool long-sleeve base layer that regulates temperature and resists odor on multi-day trips.",
    "use_cases": [
      {
        "scenario": "Layering for autumn hikes",
        "why": "Merino regulates temperature under a shell or fleece.",
        "rank": 1
      },
      {
        "scenario": "Travel with a light bag",
        "why": "Can be worn several days without washing.",
        "rank": 2
      }
    ],
    "reviews": [
      {
        "rating": 5,
        "body": "Soft, not itchy at all, wore it for a whole week-long trek.",
        "date": "2026-06-01T00:00:00.000Z"
      }
    ],
    "review_summary": {
      "review_count": 1,
      "average_rating": 5
    },
    "promotions": [],
    "policies": [
      {
        "type": "shipping",
        "summary": "Free standard shipping on US orders over $75; otherwise $6.95. Express $19.95.",
        "currency": "USD",
        "ships_to": [
          "US"
        ],
        "source_url": "https://demo.aiptimise.com/policies/shipping-policy",
        "free_shipping": true
      },
      {
        "type": "returns",
        "summary": "Free returns within 30 days of delivery for unused items.",
        "source_url": "https://demo.aiptimise.com/policies/refund-policy",
        "return_window_days": 30
      }
    ],
    "loyalty": {
      "name": "Trail Rewards",
      "tiers": [
        {
          "name": "Explorer",
          "perks": [
            "Birthday bonus of 50 points"
          ],
          "threshold_points": 0
        },
        {
          "name": "Summit",
          "perks": [
            "Free express shipping",
            "Early access to new gear"
          ],
          "threshold_points": 1000
        }
      ],
      "terms_url": "https://demo.aiptimise.com/pages/trail-rewards",
      "description": "Earn 1 point per dollar spent. Every 100 points is worth $5 off a future order."
    }
  },
  "variant_count": 3
}

get_product_variants#

Get product variantscatalog:readreadOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false

Returns per-variant data (options, SKU, price, list price, availability) for one product of a participating merchant, with an aggregate offer summarising the price range. A product sold as a single variant returns an empty list; use get_live_price_and_inventory for its offer.

Parameters

NameTypeRequiredDescription
store_idstring (UUID)yesAiptimise public store ID (UUID)
product_idstringyesProduct ID: the stable catalog item ID from a merchant feed, or the Aiptimise public product ID1–255 characters
Output fields (14)
FieldTypeAlways present
store_idstring (UUID)yes
product_idstringyes
variant_countintegeryes
variantsobject[]yes
variants[].variant_idstringyes
variants[].titlestringyes
variants[].skustringno
variants[].optionsmap of stringyes
variants[].pricemoneyyes
variants[].list_pricemoneyno
variants[].availablebooleanno
variants[].inventory_quantitynumberno
variants[].is_defaultbooleanno
aggregate_offerobject (free-form)no

Example

Request (tools/call)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_product_variants",
    "arguments": {
      "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
      "product_id": "demo-summit-rain-jacket"
    }
  }
}
Response: result.structuredContent
{
  "store_id": "edab46c9-76c6-4eb5-92dd-f593ed4bd9ad",
  "product_id": "demo-summit-rain-jacket",
  "variant_count": 4,
  "variants": [
    {
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-1",
      "title": "S / Glacier Blue",
      "sku": "NB-SRJ-S-BLU",
      "options": {
        "Size": "S",
        "Color": "Glacier Blue"
      },
      "price": {
        "amount": "189.00",
        "currency": "USD"
      },
      "available": true,
      "is_default": true
    },
    {
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-2",
      "title": "M / Glacier Blue",
      "sku": "NB-SRJ-M-BLU",
      "options": {
        "Size": "M",
        "Color": "Glacier Blue"
      },
      "price": {
        "amount": "189.00",
        "currency": "USD"
      },
      "available": true,
      "is_default": false
    },
    {
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-3",
      "title": "L / Glacier Blue",
      "sku": "NB-SRJ-L-BLU",
      "options": {
        "Size": "L",
        "Color": "Glacier Blue"
      },
      "price": {
        "amount": "189.00",
        "currency": "USD"
      },
      "available": false,
      "is_default": false
    },
    {
      "variant_id": "demo-summit-rain-jacket:demo-variant-1-4",
      "title": "M / Basalt Black",
      "sku": "NB-SRJ-M-BLK",
      "options": {
        "Size": "M",
        "Color": "Basalt Black"
      },
      "price": {
        "amount": "189.00",
        "currency": "USD"
      },
      "available": true,
      "is_default": false
    }
  ],
  "aggregate_offer": {
    "@type": "AggregateOffer",
    "priceCurrency": "USD",
    "lowPrice": 189,
    "highPrice": 189,
    "offerCount": 4,
    "availability": "https://schema.org/InStock"
  }
}