# Gelato

```json
{
  "name": "Gelato",
  "slug": "gelato",
  "url": "https://composio.dev/toolkits/gelato",
  "markdown_url": "https://composio.dev/toolkits/gelato.md",
  "logo_url": "https://logos.composio.dev/api/gelato",
  "categories": [
    "e-commerce"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-21T05:28:26.420Z"
}
```

![Gelato logo](https://logos.composio.dev/api/gelato)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Gelato MCP or direct API to create print-on-demand orders, browse printable products and prices, check stock, and find shipment methods through natural language.

## Summary

Gelato is a print-on-demand platform for creating products, managing orders, checking stock, and finding shipping options.
It helps businesses sell globally with local production, pricing, and fulfillment.

## Categories

- e-commerce

## Toolkit Details

- Tools: 13

## Images

- Logo: https://logos.composio.dev/api/gelato

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Gelato.
  - Setup:
    - Configure Api Key credentials for Gelato.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List printable mugs with US pricing
- Check stock for black t-shirts
- Find shipping methods for Berlin orders

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GELATO_CANCEL_ORDER` | Cancel Order | Cancel a regular Gelato order before production advances too far. DESTRUCTIVE: cancellation is an irreversible lifecycle change and may fail with conflict once the order is printed or shipped. Confirm the target order and do not retry blindly. |
| `GELATO_CHECK_STOCK_AVAILABILITY` | Check Stock Availability | Check current regional stock status for 1 to 250 Gelato product UIDs. Availability is volatile; call near quote or order time and do not treat an earlier result as a reservation. |
| `GELATO_CREATE_DRAFT_ORDER` | Create Draft Order | Create a Gelato draft for review or later submission without entering production. Use a unique order_reference_id; delete the draft when it is no longer needed. |
| `GELATO_CREATE_ORDER` | Create Order | Create a production order that can immediately enter fulfillment and charge the connected account. IRREVERSIBLE: call only after explicit purchase authorization, use a unique order_reference_id, and never retry an ambiguous result. |
| `GELATO_DELETE_DRAFT_ORDER` | Delete Draft Order | Permanently delete a Gelato draft. DESTRUCTIVE: only use for a confirmed draft, preferably one created by the same workflow; this cannot delete a regular production order and success was not live-exercised. |
| `GELATO_GET_CATALOGS` | Get Catalogs | List available Gelato product catalogs, or provide catalog_uid to retrieve one catalog's full product-attribute definitions and allowed values. Use detail mode before constructing attribute filters. |
| `GELATO_GET_ORDER` | Get Order | Retrieve the full current state, financial status, fulfillment status, shipment tracking, items, and totals of one Gelato order by its Gelato order ID. |
| `GELATO_GET_PRODUCT` | Get Product | Retrieve one Gelato product's attributes, dimensions, weight, supported countries, printability, stockability, content areas, and valid page counts by product UID. |
| `GELATO_GET_PRODUCT_PRICES` | Get Product Prices | Return Gelato's quantity price tiers for one product, optionally localized by destination country, currency, and multipage page count. These catalog prices do not replace Quote Order for actual shipment options and final order cost. |
| `GELATO_QUOTE_ORDER` | Quote Order | Quote product and shipping costs and delivery estimates for a destination before creating an order. This does not place or charge an order, but submitted print-file URLs are sent to Gelato for quote validation. |
| `GELATO_SEARCH_ORDERS` | Search Orders | Search Gelato orders with status, reference, date, country, currency, channel, type, store, or free-text filters and return one offset-controlled page. |
| `GELATO_SEARCH_PRODUCTS` | Search Products | Search printable products in a Gelato catalog by catalog attribute values and return one offset-controlled page. Facet hit maps are omitted by default because they are extremely large; request them only when needed for filter discovery. |
| `GELATO_SUBMIT_DRAFT_ORDER` | Submit Draft Order | Convert an existing draft into a regular production order. CRITICAL: this is an irreversible, potentially payable transition that can start production. If items are supplied, every omitted existing item is removed; include ID-only entries for items that must remain unchanged. Never retry blindly. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Gelato Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Gelato actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List Gelato printable t-shirt products with prices for the US market'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List Gelato printable t-shirt products with prices for the US market'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Gelato
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Gelato tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Find available Gelato shipping methods for an order going to Berlin, Germany')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Find available Gelato shipping methods for an order going to Berlin, Germany'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Gelato Integration

- Supports both Gelato MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable Gelato tool execution
- Rich coverage for print orders, product catalogs, prices, stock, and shipping workflows

### 2. Managed Auth

- Secure API key handling without hard-coding Gelato credentials in your agent code
- Central place to manage, scope, and revoke Gelato access
- Per user and per environment credentials for safer production deployments

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Clear Gelato actions help agents understand product, order, stock, and shipment tasks
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Gelato
- Scoped, least privilege access to Gelato resources
- Full audit trail of agent actions to support review and compliance

## Use Gelato with any AI Agent Framework

Choose a framework you want to connect Gelato with:

None listed.

## Related Toolkits

- [Addresszen](https://composio.dev/toolkits/addresszen) - Addresszen is a real-time address autocomplete and verification service. It helps capture accurate, deliverable addresses with instant suggestions and validation.
- [Asin data api](https://composio.dev/toolkits/asin_data_api) - Asin data api gives you detailed, real-time product data from Amazon, including price, rank, and reviews. Perfect for e-commerce pros and data-driven marketers who need instant marketplace insights.
- [Baselinker](https://composio.dev/toolkits/baselinker) - BaseLinker is an all-in-one e-commerce management platform connecting stores, marketplaces, carriers, and more. It streamlines order processing, inventory control, and automates your sales operations.
- [Bestbuy](https://composio.dev/toolkits/bestbuy) - Best Buy is a leading retailer offering APIs for product, store, and recommendation data. Instantly access up-to-date retail insights for smarter shopping and decision-making.
- [Bluebarry](https://composio.dev/toolkits/bluebarry) - Bluebarry is a customer data and product-advice platform for shopper identities, profiles, and recommendations. It helps teams analyze customer context and synchronize shopper data for better commerce experiences.
- [Btcpay server](https://composio.dev/toolkits/btcpay_server) - BTCPay Server is a free, open-source, self-hosted Bitcoin payment processor. It lets merchants accept Bitcoin payments directly, cutting out middlemen and boosting privacy.
- [Cdr platform](https://composio.dev/toolkits/cdr_platform) - Cdr platform is an API for purchasing carbon dioxide removal services. It enables businesses to offset emissions by accessing verified carbon removal projects.
- [Cloudcart](https://composio.dev/toolkits/cloudcart) - CloudCart is an e-commerce platform for building and managing online stores. It helps businesses streamline product listings, orders, and customer engagement.
- [Countdown api](https://composio.dev/toolkits/countdown_api) - Countdown API gives you real-time, structured eBay product data, reviews, and seller feedback. Perfect for powering price monitoring, product research, or marketplace analytics workflows.
- [Dpd2](https://composio.dev/toolkits/dpd2) - Dpd2 is a robust email management platform for handling, sorting, and automating email workflows. Streamline your communications and boost productivity with advanced sorting, labeling, and response tools.
- [Finerworks](https://composio.dev/toolkits/finerworks) - FinerWorks is an online platform for fine art and photo printing services. Artists and photographers use it to order custom prints and manage print inventory efficiently.
- [Fingertip](https://composio.dev/toolkits/fingertip) - Fingertip is a business management platform for selling, booking, and customer engagement—all from a single link. It helps businesses streamline operations and connect with customers across social channels.
- [Fraudlabs pro](https://composio.dev/toolkits/fraudlabs_pro) - FraudLabs Pro is an online payment fraud detection service for e-commerce and merchants. It helps minimize chargebacks and revenue loss by detecting and preventing fraudulent transactions.
- [Gift up](https://composio.dev/toolkits/gift_up) - Gift Up! is a digital platform for selling, managing, and redeeming gift cards online. It streamlines promotions and gift card transactions for businesses and their customers.
- [Goody](https://composio.dev/toolkits/goody) - Goody is a gifting platform that lets users send gifts and physical products without handling logistics. It streamlines gifting by managing delivery, fulfillment, and recipient experience.
- [Gumroad](https://composio.dev/toolkits/gumroad) - Gumroad is a platform for selling digital products, physical goods, and memberships with a simple checkout and marketing tools. It streamlines creator payouts and helps you grow your audience effortlessly.
- [Instacart](https://composio.dev/toolkits/instacart) - Instacart is an online grocery delivery and pickup service platform. It lets you discover local retailers and create shoppable lists and recipes with ease.
- [Junglescout](https://composio.dev/toolkits/junglescout) - Junglescout is an Amazon product research and analytics platform for sellers. It delivers sales estimates, competitive insights, and optimization tools to boost your Amazon business.
- [Ko fi](https://composio.dev/toolkits/ko_fi) - Ko-fi is a platform that lets creators receive donations, memberships, and sales from fans. It helps creators monetize their work and grow their audience with minimal friction.
- [Lemon squeezy](https://composio.dev/toolkits/lemon_squeezy) - Lemon Squeezy is a payments and subscription platform built for software companies. It makes managing payments, taxes, and customer subscriptions effortless.

## Frequently Asked Questions

### Do I need my own developer credentials to use Gelato with Composio?

Yes, Gelato requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
