Travel eSIM catalog: search plans, check availability, and get exact quotes with checkout links.
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.
Check whether a plan can be fulfilled right now for a given quantity, using the same gate the checkout runs. Returns available true/false; reason 'delisted' means the SKU left the catalog, 'unavailable' means it temporarily cannot be fulfilled.
The plan's package_code from search_plans.
Units to buy (default 1, max 10).
Check whether a plan can be fulfilled right now for a given quantity, using the same gate the checkout runs. Returns available true/false; reason 'delisted' means the SKU left the catalog, 'unavailable' means it temporarily cannot be fulfilled.
| Argument | Type | Description |
|---|---|---|
| quantity | integer | Units to buy (default 1, max 10). |
| package_code* | string | The plan's package_code from search_plans. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"package_code"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Units to buy (default 1, max 10)."
},
"package_code": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The plan's package_code from search_plans."
}
},
"additionalProperties": false
}Fetch full public details for a single purchasable plan by its package_code: coverage, data allowance, validity, retail price in USD cents. Errors with plan_not_found for unknown or unsellable codes.
| Argument | Type | Description |
|---|---|---|
| package_code* | string | The plan's package_code from search_plans. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"package_code"
],
"properties": {
"package_code": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The plan's package_code from search_plans."
}
},
"additionalProperties": false
}Price an order (package_code, quantity, optional promo code) exactly as checkout would: returns subtotal, discount, and the final total in USD cents, plus the promo status. Purely informational — no order is created.
| Argument | Type | Description |
|---|---|---|
| quantity | integer | Units to buy (default 1, max 10). |
| promo_code | string | Optional promo code to apply. |
| package_code* | string | The plan's package_code from search_plans. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"package_code"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Units to buy (default 1, max 10)."
},
"promo_code": {
"type": "string",
"maxLength": 64,
"description": "Optional promo code to apply."
},
"package_code": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The plan's package_code from search_plans."
}
},
"additionalProperties": false
}Search the purchasable travel eSIM plan catalog. Filter by destination country, region, minimum data, minimum duration, and maximum price. Returns public plan details (prices in USD cents) sorted cheapest first, with offset pagination via next_offset.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-50 (default 20). |
| offset | integer | Pagination offset from a previous next_offset. |
| region | string | Region name filter, e.g. 'Europe' or 'Asia'. |
| destination | string | Country to cover: ISO-2 code (e.g. 'JP') or English name (e.g. 'Japan'). |
| min_data_bytes | integer | Minimum total data allowance in bytes (unlimited plans always match). |
| max_price_cents | integer | Maximum retail price in USD cents. |
| min_duration_days | integer | Minimum validity in days. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 1-50 (default 20)."
},
"offset": {
"type": "integer",
"maximum": 5000,
"minimum": 0,
"description": "Pagination offset from a previous next_offset."
},
"region": {
"type": "string",
"maxLength": 64,
"description": "Region name filter, e.g. 'Europe' or 'Asia'."
},
"destination": {
"type": "string",
"maxLength": 64,
"description": "Country to cover: ISO-2 code (e.g. 'JP') or English name (e.g. 'Japan')."
},
"min_data_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minimum total data allowance in bytes (unlimited plans always match)."
},
"max_price_cents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum retail price in USD cents."
},
"min_duration_days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Minimum validity in days."
}
},
"additionalProperties": false
}