All integrations

Gelato

Connect Claude, ChatGPT or Cursor to Gelato via MCP. Search print catalogs, quote shipping, and place or cancel orders with your API key. Pass a store id per call to cover multiple stores.

Manual setup 18 tools

Example questions

Try asking your AI client

  • Which Gelato catalogs can I print from?

  • Quote a poster to Copenhagen before I place anything.

  • Did the draft order for Jack ever get tracking?

  • Write a product title for the new poster template - do not publish it.

  • Show stock for the card product I am about to order.

Overview

Connect Gelato print-on-demand so AI clients can search catalogs, check prices and stock, quote shipping, and place or cancel print orders with your Gelato API key.

One API key covers every store on the account. Pass store_id on each store tool call. There is no saved store id.

New connections start with Read tools. Turn on Write under Edit tool access before placing or canceling orders. create_order defaults to a draft. confirm_draft_order is the step that sends a draft into production. A Gelato account with a payment method will print and ship a live order. Use an account with no payment method when you want to try the API without printing.

Prerequisites

  • A Gelato account
  • An API key from the Gelato dashboard
  • A stackgate.ai account
  • Store and template ids copied from the dashboard when you use store tools (Gelato does not offer list-stores or list-templates)

Getting credentials

  1. Sign in to the Gelato dashboard.
  2. Open Developer, API Keys and create a key.
  3. Copy the key immediately. It is shown only once.
  4. In stackgate.ai, open My Integrations → Gelato.
  5. Paste the API key and save. stackgate.ai verifies the key with GET /v3/catalogs and stores it encrypted.
  6. Leave Write off until you are ready to place or cancel orders. Enable it under Edit tool access.

See How do I add, remove, deactivate, or replace an API key?. Gelato uses the same API hosts for test and live accounts. An account without a payment method is the safe way to trial orders.

Credentials reference

Field Required Where to find it Notes
API key Yes Developer, API Keys Stored encrypted. Sent as X-API-KEY.

Store id and template id are tool arguments, not saved credentials.

Permission model

Scope What it allows Access level
Read Catalogs, prices, stock, shipment methods, quotes, orders, store products, and templates Read
Write Create draft or live orders, confirm drafts, cancel orders, and publish store products from templates Write

Gelato does not use OAuth for this connect flow. The key is yours. stackgate.ai does not add a hub quota on top of Gelato's limit of about 100 requests per second per key.

Using with AI clients

  • Dedicated endpoint: POST /mcp/gelato with a Sanctum bearer token
  • Private gateway: one config for all integrations - use gelato__* namespaced tools

Example prompts:

  • "List my Gelato catalogs and search posters."
  • "Quote a 50x70 poster to Copenhagen. Do not place the order."
  • "Search my Gelato orders from this week and summarize fulfillment status."
  • "Create a Gelato draft order for this poster. Do not confirm it."
  • "List products in store abc and in store def."
  • "Get Gelato template tmpl-42, then draft a title for a new store product. Do not publish it."

Tools

Read:

  • list_catalogs, get_catalog, search_products, get_product
  • get_product_prices, get_cover_dimensions, get_stock_availability
  • list_shipment_methods, quote_order
  • search_orders, get_order
  • list_store_products, get_store_product, get_template

Write:

  • create_order (defaults to draft)
  • confirm_draft_order
  • cancel_order
  • create_store_product

Troubleshooting

Problem Likely cause Fix
422 integration not configured Form not saved Save the API key in My Integrations
401 Unauthorized Wrong or rotated key Create a new key under Developer, API Keys and reconnect
403 Forbidden Key is inactive Confirm the key is active in the Gelato dashboard
404 Not found Wrong catalog, product, order, store, or template id Copy the id from the dashboard or from a previous tool result
429 Too many requests More than about 100 requests per second on this key Wait and retry
Write tool missing Connection is still Read-only Enable Write under Edit tool access
Order was printed order_type was order, or a draft was confirmed, on an account that can be charged Prefer draft, and use an account with no payment method for trials

Security and revocation

  • Disconnect Gelato in My Integrations to delete the stored API key from stackgate.ai.
  • Deactivate the key in the Gelato dashboard if you suspect leakage.
  • Order and quote results can include recipient name, email, phone, and shipping address. Prefer order ids and fulfillment status in summaries.
  • stackgate.ai encrypts the API key and does not keep order or address payloads in the hub.

Limitations

  • No Gelato Network, webhooks, wallet, or print-file upload. Print files are HTTPS URLs on the order.
  • No list-stores or list-templates. Copy those ids from the dashboard and pass store_id per call.
  • Order edits are limited to confirming a draft and canceling before production.
  • Live orders on an account with a payment method are fulfilled by Gelato.

Available tools

  • list_catalogs

    List Gelato product catalogs (posters, cards, apparel, and the rest).

  • get_catalog

    Get one Gelato catalog, including the attributes you can filter on in search_products.

  • search_products

    Search products in a Gelato catalog. attribute_filters is an object of attribute uid to a list of value uids from get_catalog.

  • get_product

    Get one Gelato product by product uid, including attributes, dimensions, and supported countries.

  • get_product_prices

    Get quantity prices for a Gelato product. page_count is required by Gelato for multi-page products.

  • get_cover_dimensions

    Get cover dimensions for a multi-page Gelato product such as a photo book or brochure.

  • get_stock_availability

    Check regional stock for up to 250 Gelato product uids. Statuses include in-stock, out-of-stock, out-of-stock-replenishable, non-stockable, and not-supported.

  • list_shipment_methods

    List Gelato shipment methods, optionally filtered by destination country. Use quote_order for a price on a specific basket.

  • quote_order

    Quote product and shipment prices for a recipient. Does not place an order. Nested recipient and products objects use Gelato camelCase field names.

  • search_orders

    Search Gelato orders. Prefer ids and fulfillment status in summaries. Shipping addresses in the response are recipient PII.

  • get_order

    Get one Gelato order by its Gelato order id, including items and shipment. Recipient address fields are PII.

  • create_order

    Create a Gelato order. Defaults to draft so it is not produced. Pass order_type order only when the user confirmed a live print-and-ship order. A Gelato account with a payment method will fulfill live orders.

  • confirm_draft_order

    Turn a Gelato draft into a live order. Only drafts can be patched. This sends the order to production when the Gelato account can be charged.

  • cancel_order

    Cancel a Gelato order before it enters production.

  • list_store_products

    List products in one connected Gelato store. Pass store_id for the store you want. One API key can call this for many stores.

  • get_store_product

    Get one product from a connected Gelato store. store_id selects which store.

  • get_template

    Get a Gelato product template by id, including variants and image placeholders. Copy the template id from the Gelato dashboard.

  • create_store_product

    Create a product in one Gelato store from a template. store_id selects the store. variants, when sent, use Gelato names such as templateVariantId and imagePlaceholders.

MCP endpoint: https://stackgate.ai/mcp/gelato (HTTP) or via the private gateway.