Send real gifts to 190+ countries: search, check delivery, get a secure checkout link.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Is delivery to a country (optionally a city, by a date, for a specific gift) feasible? Returns earliest/latest estimate and warnings (PO box, hotel, holiday window) with a suggested action.
Destination country, ISO-3166 alpha-2.
Destination city (used for warnings only; never store addresses in chat).
Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected.
Optional gift_id to use that gift's delivery window.
YYYY-MM-DD the gift must arrive by.
Is delivery to a country (optionally a city, by a date, for a specific gift) feasible? Returns earliest/latest estimate and warnings (PO box, hotel, holiday window) with a suggested action.
| Argument | Type | Description |
|---|---|---|
| city | string | Destination city (used for warnings only; never store addresses in chat). |
| locale | string | Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. |
| country* | string | Destination country, ISO-3166 alpha-2. |
| gift_id | string | Optional gift_id to use that gift's delivery window. |
| date_needed | string | YYYY-MM-DD the gift must arrive by. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"country"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "Destination city (used for warnings only; never store addresses in chat)."
},
"locale": {
"type": "string",
"maxLength": 12,
"description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected."
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Destination country, ISO-3166 alpha-2."
},
"gift_id": {
"type": "string",
"description": "Optional gift_id to use that gift's delivery window."
},
"date_needed": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD the gift must arrive by."
}
}
}Create a signed, single-purpose checkout link (30-minute expiry) for one gift to one country. The schema has no recipient fields on purpose: name, address, phone, delivery details and payment are collected on the secure page. Returns an order summary with the link. Retries with the same idempotency_key return the same link.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. The checkout page opens in this language. |
| country* | string | Destination country, ISO-3166 alpha-2. |
| gift_id* | string | A gift_id from search results. |
| quantity | number | Always 1 in v1. |
| delivery_date | string | Requested delivery date YYYY-MM-DD; omit for as-soon-as-possible. |
| gift_card_text | string | Card message (≤180 chars) if the user already gave one. |
| idempotency_key* | string | Client-generated key; retries with the same key return the same link. |
Full description, contents, images, customer price, estimated delivery window (EST cutoff-aware), substitution policy and restrictions for one gift in one destination country.
| Argument | Type | Description |
|---|---|---|
| locale | string | Display language for gift content (e.g. he-IL). Prices and availability are unaffected. |
| country* | string | Destination country, ISO-3166 alpha-2. |
| gift_id* | string | A gift_id from search results (or the gift's URL slug). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"gift_id",
"country"
],
"properties": {
"locale": {
"type": "string",
"maxLength": 12,
"description": "Display language for gift content (e.g. he-IL). Prices and availability are unaffected."
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Destination country, ISO-3166 alpha-2."
},
"gift_id": {
"type": "string",
"minLength": 1,
"description": "A gift_id from search results (or the gift's URL slug)."
}
}
}Customer-facing status, ETA window and next action for an order. Looked up by the buyer's private order token, issued after payment; the token is the only credential. Never returns address, phone or payment details.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. |
| order_token* | string | The order token from the buyer's confirmation email (GR-XXXXX-…). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"order_token"
],
"properties": {
"locale": {
"type": "string",
"maxLength": 12,
"description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected."
},
"order_token": {
"type": "string",
"minLength": 1,
"description": "The order token from the buyer's confirmation email (GR-XXXXX-…)."
}
}
}The signed-in user's GiftRoam orders: status, ETA window, gift, destination and the order token for tracking. Requires the authenticated GiftRoam connection (OAuth, scope orders:read); on a guest connection it returns auth_required. Never returns addresses, phone numbers or payment details.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| locale | string | Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"locale": {
"type": "string",
"maxLength": 12,
"description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected."
}
}
}Find gifts that can be delivered to a destination country, optionally filtered by free text, occasion, budget (minor units) and a needed-by date. Returns a shortlist with final customer prices (delivery included) and delivery days. Paginate with cursor.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | Product keywords, 1-4 words (e.g. 'chocolate basket', 'red roses'). Destination, recipient and occasion are separate fields. Omit for a general browse. |
| cursor | string | Opaque cursor from a previous page. |
| locale | string | Display language for results (e.g. he-IL). The query may be typed in that language. |
| country* | string | Destination country, ISO-3166 alpha-2 (e.g. FR). |
| occasion | string | Occasion slug from the occasions resource (e.g. birthday). |
| budget_max | integer | Maximum price in minor units (cents). |
| budget_min | integer | Minimum price in minor units (cents). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"gift_id",
"country",
"idempotency_key"
],
"properties": {
"locale": {
"type": "string",
"maxLength": 12,
"description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. The checkout page opens in this language."
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Destination country, ISO-3166 alpha-2."
},
"gift_id": {
"type": "string",
"minLength": 1,
"description": "A gift_id from search results."
},
"quantity": {
"type": "number",
"const": 1,
"default": 1,
"description": "Always 1 in v1."
},
"delivery_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Requested delivery date YYYY-MM-DD; omit for as-soon-as-possible."
},
"gift_card_text": {
"type": "string",
"maxLength": 180,
"description": "Card message (≤180 chars) if the user already gave one."
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"minLength": 8,
"description": "Client-generated key; retries with the same key return the same link."
}
},
"additionalProperties": false
}| date_needed | string | YYYY-MM-DD; only gifts that can arrive by then. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"country"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Product keywords, 1-4 words (e.g. 'chocolate basket', 'red roses'). Destination, recipient and occasion are separate fields. Omit for a general browse."
},
"cursor": {
"type": "string",
"description": "Opaque cursor from a previous page."
},
"locale": {
"type": "string",
"maxLength": 12,
"description": "Display language for results (e.g. he-IL). The query may be typed in that language."
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Destination country, ISO-3166 alpha-2 (e.g. FR)."
},
"occasion": {
"type": "string",
"maxLength": 48,
"description": "Occasion slug from the occasions resource (e.g. birthday)."
},
"budget_max": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Maximum price in minor units (cents)."
},
"budget_min": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minimum price in minor units (cents)."
},
"date_needed": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD; only gifts that can arrive by then."
}
}
}