curievision avatar

Curie Commerce

curievision/curie-shopify-app

Connects to Curie's 3D product search engine covering over 5.6 million Shopify stores. Lets your LLM search products, compare them with 3D visualizations, and handle purchasing flows. The free tier gets you search and comparison, while Pro unlocks checkout functionality. Use the global endpoint to search across all stores or point to a specific shop_id to query individual merchants. Good fit if you're building shopping assistants, product research tools, or conversational commerce experiences that need access to Shopify's ecosystem without manually integrating each store.

tools
30
auth
Secret needed
transport
SSE
last updated
May 20, 2026

Install

From registry metadata
$ npx add-mcp https://chat.curie.app/api/mcp/global --name commerce --transport sse

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport sse commerce https://chat.curie.app/api/mcp/global

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 30 tools

Verified live against the running server on Nov 6, 2026.

get_recommendationsGet product recommendations similar to a given product. Useful for 'show me more like this' requests. Returns structured product items (same shape as search_products). Recommended visualization: a horizontal scrolling React Artifact with product cards labeled "More like this"...3 params

Get product recommendations similar to a given product. Useful for 'show me more like this' requests. Returns structured product items (same shape as search_products). Recommended visualization: a horizontal scrolling React Artifact with product cards labeled "More like this"...

Parameters* required
limitnumber
Number of recommendations (default 6, max 20)
product_id*string
The product UUID to base recommendations on
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
add_product_from_photoAdd a generated 3D model to the merchant's Shopify store as MODEL_3D media — creating the product if needed — and optionally publish it. This is the store-side 'cut-and-paste' step: pass the hosted `glb_url` of an already-generated model, OR pass just an `image_url` and (when...6 params

Add a generated 3D model to the merchant's Shopify store as MODEL_3D media — creating the product if needed — and optionally publish it. This is the store-side 'cut-and-paste' step: pass the hosted `glb_url` of an already-generated model, OR pass just an `image_url` and (when...

Parameters* required
enginestring
Optional generation engine override (mock | trellis | hunyuan). Defaults to the server's configured engine. Only used when generating from image_url.
glb_urlstring
Hosted .glb URL (Curie CDN) of the generated 3D model. Shopify fetches + processes it (and derives the USDZ).
image_urlstring
Source product photo (hosted URL). If no glb_url is given, the tool runs photo→3D on the configured Curie engine; if no engine is configured it reports that generation must run first.
product_idstring
Optional existing product to attach the model to; omit to create a new product.
publishboolean
Publish to the Online Store (product status ACTIVE). Default false → created as DRAFT.
title*string
Product title for the new (or updated) listing.
get_availabilityCheck product availability and pricing across retailers. Returns all affiliate links with current prices.2 params

Check product availability and pricing across retailers. Returns all affiliate links with current prices.

Parameters* required
product_id*string
The product UUID
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
compare_productsCompare 2 to 6 products side-by-side. Returns a comparison matrix with each product's name, price, brand, 3D model availability, key attributes, and a cascade-aware visual hint for each row. Optional criteria narrow which features are weighted (e.g. ['waterproof', 'budget unde...3 params

Compare 2 to 6 products side-by-side. Returns a comparison matrix with each product's name, price, brand, 3D model availability, key attributes, and a cascade-aware visual hint for each row. Optional criteria narrow which features are weighted (e.g. ['waterproof', 'budget unde...

