MCP Server

Roam2Go eSIM Catalog

com.roam2go/esim-catalog
Commerce & Retail Travel & Hospitality Public & reachable MCP 2026-07-28

What this MCP does

Searches travel eSIM data plans by destination and returns live prices, plan details, and purchase links.

get_plan
Get eSIM plan
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).
Read only Idempotent
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
list_destinations
List destinations
List all destinations (country name + code + cheapest plan price in EUR).
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}}
search_plans
Search eSIM plans
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['destination'], 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 12, max 40)'}, 'min_days': {'type': 'integer', 'description': 'Only plans valid at least this many days'}, 'destination': {'type': 'string', 'description': 'Country name in any major language, e.g. "Japan", "Japon", "Japó"'}, 'min_data_gb': {'type': 'number', 'description': 'Minimum data in GB (unlimited plans always match)'}}}
Changed
get_plan
Sept. 27, 2026, 2:53 a.m.
Changed
search_plans
Sept. 27, 2026, 2:53 a.m.
Changed
search_plans
Sept. 25, 2026, 3:03 a.m.
Changed
search_plans
Sept. 23, 2026, 2:54 a.m.
Added
list_destinations
Sept. 17, 2026, 12:37 p.m.
Added
get_plan
Sept. 17, 2026, 12:37 p.m.
Added
search_plans
Sept. 17, 2026, 12:37 p.m.