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.
36 tools: 19 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things19Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnrun_speed_test
The server marks "run_speed_test" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "run_speed_test" says "run": a word for a change.
The server marks "check_carrier_lock" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_carrier_lock" says "lock": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_carrier_lock" says "lock": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "run_speed_test" says "run": a word for a change.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.