Roam2Go eSIM Catalog
Server Details
Search travel eSIM data plans for 230+ destinations with live prices and purchase links.
- Status
- Healthy
- Uptime
- 90.5% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool has a clearly separate job: retrieving a plan by ID, listing destinations, and searching plans by destination. There is no meaningful overlap because get_plan requires an exact ID while search_plans is discovery-oriented.
All tool names follow the same lowercase verb_noun pattern: get_plan, list_destinations, search_plans. This makes the API surface predictable and easy for an agent to route.
Three tools is a tight, well-scoped set for a read-only eSIM catalog: one to fetch a specific plan, one to enumerate destinations, and one to search plans. Each tool earns its place and there is no redundancy.
The catalog surface supports the full user journey for this domain: discover destinations, search plans by destination (including regional/global coverage and pagination), and retrieve a specific plan with purchase links. No create/update/delete operations are expected for a read-only catalog, so there are no obvious gaps.
Available Tools
3 toolsget_planGet eSIM planARead-onlyIdempotentInspect
Get one plan by its id (e.g. "R2G-7224"), including the purchase link, also in 7 languages ("product_urls" and "checkout_urls": ca, es, en, fr, it, de, pt; give the one in the language of the user).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral details beyond the annotations: the response includes purchase links, localized 'product_urls' and 'checkout_urls' in 7 languages, and instructs the agent to select the URL matching the user's language.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tightly packed sentence that front-loads the operation and then adds the necessary return-value details. There is no filler, repetition, or unnecessary background.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieval tool with no output schema, the description covers what is returned (plan details plus localized purchase and checkout URLs) and how to pick the right URL. Error or not-found behavior is not mentioned, but the low complexity and annotations make this a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'id' with no description (0% schema coverage). The description compensates by identifying it as the plan id and giving a concrete example format ('R2G-7224'), which is sufficient for a single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get one plan by its id', with an example id ('R2G-7224'). This clearly distinguishes it from the sibling tools list_destinations and search_plans, as it is a fetch-by-identifier operation rather than a list or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied by 'by its id': use this when you already have a plan id. However, the description does not explicitly contrast it with search_plans or list_destinations, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_destinationsList destinationsARead-onlyIdempotentInspect
List all destinations (country name + code + cheapest plan price in EUR).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds value by specifying the return format (country name + code + cheapest plan price in EUR), which is useful for an agent to know what to expect, especially since there is no output schema. It doesn't describe edge cases like empty lists, but for a simple read-only listing tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that leads with the action and resource, then clarifies the output contents in a parenthetical. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, this description tells the agent exactly what it returns and the fields included. It covers all necessary information to call the tool correctly and interpret the result. Nothing essential is missing for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the input schema is empty. The description does not need to explain any parameters, and it correctly avoids repeating anything about the schema. Per the baseline rule for 0 parameters, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and the resource ('all destinations'), and specifies the exact fields returned (country name, code, cheapest plan price in EUR). This distinguishes it from siblings like get_plan (which likely retrieves a single plan) and search_plans (which searches plans), so an agent can immediately tell when to use it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives. It simply states what it does; it does not mention when to use it (e.g., 'when you need a full list of destinations') or when not to use it, nor does it reference siblings or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_plansSearch eSIM plansARead-onlyIdempotentInspect
Search travel eSIM data plans by destination name. Returns plans with price (EUR, VAT included), data amount, validity days, activation policy and a direct purchase link. Matching is on the destination's own name in any major language, so a country name returns that country's local plans. Regional and global plans that cover that country are returned too, after the local ones, so asking for "France" also surfaces the Europe plan. You can still search a region by its own name, e.g. "Europe", "Asia", "Oceania", "North America", "Latin America", "Africa", "Caribbean Islands", "Middle East and North Africa", or "global" for worldwide plans. "matches" is the total number of plans found and "returned" is how many are in this response; raise "limit" (max 40) to see the rest. Unlimited plans carry a "fair_use" object with that plan's real figures: "gb_per_day" (GB per day at full speed; null when the plan declares no daily amount), "speed_after_mbps" (speed after that amount; when "gb_per_day" is null, the plan's top speed: say "up to" it; null if not stated), "never_cut" (true = the connection is never cut off) and "no_daily_quota" (true = no daily quota at all); "fair_use" is null when no figures are declared. Plans with calls carry a "voice" object: "minutes" and "international_calls" (false = calls within the destination country only, true = international calls with a US-based +1 number, null = not stated). Each plan also has "product_urls" and "checkout_urls": the same page and the same purchase link in Catalan (ca), Spanish (es), English (en), French (fr), Italian (it), German (de) and Portuguese (pt). Always give the user the link in the language they are writing in; use "en" for any other language.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 12, max 40) | |
| min_days | No | Only plans valid at least this many days | |
| destination | Yes | Country name in any major language, e.g. "Japan", "Japon", "Japó" | |
| min_data_gb | No | Minimum data in GB (unlimited plans always match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description goes well beyond that by disclosing matching semantics, result ordering (local plans first, then regional/global), pagination via 'matches' and 'returned', unlimited-plan fair-use fields, voice-call fields, and localized URL behavior. This is rich, honest behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured and front-loaded with the core purpose. Every paragraph adds needed operational detail, especially since there is no output schema. It is dense rather than bloated, though some sections could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of explaining return values, and it does so thoroughly: result fields, fair-use semantics, voice fields, localized purchase links, pagination, and search scope. An agent has enough information to call the tool correctly and interpret the response. The complexity is high and the description meets it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented in the schema. The description adds useful runtime context for 'limit' (raise it to see more results) and clarifies unlimited-plan behavior relevant to data filtering, but it does not materially expand the meaning of 'destination' or 'min_days' beyond what the schema already states. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 travel eSIM data plans by destination name.' It clearly states what the tool returns and how matching works, but it does not explicitly differentiate this from sibling tools get_plan or list_destinations. The purpose is unambiguous even though sibling differentiation is left to the names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: search by destination name, search regions by their own names, and search 'global' for worldwide plans. It explains expected matching behavior and ordering, and gives practical guidance on pagination. It does not explicitly mention exclusions or when to prefer a sibling tool, but the usage context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_plan - First observed
list_destinations - First observed
search_plans
Related MCP Connectors
Search travel eSIM data plans worldwide with live prices, plan details and a buy link.
Search prepaid travel eSIM data plans for 200+ countries with live prices and a buy link.
Find prepaid travel eSIM plans for 200+ destinations with live prices, specs and a buy link.
Search, compare & buy prepaid travel eSIM data plans for 190+ countries in 40 currencies, including regional plans and a 12-month Travel Pass.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search and compare travel eSIM data plans by destination, trip length, data amount, unlimited/daily type, local phone number, local or roaming network, multi-country coverage, budget, hotspot and 5G, returning plan details plus a link to buy. Read-only with no sign-in or API key required.1MIT
- AlicenseNot gradedqualityDmaintenanceBrowse, compare, and purchase eSIMs for 190+ countries via AI agents. 12 tools for searching 2,300+ data plans, checking coverage, and buying eSIMs with crypto or card. No account required for browsing.MIT
- AlicenseNot gradedqualityDmaintenanceSearch and buy travel eSIMs for 200+ countries, with specialized China plans that deliver uncensored internet without a VPN. Exposes five read-only tools to search plans, check device eSIM compatibility, get plan details, get help, and generate a secure on-site checkout link.MIT
- -licenseNot gradedqualityBmaintenanceLets AI agents search and buy travel eSIMs from ALT eSIM for 200+ destinations, with Stripe payment links and email delivery of QR codes.-
Glama MCP Gateway
Add one secure layer between your agents and this server.