Skip to main content
Glama

Travel eSIM prices for a destination

get_destination_overview
Read-onlyIdempotent

Use this when someone asks how much a travel eSIM costs in a country or region, what the average or typical price is, or how much choice there is, before comparing individual plans. Returns the number of plans and providers listed on the MyBestSim comparison page, typical prices computed over all of them (median price of standard packages: 1 GB/7 days, 5, 10 and 20 GB/30 days, unlimited 7 and 30 days; median price per GB), the cheapest plan, the best price per GB, the cheapest unlimited plan if any, the available validities, and the link to the comparison page. Pass currency when you know the traveller's.

Input Schema

NameRequiredDescriptionDefault
currencyNoCurrency to show prices in (ISO 4217, e.g. "EUR", "GBP", "USD"): pass the traveller's currency whenever you know it (their country, their words, prices they quoted). Default: the currency of the MyBestSim page in the conversation language (EUR for fr, de, es, it, nl, pt…; USD for en; GBP is never assumed). Prices are converted exactly as that page shows them.
languageNoLanguage of the conversation (ISO 639-1). Links open our comparison page in that language when it exists, otherwise in English. Default "en".
destinationYesWhere the traveller is going, as they named it: a country in English or another common language ("Japan", "Japon"), an ISO 3166-1 alpha-2 code ("JP"), a well-known city ("Tokyo"), or one of the regions Europe, Asia, Africa, North America, South America, World, Balkans. Never the traveller's home country.

Output Schema

