Roam2Go eSIM Catalog
Search travel eSIM data plans for 230+ destinations with live prices and purchase links.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"esim-catalog": {
"url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
}
}
}Remote endpoints
https://roam2go.com/wp-json/r2g-mcp/v1/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
๐ขsearch_plans(destination, min_days, min_data_gb, limit)
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.
Input Schema
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country name in any major language, e.g. \"Japan\", \"Japon\", \"Japรณ\""
},
"min_days": {
"type": "integer",
"description": "Only plans valid at least this many days"
},
"min_data_gb": {
"type": "number",
"description": "Minimum data in GB (unlimited plans always match)"
},
"limit": {
"type": "integer",
"description": "Max results (default 12, max 40)"
}
},
"required": [
"destination"
]
}๐ขget_plan(id)
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).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}๐ขlist_destinations
List all destinations (country name + code + cheapest plan price in EUR).
Input Schema
{
"type": "object",
"properties": {}
}Community
Evidence