Skip to content

esimgomobile — Travel eSIM Tools

by esimgomobile.com · remote · no sign-in to list tools · v0.1.0 · published by com.esimgomobile

Travel eSIM plan catalog, coverage and trip-planning tools for agents and developers.

Changes · 19

36 tools: 19 change things and 17 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http esimgomobile https://mcp.esimgomobile.com/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "run_speed_test" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "run_speed_test" says "run": a word for a change.

    What this check looks for
  • The server marks "check_carrier_lock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_carrier_lock" says "lock": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

36 tools

Changes things 19Claude Code: ask
  • calculate_data_budgetUse when the user asks how much of their plan data is left or how to ration it over a trip.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user asks how much of their plan data is left or how to ration it over a trip. Computes remaining data, daily budget and end-of-trip projection from the plan size and usage so far (which the user's phone reports exactly).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • calculate_roaming_costUse when the user wants to compare their home carrier's roaming fees against a travel eSIM.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user wants to compare their home carrier's roaming fees against a travel eSIM. Compares a user-supplied carrier day-pass rate with an illustrative travel-eSIM daily rate.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_carrier_lockUse when the user needs to check whether their phone is carrier-unlocked (required for travel eSIMs).1 finding

    Why it is in this group

    • The name "check_carrier_lock" says "lock": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_carrier_lock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_carrier_lock" says "lock": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use when the user needs to check whether their phone is carrier-unlocked (required for travel eSIMs). Walks through the check on iPhone and Android.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_coverageUse when the user asks whether a country is covered by esimgomobile plans.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user asks whether a country is covered by esimgomobile plans. Answers from esimgomobile's own published plan catalog (live-checked) plus the built-in country network reference.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • check_device_compatibilityUse when the user asks whether their phone supports eSIM.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user asks whether their phone supports eSIM. Checks the model against a built-in device table, with a manual fallback check.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_dns_leaksUse when the user wants to check whether their DNS queries leak outside their VPN.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user wants to check whether their DNS queries leak outside their VPN. Gives a guided manual check — browsers cannot run automatic DNS probes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_internet_freedomUse when the user asks about internet restrictions in a country (VoIP blocks, firewalls).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user asks about internet restrictions in a country (VoIP blocks, firewalls). Returns a high-level snapshot from a built-in table — not legal advice.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • detect_captive_portalUse when the user is on hotel/airport/cafe Wi-Fi and suspects a login page is blocking them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user is on hotel/airport/cafe Wi-Fi and suspects a login page is blocking them. Gives a step-by-step guided check — no automatic probing.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • estimate_data_usageUse when the user is planning a trip and asks how much mobile data they need.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user is planning a trip and asks how much mobile data they need. Estimates from trip days, daily hours online, and a light/moderate/heavy usage profile, then suggests a plan size.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • format_international_numberUse when the user needs to dial a local number internationally.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user needs to dial a local number internationally. Formats a local phone number for calling between two countries, using a built-in dialing-code table.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • grade_connection_qualityUse when the user gives you download/upload speed and ping numbers and wants a verdict.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user gives you download/upload speed and ping numbers and wants a verdict. Grades the connection Excellent/Good/Fair/Poor with practical advice.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • measure_latencyUse when the user wants the network latency to a host.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user wants the network latency to a host. Performs a real HTTPS HEAD request from the deployment edge and reports round-trip time to first byte in milliseconds.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • plan_multi_country_esimUse when the user has a multi-country itinerary and asks which eSIM plan type fits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user has a multi-country itinerary and asks which eSIM plan type fits. Recommends single-country vs regional vs global plans from the country list.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_tripUse when the user gives an itinerary (countries + days + usage) and wants the full answer in one call: estimated data need, best published plan pick with an alternative, and a per-…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user gives an itinerary (countries + days + usage) and wants the full answer in one call: estimated data need, best published plan pick with an alternative, and a per-country networks/eSIM/freedom brief. Composite over the live catalog and built-in country references.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • recommend_planUse when the user says where they're going, for how long, and roughly how much they'll use data, and wants a concrete plan pick.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user says where they're going, for how long, and roughly how much they'll use data, and wants a concrete plan pick. Estimates the GB need, then picks the cheapest matching plan from the real published catalog with prices.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • run_speed_testUse when the user wants to measure their current internet speed.1 finding

    Why it is in this group

    • The name "run_speed_test" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "run_speed_test" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "run_speed_test" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use when the user wants to measure their current internet speed. Runs a real download/ping measurement in the interactive widget and reports Mbps, ping, and a quality grade.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • setup_data_saverUse when the user wants to stretch a travel data plan.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user wants to stretch a travel data plan. Gives OS-specific steps: low-data mode, background limits, offline maps and downloads.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • setup_dual_simUse when the user runs a home line plus a travel eSIM and needs the right configuration.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user runs a home line plus a travel eSIM and needs the right configuration. Explains which line handles data, calls, and iMessage, and how to avoid roaming charges.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • troubleshoot_esimUse when the user's eSIM isn't working.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when the user's eSIM isn't working. Diagnoses common problems: no service, no data, slow data, QR issues, activation failures, calls not working.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 17Claude Code: allow
  • check_roaming_statusUse when the user wants to know whether they are currently roaming.No findings

    Why it is in this group

    • The name "check_roaming_status" says "status": a word for reading.
    Description, as the server wrote it
    Use when the user wants to know whether they are currently roaming. Compares their home country against the country they are in now.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • compare_plansUse when the user is choosing between 2-4 esimgomobile plans.No findings

    Why it is in this group

    • The name "compare_plans" says "compare": a word for reading.
    Description, as the server wrote it
    Use when the user is choosing between 2-4 esimgomobile plans. Side-by-side price, data, validity, scope and per-GB unit price, with a best-value pick. No competitor API offers this.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • find_best_networkUse when the user asks which mobile network is best in a specific city.No findings

    Why it is in this group

    • The name "find_best_network" says "find": a word for reading.
    Description, as the server wrote it
    Use when the user asks which mobile network is best in a specific city. Ranks operators by observed cell-tower density from the OpenCelliD open dataset — a coverage proxy, not a speed measurement.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_free_wifiUse when the user asks where to find free Wi-Fi in a city.No findings

    Why it is in this group

    • The name "find_free_wifi" says "find": a word for reading.
    Description, as the server wrote it
    Use when the user asks where to find free Wi-Fi in a city. Queries the live OpenStreetMap directory (Nominatim geocoding + Overpass) for community-mapped free Wi-Fi hotspots near the city.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_airport_connectivityUse when the user asks about connectivity at an airport (Wi-Fi, SIM vendors, eSIM tips).No findings

    Why it is in this group

    • The name "get_airport_connectivity" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user asks about connectivity at an airport (Wi-Fi, SIM vendors, eSIM tips). Answers from a researched dataset of major international airports: free Wi-Fi details, where to buy a SIM, and eSIM options on arrival.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_country_fact_sheetUse when the user asks about mobile networks, eSIM support, or Wi-Fi in a country.No findings

    Why it is in this group

    • The name "get_country_fact_sheet" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user asks about mobile networks, eSIM support, or Wi-Fi in a country. Returns a fact sheet from a built-in table, with general guidance where a country isn't listed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_installation_guideUse when the user needs step-by-step eSIM installation instructions.No findings

    Why it is in this group

    • The name "get_installation_guide" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user needs step-by-step eSIM installation instructions. Covers iPhone and Android, via QR code or manual entry.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_plan_detailsUse when the user asks about one specific esimgomobile plan by id - price, data allowance, validity, coverage scope, per-GB unit price, and where to buy.No findings

    Why it is in this group

    • The name "get_plan_details" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user asks about one specific esimgomobile plan by id - price, data allowance, validity, coverage scope, per-GB unit price, and where to buy.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_public_ipUse when the user asks for their public IP address.No findings

    Why it is in this group

    • The name "get_public_ip" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user asks for their public IP address. Returns the IP address the request arrives from, as seen by the server edge.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_travel_data_checklistUse when the user is preparing a trip and wants one pass over everything data-related for a country: networks, eSIM support, internet freedom, device check and install steps.No findings

    Why it is in this group

    • The name "get_travel_data_checklist" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user is preparing a trip and wants one pass over everything data-related for a country: networks, eSIM support, internet freedom, device check and install steps. Composes the built-in country, freedom, device and install references.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_wifi_security_checklistUse when the user is about to use public, hotel, or airport Wi-Fi.No findings

    Why it is in this group

    • The name "get_wifi_security_checklist" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user is about to use public, hotel, or airport Wi-Fi. Returns a practical safety checklist.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_available_plansUse when the user asks what esimgomobile plans exist or what an eSIM costs.No findings

    Why it is in this group

    • The name "list_available_plans" says "list": a word for reading.
    Description, as the server wrote it
    Use when the user asks what esimgomobile plans exist or what an eSIM costs. Lists the real, currently published plan catalog with USD prices (live-checked against esimgomobile.com).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_country_networksUse when the user asks which mobile networks operate in a country, or for eSIM support / Wi-Fi / internet-freedom facts for one country - the eSIM Go /networks parity endpoint, fro…No findings

    Why it is in this group

    • The name "list_country_networks" says "list": a word for reading.
    Description, as the server wrote it
    Use when the user asks which mobile networks operate in a country, or for eSIM support / Wi-Fi / internet-freedom facts for one country - the eSIM Go /networks parity endpoint, from esimgomobile's built-in reference.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_apn_settingsUse when the user needs APN settings for a carrier after installing an eSIM.No findings

    Why it is in this group

    • The name "lookup_apn_settings" says "lookup": a word for reading.
    Description, as the server wrote it
    Use when the user needs APN settings for a carrier after installing an eSIM. Looks up a built-in APN table; most travel eSIMs configure automatically.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_speed_requirementsUse when the user asks how much bandwidth an activity needs (video calls, 4K streaming, gaming).No findings

    Why it is in this group

    • The name "lookup_speed_requirements" says "lookup": a word for reading.
    Description, as the server wrote it
    Use when the user asks how much bandwidth an activity needs (video calls, 4K streaming, gaming). Looks up reference requirements from a built-in table.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_plansUse when the user wants to browse or filter esimgomobile plans - by type (data packs, monthly, day passes), max price, minimum GB, coverage scope, or cheapest per-GB.No findings

    Why it is in this group

    • The name "search_plans" says "search": a word for reading.
    Description, as the server wrote it
    Use when the user wants to browse or filter esimgomobile plans - by type (data packs, monthly, day passes), max price, minimum GB, coverage scope, or cheapest per-GB. Reads the live published catalog (snapshot fallback, labeled).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • validate_order_draftUse when the user is about to buy and wants everything checked first - the eSIM Go validate-style dry run.No findings

    Why it is in this group

    • The name "validate_order_draft" says "validate": a word for reading.
    Description, as the server wrote it
    Use when the user is about to buy and wants everything checked first - the eSIM Go validate-style dry run. Verifies the plan id exists, quantity (1-50), device eSIM compatibility, and single-country scope against the itinerary, then gives a published-price estimate. Places no order and charges nothing.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http esimgomobile https://mcp.esimgomobile.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__esimgomobile__get_public_ip",
      "mcp__esimgomobile__check_roaming_status",
      "mcp__esimgomobile__get_wifi_security_checklist",
      "mcp__esimgomobile__lookup_speed_requirements",
      "mcp__esimgomobile__find_best_network",
      "mcp__esimgomobile__get_airport_connectivity",
      "mcp__esimgomobile__find_free_wifi",
      "mcp__esimgomobile__get_country_fact_sheet",
      "mcp__esimgomobile__get_installation_guide",
      "mcp__esimgomobile__lookup_apn_settings",
      "mcp__esimgomobile__list_available_plans",
      "mcp__esimgomobile__get_travel_data_checklist",
      "mcp__esimgomobile__search_plans",
      "mcp__esimgomobile__get_plan_details",
      "mcp__esimgomobile__compare_plans",
      "mcp__esimgomobile__validate_order_draft",
      "mcp__esimgomobile__list_country_networks"
    ],
    "ask": [
      "mcp__esimgomobile__run_speed_test",
      "mcp__esimgomobile__measure_latency",
      "mcp__esimgomobile__grade_connection_quality",
      "mcp__esimgomobile__detect_captive_portal",
      "mcp__esimgomobile__check_dns_leaks",
      "mcp__esimgomobile__check_coverage",
      "mcp__esimgomobile__estimate_data_usage",
      "mcp__esimgomobile__calculate_roaming_cost",
      "mcp__esimgomobile__plan_multi_country_esim",
      "mcp__esimgomobile__check_device_compatibility",
      "mcp__esimgomobile__check_carrier_lock",
      "mcp__esimgomobile__check_internet_freedom",
      "mcp__esimgomobile__troubleshoot_esim",
      "mcp__esimgomobile__setup_dual_sim",
      "mcp__esimgomobile__setup_data_saver",
      "mcp__esimgomobile__format_international_number",
      "mcp__esimgomobile__calculate_data_budget",
      "mcp__esimgomobile__recommend_plan",
      "mcp__esimgomobile__plan_trip"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as esimgomobile. Review it before you use it.