NameRequiredDescriptionDefault
cheapestYes
currencyYesCurrency of price, pricePerGb and totals (ISO 4217).
languageYes
planCountYes
destinationYes
comparisonUrlYes
durationsDaysYes
providerCountYes
typicalPricesYes
bestPricePerGbYes
currencySymbolYesSymbol the MyBestSim page uses for that currency.
cheapestUnlimitedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / currency
      Added value: +{
      +  "description": "Currency to show prices in (ISO 4217, e.g. \"EUR\", \"GBP\", \"USD\"): pass the traveller's currency whenever you know it (their country, their words, prices they quoted). Default: the currency of the MyBestSim page in the conversation language (EUR for fr, de, es, it, nl, pt…; USD for en; GBP is never assumed). Prices are converted exactly as that page shows them.",
      +  "enum": [
      +    "USD",
      +    "EUR",
      +    "GBP",
      +    "CAD",
      +    "AUD",
      +    "JPY",
      +    "CNY",
      +    "KRW",
      +    "INR",
      +    "THB",
      +    "IDR",
      +    "MYR",
      +    "SGD",
      +    "PHP",
      +    "VND",
      +    "PKR",
      +    "BDT",
      +    "LKR",
      +    "AED",
      +    "SAR",
      +    "ILS",
      +    "TRY",
      +    "ZAR",
      +    "KES",
      +    "NGN",
      +    "EGP",
      +    "MAD",
      +    "BRL",
      +    "MXN",
      +    "COP",
      +    "CLP",
      +    "PEN",
      +    "NZD",
      +    "CHF",
      +    "SEK",
      +    "NOK",
      +    "DKK",
      +    "PLN",
      +    "CZK",
      +    "HUF",
      +    "RON",
      +    "BGN",
      +    "RUB"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / bestPricePerGb / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page that lists this plan.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "price": {
      +        "description": "Price in the response currency, as the MyBestSim page shows it.",
      +        "type": "number"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGb": {
      +        "description": "Price per GB in the response currency; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "price",
      +      "pricePerGb",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / cheapest / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page that lists this plan.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "price": {
      +        "description": "Price in the response currency, as the MyBestSim page shows it.",
      +        "type": "number"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGb": {
      +        "description": "Price per GB in the response currency; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "price",
      +      "pricePerGb",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / cheapestUnlimited / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page that lists this plan.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "price": {
      +        "description": "Price in the response currency, as the MyBestSim page shows it.",
      +        "type": "number"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGb": {
      +        "description": "Price per GB in the response currency; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "price",
      +      "pricePerGb",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / currency
      Added value: +{
      +  "description": "Currency of price, pricePerGb and totals (ISO 4217).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / currencySymbol
      Added value: +{
      +  "description": "Symbol the MyBestSim page uses for that currency.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / typicalPrices
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Typical prices on the comparison page, computed over ALL its plans (never a sample), in the response currency. For each standard package: median, lowest and highest price of the plans with exactly that data and validity (unlimited: any unlimited plan of that validity); planCount 0 = no such plan, prices null. medianPricePerGb: median of price ÷ GB over every fixed-data plan. Use these for \"average\" or \"typical\" price questions; a median is the middle plan, not the mean.",
      +      "properties": {
      +        "fixedDataPlanCount": {
      +          "type": "integer"
      +        },
      +        "medianPricePerGb": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "packages": {
      +          "items": {
      +            "properties": {
      +              "dataGb": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "durationDays": {
      +                "type": "integer"
      +              },
      +              "high": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "low": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "median": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "planCount": {
      +                "type": "integer"
      +              },
      +              "unlimited": {
      +                "type": "boolean"
      +              }
      +            },
      +            "required": [
      +              "dataGb",
      +              "unlimited",
      +              "durationDays",
      +              "planCount",
      +              "median",
      +              "low",
      +              "high"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "packages",
      +        "medianPricePerGb",
      +        "fixedDataPlanCount"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "destination",
      -  "language",
      -  "comparisonUrl",
      -  "planCount",
      -  "providerCount",
      -  "cheapest",
      -  "bestPricePerGb",
      -  "cheapestUnlimited",
      -  "durationsDays"
      -]New value: +[
      +  "destination",
      +  "language",
      +  "comparisonUrl",
      +  "currency",
      +  "currencySymbol",
      +  "planCount",
      +  "providerCount",
      +  "typicalPrices",
      +  "cheapest",
      +  "bestPricePerGb",
      +  "cheapestUnlimited",
      +  "durationsDays"
      +]
  2. Changed3 schema fields changed
    • changedOutput schema / properties / bestPricePerGb / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "listedOnPage": {
      -        "description": "True when url opens a MyBestSim page that lists this exact plan. False when that page shows a similar offer instead: the plan exists at the provider and is compared here, but the traveller will not see it listed on the page. Say so when recommending it.",
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page for the destination.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url",
      -      "listedOnPage"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / cheapest / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "listedOnPage": {
      -        "description": "True when url opens a MyBestSim page that lists this exact plan. False when that page shows a similar offer instead: the plan exists at the provider and is compared here, but the traveller will not see it listed on the page. Say so when recommending it.",
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page for the destination.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url",
      -      "listedOnPage"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / cheapestUnlimited / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "calls": {
      -        "type": "boolean"
      -      },
      -      "countryCount": {
      -        "type": "integer"
      -      },
      -      "coverage": {
      -        "enum": [
      -          "country",
      -          "regional",
      -          "global"
      -        ],
      -        "type": "string"
      -      },
      -      "dataGb": {
      -        "description": "Total data in GB; null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "dataLabel": {
      -        "type": "string"
      -      },
      -      "durationDays": {
      -        "type": "integer"
      -      },
      -      "fiveG": {
      -        "type": "boolean"
      -      },
      -      "hotspot": {
      -        "type": "boolean"
      -      },
      -      "listedOnPage": {
      -        "description": "True when url opens a MyBestSim page that lists this exact plan. False when that page shows a similar offer instead: the plan exists at the provider and is compared here, but the traveller will not see it listed on the page. Say so when recommending it.",
      -        "type": "boolean"
      -      },
      -      "planId": {
      -        "description": "Identifier to pass to get_esim_plan.",
      -        "type": "string"
      -      },
      -      "priceEur": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "pricePerGbUsd": {
      -        "description": "Null when unlimited.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "priceUsd": {
      -        "type": "number"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "providerSlug": {
      -        "type": "string"
      -      },
      -      "regionName": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sms": {
      -        "type": "boolean"
      -      },
      -      "unlimited": {
      -        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      -        "type": "boolean"
      -      },
      -      "url": {
      -        "description": "MyBestSim comparison page for the destination.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "planId",
      -      "provider",
      -      "providerSlug",
      -      "unlimited",
      -      "dataGb",
      -      "dataLabel",
      -      "durationDays",
      -      "priceUsd",
      -      "priceEur",
      -      "pricePerGbUsd",
      -      "coverage",
      -      "regionName",
      -      "countryCount",
      -      "fiveG",
      -      "hotspot",
      -      "calls",
      -      "sms",
      -      "url",
      -      "listedOnPage"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "calls": {
      +        "type": "boolean"
      +      },
      +      "countryCount": {
      +        "type": "integer"
      +      },
      +      "coverage": {
      +        "enum": [
      +          "country",
      +          "regional",
      +          "global"
      +        ],
      +        "type": "string"
      +      },
      +      "dataGb": {
      +        "description": "Total data in GB; null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "dataLabel": {
      +        "type": "string"
      +      },
      +      "durationDays": {
      +        "type": "integer"
      +      },
      +      "fiveG": {
      +        "type": "boolean"
      +      },
      +      "hotspot": {
      +        "type": "boolean"
      +      },
      +      "planId": {
      +        "description": "Identifier to pass to get_esim_plan.",
      +        "type": "string"
      +      },
      +      "priceEur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "pricePerGbUsd": {
      +        "description": "Null when unlimited.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "priceUsd": {
      +        "type": "number"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "providerSlug": {
      +        "type": "string"
      +      },
      +      "regionName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sms": {
      +        "type": "boolean"
      +      },
      +      "unlimited": {
      +        "description": "True for an unlimited-data plan. Its fair-use policy is not published here: present it as \"Unlimited\" without inventing a cap.",
      +        "type": "boolean"
      +      },
      +      "url": {
      +        "description": "MyBestSim comparison page that lists this plan.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "planId",
      +      "provider",
      +      "providerSlug",
      +      "unlimited",
      +      "dataGb",
      +      "dataLabel",
      +      "durationDays",
      +      "priceUsd",
      +      "priceEur",
      +      "pricePerGbUsd",
      +      "coverage",
      +      "regionName",
      +      "countryCount",
      +      "fiveG",
      +      "hotspot",
      +      "calls",
      +      "sms",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive and openWorldHint=false, so the safety bar is low. The description earns credit beyond that by disclosing the data source (the MyBestSim comparison page, consistent with openWorldHint false) and the exact aggregation method (medians over 1 GB/7 d, 5/10/20 GB/30 d, unlimited 7/30 d, price per GB), which tells the agent what 'typical price' actually means.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single front-loaded paragraph that opens with the routing condition and closes with the currency hint; nothing is padding. However, the long enumeration of every returned statistic is largely redundant with the existing output schema and makes the sentence unwieldy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only aggregation tool with an output schema, full parameter documentation, and complete annotations, the description covers trigger, scope, data source, and aggregation semantics. Nothing an agent needs in order to select or call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both enums are fully documented in the schema, so baseline 3 applies. The description's only parameter guidance ('Pass currency when you know the traveller's') restates what the schema's currency description already says, adding no new syntax, defaults, or edge cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource (aggregate price overview for a destination) and explicitly scopes it as the pre-comparison step, which separates it from get_esim_plan and search_esim_plans. An agent can tell instantly that this answers 'how expensive / how much choice' rather than 'which plan do I buy'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states the trigger phrases ('how much a travel eSIM costs', 'average or typical price', 'how much choice there is') and the sequencing rule 'before comparing individual plans', plus when to pass currency. It stops short of naming the sibling tools to call instead, so routing is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources