Compare travel eSIM plans and each local network (4G/5G), check phone support, get payment links.
Maintained bysimvito.com(verified)Also a maintainer?
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 phone supports eSIM, e.g. 'does my iPhone 13 support eSIM?'. Covers iPhone, Google Pixel and Samsung Galaxy from the manufacturers' official lists, including the exceptions for phones bought in mainland China, Hong Kong or Macao. Gives a verdict (supports_esim / no_esim); pass purchase_region when the user says where the phone was bought.
Phone model, e.g. 'iPhone 13', 'Pixel 8', 'Galaxy S23'
Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'.
ISO code of the country/region where the phone was bought, e.g. 'CN', 'HK', 'US'
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http esim 'https://mcp.simvito.com/mcp?src=registry'
Check whether a phone supports eSIM, e.g. 'does my iPhone 13 support eSIM?'. Covers iPhone, Google Pixel and Samsung Galaxy from the manufacturers' official lists, including the exceptions for phones bought in mainland China, Hong Kong or Macao. Gives a verdict (supports_esim / no_esim); pass purchase_region when the user says where the phone was bought.
| Argument | Type | Description |
|---|---|---|
| model* | string | Phone model, e.g. 'iPhone 13', 'Pixel 8', 'Galaxy S23' |
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| purchase_region | string | ISO code of the country/region where the phone was bought, e.g. 'CN', 'HK', 'US' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"model"
],
"properties": {
"model": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Phone model, e.g. 'iPhone 13', 'Pixel 8', 'Galaxy S23'"
},
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"purchase_region": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO code of the country/region where the phone was bought, e.g. 'CN', 'HK', 'US'"
}
}
}Compare the local mobile networks for a destination side by side, for questions like 'which network is best in Thailand' or 'which eSIM has 5G in Tokyo': each operator the plans use, its best generation (4G/5G), how many plans use it and the cheapest one. For a multi-country plan, pass country to see that country's operators.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| country | string | Only for multi-country destinations: one covered country (name or ISO code) |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| destination* | string | Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination"
],
"properties": {
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"country": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Only for multi-country destinations: one covered country (name or ISO code)"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"destination": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language."
}
}
}Find where a trip goes: a country, a region such as 'Europe' or 'Asia', or a multi-country plan, by name in any language, ISO code or misspelling (many cities and islands such as 'Tokyo' or 'Bali' work too). Returns destination slugs for the other tools; no prices.
| Argument | Type | Description |
|---|---|---|
| query* | string | Country, territory or region name, e.g. 'Japan', '日本', 'JP', 'Europe' |
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Country, territory or region name, e.g. 'Japan', '日本', 'JP', 'Europe'"
},
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
}
}
}Get the simvito.com checkout link for a plan from search_plans or plan_trip, with the price in the user's currency (total for the quantity) and the payment methods for that currency. The user signs in and pays on simvito.com; nothing is charged here.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| plan_id* | string | plan_id returned by search_plans or plan_trip |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| quantity | integer | Number of eSIMs (one per traveller). Defaults to 1. |
| trip_days | integer | Trip length in days, if known |
| destination | string | Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"plan_id"
],
"properties": {
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"plan_id": {
"type": "string",
"maxLength": 80,
"minLength": 3,
"description": "plan_id returned by search_plans or plan_trip"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"quantity": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of eSIMs (one per traveller). Defaults to 1."
},
"trip_days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Trip length in days, if known"
},
"destination": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language."
}
}
}Languages, currencies and payment methods at simvito.com checkout. Pass the buyer's country or currency to get the default currency there and the payment methods that currency can be paid with (cards, Apple Pay, Google Pay, PayPal, local wallets and bank payments).
| Argument | Type | Description |
|---|---|---|
| country | string | Buyer's country or region (ISO 3166-1 alpha-2, e.g. 'JP', 'DE') |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| language | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Buyer's country or region (ISO 3166-1 alpha-2, e.g. 'JP', 'DE')"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"language": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
}
}
}After the user pays through start_checkout's links (e.g. they say 'paid' or 'is my eSIM ready?'): shows whether the payment arrived and the eSIM is ready, waiting up to about 25 seconds for it, with the eSIM, a link to install and manage it, and the Simvito app. Never returns installation codes.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| checkout_id* | string | checkout_id returned by start_checkout |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"checkout_id"
],
"properties": {
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"checkout_id": {
"type": "string",
"pattern": "^aic_[A-Za-z0-9_-]{6,100}$",
"description": "checkout_id returned by start_checkout"
}
}
}List the eSIMs in the user's connected Simvito account: destination, plan, status, whether installed, data left and expiry, with a link to manage each one (install, add data) on simvito.com. Requires connecting a Simvito account. Never returns installation codes.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
}
}
}For a trip through several countries (e.g. Japan 7 days, then Korea 5 days), compare one regional plan that covers every stop with a separate plan for each country, using the cheapest plans that cover each stop's days at the daily data need.
| Argument | Type | Description |
|---|---|---|
| stops* | array | |
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| data_gb_per_day | number | Expected data use per day in GB; defaults to 1 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"stops"
],
"properties": {
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"country",
"days"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1
},
"country": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Country name or ISO code"
}
}
},
"maxItems": 8,
"minItems": 1
},
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"data_gb_per_day": {
"type": "number",
"maximum": 50,
"minimum": 0.1,
"description": "Expected data use per day in GB; defaults to 1"
}
}
}Find travel eSIM data plans for one destination and trip length, e.g. 'eSIM for Japan, 7 days' or '10 GB for Thailand'. Up to 5 plans with price in the user's currency, data, validity, the local operators each plan uses with 4G/5G, what happens when the data runs out, hotspot and top-up support, and a link to each plan.
| Argument | Type | Description |
|---|---|---|
| days* | integer | Trip length in days |
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| data_gb | number | Total data needed for the whole trip in GB; omit if unsure |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| plan_type | string | total = one data allowance for the trip; daily = allowance renews each day; unlimited. Defaults to any. |
| destination* | string | Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination",
"days"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Trip length in days"
},
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"data_gb": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Total data needed for the whole trip in GB; omit if unsure"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"plan_type": {
"enum": [
"any",
"total",
"daily",
"unlimited"
],
"type": "string",
"description": "total = one data allowance for the trip; daily = allowance renews each day; unlimited. Defaults to any."
},
"destination": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Destination slug from find_destination (e.g. 'japan', 'europe-33'), an ISO country code, or a country name in any language."
}
}
}When the user decides to buy and their Simvito account is connected: places the order on their account and returns two payment links to give them exactly as returned, a secure payment page for cards, Apple Pay, Google Pay and local wallets, and PayPal (when available for this order), with the total, any discount and an order number. Nothing is charged until the user pays on one of those pages. Pass items for up to 5 different plans from search_plans or plan_trip (up to 10 eSIMs in all), or plan_id and quantity for one plan. If the account isn't connected, use get_buy_link instead.
| Argument | Type | Description |
|---|---|---|
| items | array | The plans to buy, each with its quantity. |
| device | string | Where the user will open the payment link, if you know: 'phone' or 'computer' |
| locale | string | Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'. |
| plan_id | string | Shorthand for a single plan: plan_id returned by search_plans or plan_trip (instead of items) |
| currency | string | The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD. |
| quantity | integer | With plan_id: number of eSIMs (one per traveller). Defaults to 1. |
| destination | string | The destination search_plans returned with the plan(s); can also be given on each item. |
| confirmations | array | Codes from a previous confirmation_required result that the user explicitly agreed to after seeing each text. Never fill these in for the user. |
| expected_unit_amount | number | With plan_id, only after price_changed: the new unit price the user accepted. Otherwise omit; the quoted price is used. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"plan_id"
],
"properties": {
"plan_id": {
"type": "string",
"maxLength": 80,
"minLength": 3,
"description": "plan_id returned by search_plans or plan_trip"
},
"quantity": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of eSIMs of this plan (one per traveller). Defaults to 1."
},
"destination": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "The destination search_plans returned with this plan, if it differs from the top-level destination"
},
"expected_unit_amount": {
"type": "number",
"minimum": 0,
"description": "Only after price_changed: the new unit price of this plan the user accepted. Otherwise omit."
}
}
},
"maxItems": 5,
"minItems": 1,
"description": "The plans to buy, each with its quantity."
},
"device": {
"enum": [
"phone",
"computer"
],
"type": "string",
"description": "Where the user will open the payment link, if you know: 'phone' or 'computer'"
},
"locale": {
"enum": [
"en",
"zh-CN",
"zh-TW",
"ja",
"de",
"it",
"th",
"vi",
"id",
"ms",
"es",
"ko",
"fr",
"pt",
"nl",
"pl",
"tr",
"ar",
"he",
"ru"
],
"type": "string",
"description": "Language of the conversation, as a simvito.com language code ('en', 'ja', 'zh-CN', 'es'…); names and links follow it. Defaults to 'en'."
},
"plan_id": {
"type": "string",
"maxLength": 80,
"minLength": 3,
"description": "Shorthand for a single plan: plan_id returned by search_plans or plan_trip (instead of items)"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "The user's currency (ISO 4217) for prices: USD, EUR, GBP, HKD, CNY, SGD, JPY, AUD, NZD, CAD, BRL, IDR, MYR, PHP, THB, KRW, PLN, CHF, SEK, TWD, VND, TRY, SAR, AED, ILS. Defaults to USD."
},
"quantity": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "With plan_id: number of eSIMs (one per traveller). Defaults to 1."
},
"destination": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "The destination search_plans returned with the plan(s); can also be given on each item."
},
"confirmations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,39}$"
},
"maxItems": 10,
"description": "Codes from a previous confirmation_required result that the user explicitly agreed to after seeing each text. Never fill these in for the user."
},
"expected_unit_amount": {
"type": "number",
"minimum": 0,
"description": "With plan_id, only after price_changed: the new unit price the user accepted. Otherwise omit; the quoted price is used."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.