Skip to main content
Glama

Search eSIM plans

search_esim_plans
Read-only

Search prepaid travel eSIM data plans for a destination — the SIM card / mobile data / roaming option for a trip. Use this first for any "data plan for my trip to X" request. Includes unlimited plans where the traveller picks the number of days, and fixed-data plans. Filter by unlimited vs fixed-data, minimum data, and validity. Unlimited plans are quoted per day, fixed-data plans as a one-off total — never compare those two numbers directly. The unlimited total is the per-day price × days, with a volume discount from 7 days, so pass days (trip length) to get that total quoted alongside the daily rate. Price differences between similar plans come from the routing IP country (routing_ip_country) and the supported networks (speed) — quote both when comparing plans. Results are grouped: fixed-data plans first, then unlimited; each group sorted by price. Returns variant_id values to pass to create_checkout.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoTrip length in days (1-30, the range an unlimited plan can be bought for). When given, unlimited plans also quote the total for that many days, multi-day discount included.
limitNoMax results, default 10
countryYesISO 3166-1 alpha-2 country code, e.g. 'JP', 'US'
currencyNoISO currency for prices, default USD
unlimitedNoIf set, return only unlimited (true) or only fixed-data (false) plans
min_data_gbNoMinimum data in GB (fixed-data plans)
max_validity_daysNoMaximum validity in days (fixed-data plans)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / days
      Added value: +{
      +  "description": "Trip length in days (1-30, the range an unlimited plan can be bought for). When given, unlimited plans also quote the total for that many days, multi-day discount included.",
      +  "maximum": 30,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description richly discloses behavior: the per-day vs one-off pricing distinction, the volume discount up to 7 days, the dependence of price differences on routing_ip_country and networks, the grouping and sorting of results, and the return of variant_id for create_checkout. No contradiction with annotations.

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

Conciseness5/5

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

The description is long yet every sentence earns its place. It front-loads the core purpose and usage, then methodically covers pricing nuances, filters, pricing drivers, result ordering, and downstream integration. It is well-organized and dense with actionable information without fluff.

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?

Given the tool's complexity (7 params, no output schema, no nested objects), the description covers what an agent needs to call it correctly and interpret results: it explains the return value (variant_id), the grouping and sorting, how to pass parameters for accurate pricing, and how to use results for checkout. It also implies what fields might be useful for comparisons (routing_ip_country, networks). No significant gaps remain.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaningful semantic context on top of the schema. For example, it explains that 'days' affects the total quote for unlimited plans and that 'unlimited' and 'min_data_gb' target different plan types. It also clarifies how to interpret prices across plan categories, which the schema alone does not convey.

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?

The description opens with a specific verb and resource: 'Search prepaid travel eSIM data plans for a destination.' It further clarifies the domain with 'SIM card / mobile data / roaming option for a trip' and positions itself as the entry point ('Use this first'). This clearly distinguishes it from siblings like find_cheapest_plan or get_plan_details.

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?

It explicitly states when to use: 'Use this first for any ... request.' It also explains what the tool includes (unlimited vs fixed-data) and how filters work. However, it does not explicitly exclude cases where alternatives like find_cheapest_plan or get_plan_details should be used instead, so it stops short of full guidance.

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.