e-eSIM Catalog
Ce que fait ce MCP
Searches worldwide travel eSIM plans, returns pricing and coverage details, and provides purchase links.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['product_id'], 'properties': {'bucket': {'type': 'string', 'description': 'Optional language-region bucket the customer shops in, e.g. "en-gb", "de-de". Wins over language; prices and links are quoted in it.'}, 'currency': {'type': 'string', 'description': 'Optional ISO 4217 code. Every price in the result is quoted in it.'}, 'language': {'type': 'string', 'description': 'ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare "en" is quoted in en-us / USD.'}, 'product_id': {'type': 'integer', 'description': 'Product id from search_esim_plans or recommend_plan.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'fup': {'type': 'string', 'description': 'Same as fair_use (1.0.x name).'}, 'sku': {'type': 'string', 'description': 'Catalogue SKU.'}, 'url': {'type': 'string', 'description': 'Product page in pricing_bucket. Use verbatim.'}, 'data': {'type': 'string', 'description': 'Trip Surf: total data label, e.g. "5GB".'}, 'days': {'type': 'integer', 'description': 'Validity in days.'}, 'name': {'type': 'string', 'description': 'Short plan name: destination · data · validity · type.'}, 'type': {'enum': ['Daily Surf', 'Trip Surf', 'All You Can Surf'], 'type': 'string', 'description': 'Plan type. Brand names — keep in English.'}, 'grade': {'type': 'string', 'description': 'All You Can Surf tier (standard, premium, titanium). Present only the returned value; every grade has a daily full-speed allowance then a reduced speed.'}, 'price': {'type': 'number', 'description': 'FULL fixed price of the plan in currency; not per day, not per GB. The price shown is the price paid.'}, 'title': {'type': 'string', 'description': 'Full product title in the requested language.'}, 'topup': {'type': 'object', 'properties': {'how': {'type': 'string', 'description': 'How the customer tops up.'}, 'kind': {'enum': ['data', 'days', 'none'], 'type': 'string', 'description': 'Always "none" on e-eSIM: no top-ups or recharges exist; each plan is a self-contained eSIM.'}}, 'description': 'Top-up possibility for this plan.', 'additionalProperties': True}, 'notice': {'type': 'string', 'description': 'Same as plan_note (1.0.x name).'}, 'rating': {'type': 'number', 'description': 'Average customer rating (1-5). Present only when reviews exist.'}, 'carrier': {'type': 'string', 'description': 'Local network operator when specified (1.0.x name; also in networks). NEVER invent one when absent.'}, 'data_gb': {'type': 'number', 'description': 'Data amount in GB. Meaning given by data_period.'}, 'network': {'type': 'string', 'description': 'Same as network_generation (1.0.x name).'}, 'summary': {'type': 'string', 'description': 'Short description in the requested language, from the product page.'}, 'coverage': {'type': 'string', 'description': 'Same as coverage_label (1.0.x name).'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency of every price in this object.'}, 'fair_use': {'type': 'string', 'description': 'All You Can Surf fair-use policy in plain words (daily full-speed allowance, then the still-unlimited reduced speed). Present it as returned.'}, 'networks': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Operator name(s) for the plan, as the shop states them.'}, 'validity': {'type': 'string', 'description': 'Validity label, e.g. "30 days".'}, 'family_id': {'type': 'string', 'description': 'Plans sharing a family_id are day-length variants of the same package.'}, 'plan_note': {'type': 'string', 'description': 'Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever present.'}, 'voice_sms': {'type': 'string', 'description': 'Always "none": data only, no telephone number, no SMS.'}, 'covers_via': {'type': 'string', 'description': "Present when the plan was returned for a country it covers as part of a multi-country plan: the plan's own region name."}, 'data_reset': {'type': 'string', 'description': 'Same as daily_reset_time (1.0.x name).'}, 'expires_on': {'type': 'string', 'description': 'Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present.'}, 'product_id': {'type': 'integer', 'description': 'Product id. Use it for get_plan_details and start_checkout.'}, 'data_period': {'enum': ['total', 'per_day'], 'type': 'string', 'description': '"total": data_gb is the whole plan (Trip Surf). "per_day": data_gb is the daily full-speed allowance (Daily Surf, All You Can Surf).'}, 'price_basis': {'enum': ['total'], 'type': 'string', 'description': 'Always "total" on e-eSIM.'}, 'last_updated': {'type': 'string', 'description': 'Date the plan was last updated in the catalogue (YYYY-MM-DD).'}, 'review_count': {'type': 'integer', 'description': 'Number of reviews. Present only when > 0.'}, 'coverage_note': {'type': 'string', 'description': 'Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.'}, 'throttle_kbps': {'type': 'integer', 'description': 'The same reduced speed in kbps. 0 = no throttle stated for this plan.'}, 'always_on_rate': {'type': 'string', 'description': 'Reduced speed after the allowance, e.g. "5 Mbps" / "128 kbps" (for the rest of that day on per_day plans; for the rest of the trip on Trip Surf). All You Can Surf stays unlimited in volume at this speed.'}, 'coverage_count': {'type': 'integer', 'description': 'Number of countries in coverage_countries.'}, 'coverage_label': {'type': 'string', 'description': 'Human-readable coverage label as the shop shows it (localized).'}, 'price_is_final': {'type': 'boolean', 'description': 'Always true: no tax or fee is added at checkout.'}, 'pricing_bucket': {'type': 'string', 'description': 'language-region bucket the prices and links are quoted in, e.g. "en-us".'}, 'validity_clock': {'type': 'string', 'description': 'What the days count means for THIS plan: 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. "ends 23:59 (UTC+8)"). State it; a 1-day calendar plan activated in the evening lasts only hours.'}, 'daily_high_speed': {'type': 'string', 'description': 'Daily Surf / All You Can Surf: daily allowance at full speed, e.g. "2GB".'}, 'daily_reset_time': {'type': 'string', 'description': 'When the daily allowance refreshes (per_day plans only), e.g. "00:00 (UTC+8)" or "every 24 h after activation".'}, 'coverage_countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'iso': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, lowercase.'}, 'name': {'type': 'string', 'description': 'Country name in the requested language.'}}, 'additionalProperties': True}, 'description': 'Every country the plan works in.'}, 'network_generation': {'type': 'string', 'description': 'Network generation, e.g. "5G/4G". Never an operator name.'}}, 'description': 'One eSIM plan. Every field is present only when the catalogue holds a value for it; an absent field is unknown, never "no".', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['countries', 'days'], 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Trip length in days.'}, 'usage': {'enum': ['light', 'normal', 'heavy'], 'type': 'string', 'description': 'light ≈ 0.5 GB/day (maps, messaging), normal ≈ 1.5 GB/day (social, some video), heavy ≈ 4 GB/day (video, hotspot). Default normal.'}, 'bucket': {'type': 'string', 'description': 'Optional language-region bucket the customer shops in, e.g. "en-gb", "de-de". Wins over language; prices and links are quoted in it.'}, 'budget': {'type': 'number', 'minimum': 0, 'description': 'Optional maximum total for the trip, in the result currency.'}, 'currency': {'type': 'string', 'description': 'Optional ISO 4217 code. Every price in the result is quoted in it.'}, 'language': {'type': 'string', 'description': 'ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare "en" is quoted in en-us / USD.'}, 'countries': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 5, 'minItems': 1, 'description': 'Countries or regions of the trip, any language.'}, 'gb_per_day': {'type': 'number', 'minimum': 0.1, 'description': 'Overrides usage with an explicit daily need in GB.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'trip': {'type': 'object', 'properties': {'days': {'type': 'integer'}, 'gb_total': {'type': 'number'}, 'countries': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'gb_per_day': {'type': 'number'}}, 'additionalProperties': True}, 'message': {'type': 'string'}, 'currency': {'type': 'string'}, 'all_plans_url': {'type': 'string'}, 'pricing_bucket': {'type': 'string'}, 'recommendations': {'type': 'array', 'items': {'type': 'object', 'properties': {'why': {'type': 'string', 'description': 'One sentence built from catalogue facts only.'}, 'plan': {'type': 'object', 'properties': {'fup': {'type': 'string', 'description': 'Same as fair_use (1.0.x name).'}, 'sku': {'type': 'string', 'description': 'Catalogue SKU.'}, 'url': {'type': 'string', 'description': 'Product page in pricing_bucket. Use verbatim.'}, 'data': {'type': 'string', 'description': 'Trip Surf: total data label, e.g. "5GB".'}, 'days': {'type': 'integer', 'description': 'Validity in days.'}, 'name': {'type': 'string', 'description': 'Short plan name: destination · data · validity · type.'}, 'type': {'enum': ['Daily Surf', 'Trip Surf', 'All You Can Surf'], 'type': 'string', 'description': 'Plan type. Brand names — keep in English.'}, 'grade': {'type': 'string', 'description': 'All You Can Surf tier (standard, premium, titanium). Present only the returned value; every grade has a daily full-speed allowance then a reduced speed.'}, 'price': {'type': 'number', 'description': 'FULL fixed price of the plan in currency; not per day, not per GB. The price shown is the price paid.'}, 'title': {'type': 'string', 'description': 'Full product title in the requested language.'}, 'topup': {'type': 'object', 'properties': {'how': {'type': 'string', 'description': 'How the customer tops up.'}, 'kind': {'enum': ['data', 'days', 'none'], 'type': 'string', 'description': 'Always "none" on e-eSIM: no top-ups or recharges exist; each plan is a self-contained eSIM.'}}, 'description': 'Top-up possibility for this plan.', 'additionalProperties': True}, 'notice': {'type': 'string', 'description': 'Same as plan_note (1.0.x name).'}, 'rating': {'type': 'number', 'description': 'Average customer rating (1-5). Present only when reviews exist.'}, 'carrier': {'type': 'string', 'description': 'Local network operator when specified (1.0.x name; also in networks). NEVER invent one when absent.'}, 'data_gb': {'type': 'number', 'description': 'Data amount in GB. Meaning given by data_period.'}, 'network': {'type': 'string', 'description': 'Same as network_generation (1.0.x name).'}, 'summary': {'type': 'string', 'description': 'Short description in the requested language, from the product page.'}, 'coverage': {'type': 'string', 'description': 'Same as coverage_label (1.0.x name).'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency of every price in this object.'}, 'fair_use': {'type': 'string', 'description': 'All You Can Surf fair-use policy in plain words (daily full-speed allowance, then the still-unlimited reduced speed). Present it as returned.'}, 'networks': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Operator name(s) for the plan, as the shop states them.'}, 'validity': {'type': 'string', 'description': 'Validity label, e.g. "30 days".'}, 'family_id': {'type': 'string', 'description': 'Plans sharing a family_id are day-length variants of the same package.'}, 'plan_note': {'type': 'string', 'description': 'Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever present.'}, 'voice_sms': {'type': 'string', 'description': 'Always "none": data only, no telephone number, no SMS.'}, 'covers_via': {'type': 'string', 'description': "Present when the plan was returned for a country it covers as part of a multi-country plan: the plan's own region name."}, 'data_reset': {'type': 'string', 'description': 'Same as daily_reset_time (1.0.x name).'}, 'expires_on': {'type': 'string', 'description': 'Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present.'}, 'product_id': {'type': 'integer', 'description': 'Product id. Use it for get_plan_details and start_checkout.'}, 'data_period': {'enum': ['total', 'per_day'], 'type': 'string', 'description': '"total": data_gb is the whole plan (Trip Surf). "per_day": data_gb is the daily full-speed allowance (Daily Surf, All You Can Surf).'}, 'price_basis': {'enum': ['total'], 'type': 'string', 'description': 'Always "total" on e-eSIM.'}, 'last_updated': {'type': 'string', 'description': 'Date the plan was last updated in the catalogue (YYYY-MM-DD).'}, 'review_count': {'type': 'integer', 'description': 'Number of reviews. Present only when > 0.'}, 'coverage_note': {'type': 'string', 'description': 'Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.'}, 'throttle_kbps': {'type': 'integer', 'description': 'The same reduced speed in kbps. 0 = no throttle stated for this plan.'}, 'always_on_rate': {'type': 'string', 'description': 'Reduced speed after the allowance, e.g. "5 Mbps" / "128 kbps" (for the rest of that day on per_day plans; for the rest of the trip on Trip Surf). All You Can Surf stays unlimited in volume at this speed.'}, 'coverage_count': {'type': 'integer', 'description': 'Number of countries in coverage_countries.'}, 'coverage_label': {'type': 'string', 'description': 'Human-readable coverage label as the shop shows it (localized).'}, 'price_is_final': {'type': 'boolean', 'description': 'Always true: no tax or fee is added at checkout.'}, 'pricing_bucket': {'type': 'string', 'description': 'language-region bucket the prices and links are quoted in, e.g. "en-us".'}, 'validity_clock': {'type': 'string', 'description': 'What the days count means for THIS plan: 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. "ends 23:59 (UTC+8)"). State it; a 1-day calendar plan activated in the evening lasts only hours.'}, 'daily_high_speed': {'type': 'string', 'description': 'Daily Surf / All You Can Surf: daily allowance at full speed, e.g. "2GB".'}, 'daily_reset_time': {'type': 'string', 'description': 'When the daily allowance refreshes (per_day plans only), e.g. "00:00 (UTC+8)" or "every 24 h after activation".'}, 'coverage_countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'iso': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, lowercase.'}, 'name': {'type': 'string', 'description': 'Country name in the requested language.'}}, 'additionalProperties': True}, 'description': 'Every country the plan works in.'}, 'network_generation': {'type': 'string', 'description': 'Network generation, e.g. "5G/4G". Never an operator name.'}}, 'description': 'One eSIM plan. Every field is present only when the catalogue holds a value for it; an absent field is unknown, never "no".', 'additionalProperties': True}, 'rank': {'type': 'integer'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'plans_needed': {'type': 'integer', 'description': '1, or the number of consecutive plans needed to cover the trip length.'}, 'total_for_trip': {'type': 'number', 'description': 'Checkout total for the trip in currency (Flex: days x per-day price with the discount ladder; packs: the plan price, times the number of plans needed when one does not cover the trip).'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'sort': {'enum': ['value', 'price', 'data'], 'type': 'string', 'description': 'value = best price per GB delivered / cheapest All You Can Surf per day first (default); price = cheapest first; data = most data first.'}, 'type': {'enum': ['daily_surf', 'trip_surf', 'all_you_can_surf', 'any'], 'type': 'string', 'description': 'Plan type. Default any.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Plans to return. Default 10; all_plans_url lists everything.'}, 'bucket': {'type': 'string', 'description': 'Optional language-region bucket the customer shops in, e.g. "en-gb", "de-de". Wins over language; prices and links are quoted in it.'}, 'currency': {'type': 'string', 'description': 'Optional ISO 4217 code. Every price in the result is quoted in it.'}, 'language': {'type': 'string', 'description': 'ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare "en" is quoted in en-us / USD.'}, 'min_days': {'type': 'integer', 'minimum': 1, 'description': 'Only plans valid for at least this many days.'}, 'destination': {'type': 'string', 'description': 'Country or region in any language, e.g. "Thailand", "Japon", "Europa", or a 2-letter ISO code. For a city, pass its country.'}, 'destinations': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 5, 'description': 'Several countries for one trip; only plans covering ALL of them are returned. Overrides destination.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'iso': {'type': 'string', 'description': 'Resolved ISO code or region slug of the (first) destination.'}, 'note': {'type': 'string', 'description': 'Present when part of the request could not be honoured (e.g. more than 5 destinations).'}, 'plans': {'type': 'array', 'items': {'type': 'object', 'properties': {'fup': {'type': 'string', 'description': 'Same as fair_use (1.0.x name).'}, 'sku': {'type': 'string', 'description': 'Catalogue SKU.'}, 'url': {'type': 'string', 'description': 'Product page in pricing_bucket. Use verbatim.'}, 'data': {'type': 'string', 'description': 'Trip Surf: total data label, e.g. "5GB".'}, 'days': {'type': 'integer', 'description': 'Validity in days.'}, 'name': {'type': 'string', 'description': 'Short plan name: destination · data · validity · type.'}, 'type': {'enum': ['Daily Surf', 'Trip Surf', 'All You Can Surf'], 'type': 'string', 'description': 'Plan type. Brand names — keep in English.'}, 'grade': {'type': 'string', 'description': 'All You Can Surf tier (standard, premium, titanium). Present only the returned value; every grade has a daily full-speed allowance then a reduced speed.'}, 'price': {'type': 'number', 'description': 'FULL fixed price of the plan in currency; not per day, not per GB. The price shown is the price paid.'}, 'title': {'type': 'string', 'description': 'Full product title in the requested language.'}, 'topup': {'type': 'object', 'properties': {'how': {'type': 'string', 'description': 'How the customer tops up.'}, 'kind': {'enum': ['data', 'days', 'none'], 'type': 'string', 'description': 'Always "none" on e-eSIM: no top-ups or recharges exist; each plan is a self-contained eSIM.'}}, 'description': 'Top-up possibility for this plan.', 'additionalProperties': True}, 'notice': {'type': 'string', 'description': 'Same as plan_note (1.0.x name).'}, 'rating': {'type': 'number', 'description': 'Average customer rating (1-5). Present only when reviews exist.'}, 'carrier': {'type': 'string', 'description': 'Local network operator when specified (1.0.x name; also in networks). NEVER invent one when absent.'}, 'data_gb': {'type': 'number', 'description': 'Data amount in GB. Meaning given by data_period.'}, 'network': {'type': 'string', 'description': 'Same as network_generation (1.0.x name).'}, 'summary': {'type': 'string', 'description': 'Short description in the requested language, from the product page.'}, 'coverage': {'type': 'string', 'description': 'Same as coverage_label (1.0.x name).'}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency of every price in this object.'}, 'fair_use': {'type': 'string', 'description': 'All You Can Surf fair-use policy in plain words (daily full-speed allowance, then the still-unlimited reduced speed). Present it as returned.'}, 'networks': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Operator name(s) for the plan, as the shop states them.'}, 'validity': {'type': 'string', 'description': 'Validity label, e.g. "30 days".'}, 'family_id': {'type': 'string', 'description': 'Plans sharing a family_id are day-length variants of the same package.'}, 'plan_note': {'type': 'string', 'description': 'Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever present.'}, 'voice_sms': {'type': 'string', 'description': 'Always "none": data only, no telephone number, no SMS.'}, 'covers_via': {'type': 'string', 'description': "Present when the plan was returned for a country it covers as part of a multi-country plan: the plan's own region name."}, 'data_reset': {'type': 'string', 'description': 'Same as daily_reset_time (1.0.x name).'}, 'expires_on': {'type': 'string', 'description': 'Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present.'}, 'product_id': {'type': 'integer', 'description': 'Product id. Use it for get_plan_details and start_checkout.'}, 'data_period': {'enum': ['total', 'per_day'], 'type': 'string', 'description': '"total": data_gb is the whole plan (Trip Surf). "per_day": data_gb is the daily full-speed allowance (Daily Surf, All You Can Surf).'}, 'price_basis': {'enum': ['total'], 'type': 'string', 'description': 'Always "total" on e-eSIM.'}, 'last_updated': {'type': 'string', 'description': 'Date the plan was last updated in the catalogue (YYYY-MM-DD).'}, 'review_count': {'type': 'integer', 'description': 'Number of reviews. Present only when > 0.'}, 'coverage_note': {'type': 'string', 'description': 'Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.'}, 'throttle_kbps': {'type': 'integer', 'description': 'The same reduced speed in kbps. 0 = no throttle stated for this plan.'}, 'always_on_rate': {'type': 'string', 'description': 'Reduced speed after the allowance, e.g. "5 Mbps" / "128 kbps" (for the rest of that day on per_day plans; for the rest of the trip on Trip Surf). All You Can Surf stays unlimited in volume at this speed.'}, 'coverage_count': {'type': 'integer', 'description': 'Number of countries in coverage_countries.'}, 'coverage_label': {'type': 'string', 'description': 'Human-readable coverage label as the shop shows it (localized).'}, 'price_is_final': {'type': 'boolean', 'description': 'Always true: no tax or fee is added at checkout.'}, 'pricing_bucket': {'type': 'string', 'description': 'language-region bucket the prices and links are quoted in, e.g. "en-us".'}, 'validity_clock': {'type': 'string', 'description': 'What the days count means for THIS plan: 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. "ends 23:59 (UTC+8)"). State it; a 1-day calendar plan activated in the evening lasts only hours.'}, 'daily_high_speed': {'type': 'string', 'description': 'Daily Surf / All You Can Surf: daily allowance at full speed, e.g. "2GB".'}, 'daily_reset_time': {'type': 'string', 'description': 'When the daily allowance refreshes (per_day plans only), e.g. "00:00 (UTC+8)" or "every 24 h after activation".'}, 'coverage_countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'iso': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, lowercase.'}, 'name': {'type': 'string', 'description': 'Country name in the requested language.'}}, 'additionalProperties': True}, 'description': 'Every country the plan works in.'}, 'network_generation': {'type': 'string', 'description': 'Network generation, e.g. "5G/4G". Never an operator name.'}}, 'description': 'One eSIM plan. Every field is present only when the catalogue holds a value for it; an absent field is unknown, never "no".', 'additionalProperties': True}}, 'covered': {'type': 'boolean'}, 'message': {'type': 'string', 'description': 'Present when nothing matched: says why and what to try.'}, 'currency': {'type': 'string'}, 'returned': {'type': 'integer'}, 'from_price': {'type': 'string', 'description': 'Lowest price in this result set, shop-formatted (per-day plans count with their day price).'}, 'destination': {'type': 'string'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'iso': {'type': 'string'}, 'name': {'type': 'string'}, 'query': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'How each requested destination was understood.'}, 'all_plans_url': {'type': 'string'}, 'pricing_bucket': {'type': 'string'}, 'total_available': {'type': 'integer', 'description': 'Plans matched before limit; the rest are on all_plans_url.'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['product_id'], 'properties': {'bucket': {'type': 'string', 'description': 'Optional language-region bucket the customer shops in, e.g. "en-gb", "de-de". Wins over language; prices and links are quoted in it.'}, 'currency': {'type': 'string', 'description': 'Optional ISO 4217 code. Every price in the result is quoted in it.'}, 'language': {'type': 'string', 'description': 'ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare "en" is quoted in en-us / USD.'}, 'product_id': {'type': 'integer', 'description': 'Product id to buy.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'price': {'type': 'number', 'description': 'FULL fixed price of the plan.'}, 'buy_url': {'type': 'string', 'description': 'The exact product page to send the customer to. Use verbatim.'}, 'message': {'type': 'string'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}, 'app_links': {'type': 'object', 'description': 'Optional store links of the free e-eSIM app (android, ios) - the eSIM works without it.', 'additionalProperties': True}, 'product_id': {'type': 'integer'}, 'price_basis': {'enum': ['total'], 'type': 'string'}, 'presentation': {'type': 'string'}, 'price_is_final': {'type': 'boolean'}, 'pricing_bucket': {'type': 'string'}}, 'additionalProperties': True}
Modifications récentes des outils
Serveurs MCP similaires
Itaim Bibi
Provides an Itaim Bibi neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, t…
Tatuapé
Provides a Tatuapé neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Agenda SP
Provides São Paulo cultural agenda and local directory features, including events, venues, restaurants, offers, bookings, reserva…
Vila Buarque
Provides a neighborhood directory for local places, restaurants, menus, events, offers, services, reservations, bookings, and pur…
Centro
Provides a Centro neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticket…
Bela Vista
Provides a Bela Vista neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ti…
Jardins
Provides a Jardins neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Aclimação
Provides a neighborhood directory for Aclimação with local places, restaurant menus, events, offers, services, bookings, reservat…