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)

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.

TDQS

A4.4/5.0
Disambiguation4/5

The tools are mostly distinct: search/check/find for discovery, get/list for details, create/topup for purchase, and order/esim management. The only mild overlap is between check_destination_coverage and find_cheapest_plan, but the description clarifies when to use each. Overall clear boundaries.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: check_destination_coverage, find_cheapest_plan, search_esim_plans, get_plan_details, create_checkout, get_order_status, list_esim_topups, topup_esim, my_esims, my_orders. The 'my_' prefix for account-specific lists is a clear, consistent exception that serves its purpose.

Tool Count5/5

Ten tools is an ideal count for an eSIM travel data server. Each tool covers a necessary step in the user journey: discovery (search, check, find), details (get_plan_details), purchase (create_checkout), post-purchase (get_order_status, my_orders), and management (my_esims, list_esim_topups, topup_esim). Nothing feels redundant or missing.

Completeness5/5

The tool surface covers the full lifecycle: searching/checking coverage for a destination, getting plan details, purchasing, checking order status, viewing purchased eSIMs, topping up, and listing orders. No obvious gaps—this covers everything a traveller would need from planning to refilling data.