protogrid

Search / com.roam2go/esim-catalog

Roam2Go eSIM Catalog

R0· no sign-in

Search travel eSIM data plans for 230+ destinations with live prices and purchase links.

v1.3.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality77good
Trust79of 100
Uptime, 30 days95%
Latency p501071 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "esim-catalog": {
      "type": "http",
      "url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
    }
  }
}
claude mcp add --transport http esim-catalog https://roam2go.com/wp-json/r2g-mcp/v1/mcp
[mcp_servers.esim-catalog]
url = "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "esim-catalog": {
      "type": "remote",
      "url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "esim-catalog": {
      "type": "http",
      "url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=esim-catalog&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcm9hbTJnby5jb20vd3AtanNvbi9yMmctbWNwL3YxL21jcCJ9"
}
{
  "servers": {
    "esim-catalog": {
      "type": "http",
      "url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
    }
  }
}
{
  "mcpServers": {
    "esim-catalog": {
      "httpUrl": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
    }
  }
}
extensions:
  "esim-catalog":
    enabled: true
    name: "esim-catalog"
    type: streamable_http
    uri: "https://roam2go.com/wp-json/r2g-mcp/v1/mcp"
    timeout: 300

Quality 77 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations3 of 3 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 712 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability50 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

3 tools, about 712 tokens to load them all · tool set 13c11f7f852d · tools last changed 2026-09-26 · checked 2026-10-19 10:52 UTC

Tool changes

  • get_planchangeddescriptionmeaning changed
    before

    Get one plan by its id (e.g. "R2G-7224"), including the purchase link.

    after · 42% of words in common

    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).

  • search_planschangeddescription
    before

    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).

    after · 84% of words in common

    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.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 79 / 100

no-repository
provenance55
liveness98
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-95% ~updated-40d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://roam2go.com/wp-json/r2g-mcp/v1/mcp streamable-httpnoneyes95%1071 ms2025-06-182026-10-19

Tools (3)

get_planread-onlyGet 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).
list_destinationsread-onlyList all destinations (country name + code + cheapest plan price in EUR).
search_plansread-onlySearch 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.roam2go/esim-catalog",
  "title": "Roam2Go eSIM Catalog",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://roam2go.com/wp-json/r2g-mcp/v1/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.3.1",
  "websiteUrl": "https://roam2go.com",
  "description": "Search travel eSIM data plans for 230+ destinations with live prices and purchase links."
}