Parameters* required
criteriaarray
Optional criteria to score products against (e.g. ['waterproof', 'budget under $150'])
product_ids*array
Array of 2-6 product identifiers to compare. Accepts the SAME identifiers search_products / get_product return: Shopify Product GIDs (gid://shopify/Product/...), canonical product URLs, or Curie ca...
shop_domainstring
Optional. Target a specific Shopify store by domain (e.g. 'gymshark.com', 'skims.com', 'allbirds.myshopify.com'). Pass the SAME shop_domain you used with search_products / get_product so the GIDs i...
get_brand_contextReturns the merchant's brand palette, typography hints, voice/tone profile, signature phrases, forbidden words, and a system_prompt_block the AI client can prepend to subsequent responses so they sound like the merchant rather than generic AI output.

Returns the merchant's brand palette, typography hints, voice/tone profile, signature phrases, forbidden words, and a system_prompt_block the AI client can prepend to subsequent responses so they sound like the merchant rather than generic AI output.

No parameters. Call it with no arguments.

get_suggested_promptsOnboarding suggestion chips for the chat surface — the same 'What's trending?' / 'Find me a gift' / 'Compare products' chips chat.curie.app shows above its input. When called on a per-shop MCP endpoint (e.g. /api/mcp/allbirds.com), returns brand-themed prompts mentioning that...2 params

Onboarding suggestion chips for the chat surface — the same 'What's trending?' / 'Find me a gift' / 'Compare products' chips chat.curie.app shows above its input. When called on a per-shop MCP endpoint (e.g. /api/mcp/allbirds.com), returns brand-themed prompts mentioning that...

Parameters* required
categorystring
Optional category filter (e.g. 'sneakers', 'skincare'). When set, prompts are narrowed to that vertical.
countinteger
Max prompts to return (1-8, default 4)
initiate_checkoutBegin a GUEST checkout flow for one or more products — NO sign-in required. Pass `shop_domain` (e.g. "allbirds.com") on Curie's cross-merchant route so Curie resolves the shop, creates an UNAUTHENTICATED Shopify cart, and returns its `continue_url` — the shop's OWN Shopify-hos...4 params

Begin a GUEST checkout flow for one or more products — NO sign-in required. Pass `shop_domain` (e.g. "allbirds.com") on Curie's cross-merchant route so Curie resolves the shop, creates an UNAUTHENTICATED Shopify cart, and returns its `continue_url` — the shop's OWN Shopify-hos...

Parameters* required
buyer_emailstring
Optional buyer email for the checkout
product_ids*array
Array of 1-10 product identifiers to check out (Shopify Product GIDs, product URLs, or Curie UUIDs — the same IDs search_catalog / get_product return).
shipping_addressobject
Optional pre-filled shipping address {country, postal_code, ...}
shop_domainstring
Shop to check out against (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the guest Shopify checkout can resolve; optional on a shop-scoped connector.
search_catalogSearch the store catalog by name, brand, style, color, or keywords. This is the UCP/Shopify-canonical catalog-search tool (Shopify Storefront MCP's `search_catalog`, formerly `search_shop_catalog`); `search_products` is a deprecated alias of this tool. Returns matching product...5 params

Search the store catalog by name, brand, style, color, or keywords. This is the UCP/Shopify-canonical catalog-search tool (Shopify Storefront MCP's `search_catalog`, formerly `search_shop_catalog`); `search_products` is a deprecated alias of this tool. Returns matching product...

Parameters* required
limitnumber
Maximum number of results to return (default 10, max 50)
max_pricenumber
Maximum price in USD (exclusive of cents). Curie clamps the result set so no product exceeds this price.
min_pricenumber
Minimum price in USD (exclusive of cents).
query*string
Search query (e.g. 'wireless headphones', 'red running shoes')
shop_domainstring
Optional. Target a specific Shopify store by domain (e.g. 'gymshark.com', 'skims.com', 'allbirds.myshopify.com'). Overrides the connector's default store, so a single connector can search ANY Shopi...
lookup_catalogBatch-retrieve full product objects by ID in ONE call. This is the UCP/Shopify-canonical batch product-lookup primitive (Shopify Catalog MCP's `lookup_catalog`) — the multi-id counterpart of `get_product`. Pass an array of product identifiers (the SAME identifiers `search_cata...2 params

Batch-retrieve full product objects by ID in ONE call. This is the UCP/Shopify-canonical batch product-lookup primitive (Shopify Catalog MCP's `lookup_catalog`) — the multi-id counterpart of `get_product`. Pass an array of product identifiers (the SAME identifiers `search_cata...

Parameters* required
product_ids*array
Array of 1-50 product identifiers to retrieve. Accepts the SAME identifiers search_catalog / get_product return: Shopify Product GIDs (gid://shopify/Product/...), canonical product URLs, or Curie c...
shop_domainstring
Optional. Target a specific Shopify store by domain (e.g. 'gymshark.com', 'skims.com', 'allbirds.myshopify.com'). Pass the SAME shop_domain you used with search_catalog / get_product so the GIDs in...
get_product_detailsGet full details for a specific product by its ID. The UCP/Shopify-Storefront-MCP-canonical product-detail tool. Returns the full Shopify product payload (description, options, variants, selling_plan_groups, requires_selling_plan, selectedOrFirstAvailableVariant, total_variant...2 params

Get full details for a specific product by its ID. The UCP/Shopify-Storefront-MCP-canonical product-detail tool. Returns the full Shopify product payload (description, options, variants, selling_plan_groups, requires_selling_plan, selectedOrFirstAvailableVariant, total_variant...

Parameters* required
product_id*string
The Shopify product GID (gid://shopify/Product/...) or Curie UUID
shop_domainstring
Optional. Target a specific Shopify store by domain (e.g. 'gymshark.com', 'skims.com', 'allbirds.myshopify.com'). Overrides the connector's default store, so a single connector can fetch ANY Shopif...
get_cartRead a shopper's current cart by id. Returns line items, totals, discount info, and checkout URL. Passthrough to Shopify Storefront MCP's get_cart for the target shop; requires shop scope and is not available for cross-merchant queries.2 params

Read a shopper's current cart by id. Returns line items, totals, discount info, and checkout URL. Passthrough to Shopify Storefront MCP's get_cart for the target shop; requires shop scope and is not available for cross-merchant queries.

Parameters* required
cart_id*string
The Shopify cart GID (gid://shopify/Cart/...)
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
update_cartModify a Shopify cart — add line items, update quantities, remove lines. Pass cart_id=null to create a new cart. Returns the updated cart with checkout URL ready for in-chat completion. Passthrough to Shopify Storefront MCP's update_cart.5 params

Modify a Shopify cart — add line items, update quantities, remove lines. Pass cart_id=null to create a new cart. Returns the updated cart with checkout URL ready for in-chat completion. Passthrough to Shopify Storefront MCP's update_cart.

Parameters* required
add_itemsarray
New lines to add: [{product_variant_id: 'gid://shopify/ProductVariant/...', quantity: 1}, ...]
cart_idstring
Existing cart GID. Omit or pass null to create a new cart.
remove_line_idsarray
Explicit line IDs to remove (alternative to update_items with quantity:0).
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
update_itemsarray
Existing lines to set quantities on: [{id: 'gid://shopify/CartLine/...', quantity: 2}, ...]. quantity:0 removes the line.
create_cartCreate a new Shopify cart for the target shop, optionally pre-loaded with line items. UCP-canonical dev.ucp.shopping.cart.create_cart. Returns the new cart_id + checkout_url ready for in-chat checkout handoff. Passthrough to Shopify Storefront MCP's create_cart.3 params

Create a new Shopify cart for the target shop, optionally pre-loaded with line items. UCP-canonical dev.ucp.shopping.cart.create_cart. Returns the new cart_id + checkout_url ready for in-chat checkout handoff. Passthrough to Shopify Storefront MCP's create_cart.

Parameters* required
add_itemsarray
Optional initial lines: [{product_variant_id: 'gid://shopify/ProductVariant/...', quantity: 1}, ...]
buyer_localestring
Optional buyer-provided locale hint (e.g. 'en-US', 'fr-CA').
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
cancel_cartCancel an existing Shopify cart. UCP-canonical dev.ucp.shopping.cart.cancel_cart. Idempotent — re-cancelling a cancelled cart returns success. Passthrough to Shopify Storefront MCP's cancel_cart.2 params

Cancel an existing Shopify cart. UCP-canonical dev.ucp.shopping.cart.cancel_cart. Idempotent — re-cancelling a cancelled cart returns success. Passthrough to Shopify Storefront MCP's cancel_cart.

Parameters* required
cart_id*string
The Shopify cart GID to cancel.
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
get_checkoutRead a Shopify checkout session's current state by id. Returns status, line items, shipping address, totals, brand voice. UCP-canonical dev.ucp.shopping.checkout.get_checkout. Passthrough to Shopify Checkout MCP.2 params

Read a Shopify checkout session's current state by id. Returns status, line items, shipping address, totals, brand voice. UCP-canonical dev.ucp.shopping.checkout.get_checkout. Passthrough to Shopify Checkout MCP.

Parameters* required
checkout_id*string
The checkout id returned by initiate_checkout / create_checkout (UCP also accepts `id`).
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
update_checkoutUpdate fields on a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.update_checkout — Curie's wrapper performs a PUT-semantics-safe diff (fetches current state, merges your partial input, forwards the full payload) so omitting a field doesn't silently delete i...7 params

Update fields on a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.update_checkout — Curie's wrapper performs a PUT-semantics-safe diff (fetches current state, merges your partial input, forwards the full payload) so omitting a field doesn't silently delete i...

Parameters* required
buyer_emailstring
Optional buyer email. Omitting preserves current.
checkout_id*string
Existing checkout id.
clear_fieldsarray
Field names to explicitly clear on Shopify (e.g. ['buyer_email', 'shipping_address']). UCP-spec PUT-semantics deletes.
discount_codesarray
Optional REPLACE-all discount code list. To append, fetch current via get_checkout and pass the new full list.
line_itemsarray
Optional replacement line items: [{variant_id, quantity}, ...]. Omitting preserves the current lines.
shipping_addressobject
Optional shipping address {country_code, postal_code, city, address1, address2, first_name, last_name, phone}. Omitting preserves the current address.
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
complete_checkoutComplete (finalize payment + place order) a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.complete_checkout. Requires a selected_instrument_id from the checkout's available payment instruments. Token-tier merchants complete in-protocol; Free-tier merchants...3 params

Complete (finalize payment + place order) a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.complete_checkout. Requires a selected_instrument_id from the checkout's available payment instruments. Token-tier merchants complete in-protocol; Free-tier merchants...

Parameters* required
checkout_id*string
Checkout id to complete.
selected_instrument_id*string
Payment instrument id from the checkout's ucp.payment.instruments[] block (returned by get_checkout).
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
cancel_checkoutCancel a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.cancel_checkout. Idempotent — re-cancelling returns success. Idempotency-key auto-managed.2 params

Cancel a Shopify checkout session. UCP-canonical dev.ucp.shopping.checkout.cancel_checkout. Idempotent — re-cancelling returns success. Idempotency-key auto-managed.

Parameters* required
checkout_id*string
Checkout id to cancel.
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
get_orderRead the live status of an order by id (UCP-canonical dev.ucp.shopping.order.get_order). Returns the real order body — line items, fulfillment/tracking, totals, status — when the order is visible to Curie. Visibility today is per-agent (Shopify Order MCP scope): orders placed...2 params

Read the live status of an order by id (UCP-canonical dev.ucp.shopping.order.get_order). Returns the real order body — line items, fulfillment/tracking, totals, status — when the order is visible to Curie. Visibility today is per-agent (Shopify Order MCP scope): orders placed...

Parameters* required
order_id*string
The order id returned by complete_checkout (UCP also accepts `id`).
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
search_shop_policies_and_faqsGet facts about the shop's policies (returns, shipping, refunds, exchanges) or product FAQs. Example questions: "What's your return policy?", "Do you ship to Canada?", "How long do exchanges take?". Passthrough to Shopify Storefront MCP's search_shop_policies_and_faqs.2 params

Get facts about the shop's policies (returns, shipping, refunds, exchanges) or product FAQs. Example questions: "What's your return policy?", "Do you ship to Canada?", "How long do exchanges take?". Passthrough to Shopify Storefront MCP's search_shop_policies_and_faqs.

Parameters* required
query*string
Shopper question (e.g. 'What's your return policy?', 'How long does shipping take?')
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
curie_try_on_3dReturns an MCP-UI UIResource for an inline 3D viewer for the given product (when a USDZ/GLB model exists). Hosts that support MCP Apps render the iframe-embedded model-viewer inline in chat; legacy hosts fall back to structured text + a direct USDZ URL. Differs from view_3d_mo...2 params

Returns an MCP-UI UIResource for an inline 3D viewer for the given product (when a USDZ/GLB model exists). Hosts that support MCP Apps render the iframe-embedded model-viewer inline in chat; legacy hosts fall back to structured text + a direct USDZ URL. Differs from view_3d_mo...

Parameters* required
product_id*string
The product UUID (Curie catalog) or Shopify Product GID.
shop_domainstring
Optional shop domain override. Defaults to the storeId of the MCP endpoint.
solve_jobEditorial 'best for the job' answer. Given a shopper's job-to-be-done (e.g. 'shoes for flat feet', 'beach wedding outfit under $200'), returns one top pick, 2 alternatives (also-great / budget / step-up), the criteria used to rank them with weights + explainers, and product ci...6 params

Editorial 'best for the job' answer. Given a shopper's job-to-be-done (e.g. 'shoes for flat feet', 'beach wedding outfit under $200'), returns one top pick, 2 alternatives (also-great / budget / step-up), the criteria used to rank them with weights + explainers, and product ci...

Parameters* required
brand_preferencesarray
Optional list of brand names the shopper has signaled preference for
goalstring
Synonym for `job_description` — same shopper job-to-be-done in their own words. Convenience alias for callers that use a shorter field name.
job_description*string
The shopper's job-to-be-done in their own words (e.g. 'I need running shoes that don't hurt my flat feet for half-marathon training'). Synonyms `goal`, `job`, `query` are also accepted.
max_price_usdnumber
Optional budget cap in USD
shop_domainstring
Shop domain to act on (e.g. "allbirds.com"). Required on Curie's cross-merchant route so the per-shop cart/checkout/order/policy resolves; optional on a shop-scoped connector where the storeId alre...
sizesarray
Optional shopper sizes (e.g. ['M', 'L'] or ['10', '10.5'])
curie_wishlist_addSave a product to the caller's wishlist. Pinterest-style — the wishlist row is auto-created on first add (find-or-create on identity). Identity is resolved from the request: Authorization: Bearer <jwt> for authed users, X-Curie-Device-Id for anon (matches /api/v1/wishlist REST...12 params

Save a product to the caller's wishlist. Pinterest-style — the wishlist row is auto-created on first add (find-or-create on identity). Identity is resolved from the request: Authorization: Bearer <jwt> for authed users, X-Curie-Device-Id for anon (matches /api/v1/wishlist REST...

Parameters* required
currency_codestring
ISO 4217 currency code (e.g. USD, GBP, EUR). Defaults to USD.
image_urlstring
Product hero image URL.
notesstring
Free-form user note about the wishlist item.
price_centsnumber
Price in minor units (cents).
product_idstring
Shopify product id or handle. If omitted and `product_url` is given, parsed from the URL.
product_titlestring
Display title for the wishlist card (refreshed by a background job).
product_urlstring
Canonical product URL (myshopify.com or brand apex). When provided without product_id/shop_domain, the URL is parsed for dedupe.
share_kind*string
Payload discriminator — 'url' (canonical product URL), 'text' (plain-text), 'image' (image URL).one of url · text · image
shop_domainstring
The merchant's shop domain (e.g. 'allbirds.myshopify.com'). If omitted and `product_url` is given, parsed from the URL.
sourcestring
Which surface emitted the save. Defaults to 'mcp_tool' for MCP-driven saves.one of ios_share · web_chat · web_product_view · mcp_tool
source_image_urlstring
Image URL payload (when share_kind = 'image').
source_textstring
Plain-text payload (when share_kind = 'text').
curie_wishlist_getList items on the caller's wishlist, newest-saved first. Wishlist is auto-created on first call (matches the REST GET behaviour so iOS UI always has a stable id). Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header. Optional filters: `shop_domain` (o...3 params

List items on the caller's wishlist, newest-saved first. Wishlist is auto-created on first call (matches the REST GET behaviour so iOS UI always has a stable id). Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header. Optional filters: `shop_domain` (o...

Parameters* required
limitnumber
Cap on the result count. Default 200, max 500.
shop_domainstring
Optional filter — only items from this shop domain.
wishlist_idstring
Optional explicit wishlist id. Omit to read the caller's own wishlist (resolved via identity headers).
curie_wishlist_removeRemove an item from the caller's wishlist by item_id. Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (the same identity that owns the wishlist this item belongs to). Idempotent — removing an already-removed item is a no-op success. Destructive:...1 params

Remove an item from the caller's wishlist by item_id. Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (the same identity that owns the wishlist this item belongs to). Idempotent — removing an already-removed item is a no-op success. Destructive:...

Parameters* required
item_id*string
The wishlist_items.id of the item to remove.
curie_wishlist_move_to_cartMark a wishlist item AS moved-to-cart (sets `moved_to_cart_at = now()`). This tool does NOT directly add the item to a Shopify cart — cart wrapping is the host AI's job via the existing `update_cart` MCP tool. Use this tool to record the move intent on the wishlist row; then c...3 params

Mark a wishlist item AS moved-to-cart (sets `moved_to_cart_at = now()`). This tool does NOT directly add the item to a Shopify cart — cart wrapping is the host AI's job via the existing `update_cart` MCP tool. Use this tool to record the move intent on the wishlist row; then c...

Parameters* required
cart_idstring
Optional target cart id for the follow-up update_cart call. Surfaced in the response; not persisted on the wishlist row.
item_id*string
The wishlist_items.id of the item to mark as moved.
quantitynumber
Optional quantity hint for the follow-up update_cart call. Surfaced in the response; not persisted on the wishlist row.
curie_cart_aggregate_addAdd a line to the caller's aggregated multi-merchant cart with UPSERT-increment semantics — re-adding the same (shop_domain, product_variant_id) increments the existing line's quantity instead of inserting a duplicate row. The cart row is auto-created on first add (find-or-cre...8 params

Add a line to the caller's aggregated multi-merchant cart with UPSERT-increment semantics — re-adding the same (shop_domain, product_variant_id) increments the existing line's quantity instead of inserting a duplicate row. The cart row is auto-created on first add (find-or-cre...

Parameters* required
currency_codestring
ISO 4217 currency code (e.g. USD, GBP, EUR). Defaults to USD.
image_urlstring
Product hero image URL.
price_centsinteger
Price in minor units (cents), integer 0..100000000 ($1,000,000.00 ceiling). Frozen at add-time.
product_idstring
Optional Shopify product id or handle for the line's parent product.
product_titlestring
Display title for the cart line (refreshed by a background job).
product_variant_id*string
Shopify variant GID (gid://shopify/ProductVariant/...) or Curie catalog UUID. Dedupe key with shop_domain.
quantityinteger
Quantity to add (integer 1..1000). Default 1. Re-adds INCREMENT the existing line.
shop_domain*string
The merchant's shop domain (e.g. 'allbirds.myshopify.com'). Pinterest-key for the multi-merchant grouping.
curie_cart_aggregate_getList the caller's aggregated multi-merchant cart, grouped by shop_domain by default. The cart is auto-created on first call so iOS/web UIs always have a stable id for the cart-icon badge (matches REST GET behaviour). Identity resolved from Authorization: Bearer <jwt> or X-Curi...1 params

List the caller's aggregated multi-merchant cart, grouped by shop_domain by default. The cart is auto-created on first call so iOS/web UIs always have a stable id for the cart-icon badge (matches REST GET behaviour). Identity resolved from Authorization: Bearer <jwt> or X-Curi...

Parameters* required
shop_domainstring
Optional filter — only return lines from this shop (returns flat lines instead of shop-grouped envelope).
curie_cart_aggregate_removeRemove a single line from the caller's aggregated cart by line_id. Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (same identity that owns the parent cart). Idempotent — removing an already-removed line is a no-op success. Destructive: the row i...1 params

Remove a single line from the caller's aggregated cart by line_id. Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (same identity that owns the parent cart). Idempotent — removing an already-removed line is a no-op success. Destructive: the row i...

Parameters* required
line_id*string
The aggregated_cart_lines.id of the line to remove.
curie_cart_aggregate_update_quantitySet the quantity on an aggregated cart line. Special case: `quantity: 0` DELETES the line (matches UI affordance 'set to 0' === 'remove'). Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (or the session device-id for anon). Free / device-scoped —...2 params

Set the quantity on an aggregated cart line. Special case: `quantity: 0` DELETES the line (matches UI affordance 'set to 0' === 'remove'). Identity resolved from Authorization: Bearer <jwt> or X-Curie-Device-Id header (or the session device-id for anon). Free / device-scoped —...

Parameters* required
line_id*string
The aggregated_cart_lines.id of the line to update.
quantity*integer
New quantity, integer 0..1000. Setting to 0 deletes the line.

Sponsors

Readme

Details

Repository
github.com/curievision/curie-shopify-app
Website
chat.curie.app
Categories
Design & Creative, Search & Web Crawling, Finance & Commerce
Transport
SSE
Auth
Required
Registry
MCP registry, active
Resources
14
Tools verified
Nov 6, 2026

Related Design & Creative MCP servers

View all
1browsersolver avatarBrowserSolverbrowsersolver/browsersolver-mcpUnlock, render, crawl and screenshot any website — anti-bot bypass and technology detection through…0stars
2chartquery avatarChartQuerychartquery/chartquery-mcpGenerate chart images, diagrams, barcodes, QR codes and thermal labels on demand. PNG, SVG or PDF o…0stars
3designbycurio avatarCurio — design style librarydesignbycurio/curio-mcp-extensionDesign-style library for AI agents: find a style by use or mood, preview it, apply its spec.0stars
4derpbicycle avatarGame Industry Libraryderpbicycle/gil-mcp-bridgeSearch 300+ game industry reports with hybrid search, claims, charts, and citations.0stars
5laddro-app avatarLaddro Careerladdro-app/laddro-career-mcpTailor resumes, generate cover letters, render CVs as PDF, and browse 22+ templates.0stars
6neueworld avatarOmakase Iconsneueworld/omakase-iconsSearch free MIT SVG icons and paste React, Vue, Svelte or SVG code. No auth.0stars