esimgomobile — Travel eSIM Tools
Travel eSIM plan catalog, coverage and trip-planning tools for agents and developers.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWestimate_data_usage에서
- LOWget_installation_guide에서
- LOWcompare_plans에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"esimgomobile": {
"url": "https://mcp.esimgomobile.com/mcp"
}
}
}원격 엔드포인트
https://mcp.esimgomobile.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (36)
🟢run_speed_test
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_public_ip
Use when the user asks for their public IP address. Returns the IP address the request arrives from, as seen by the server edge.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_roaming_status(home_country, current_country)
Use when the user wants to know whether they are currently roaming. Compares their home country against the country they are in now.
입력 스키마
{
"type": "object",
"properties": {
"home_country": {
"type": "string",
"description": "User's home country, e.g. United States"
},
"current_country": {
"type": "string",
"description": "Country the user is currently in"
}
},
"required": [
"home_country",
"current_country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢measure_latency(destination)
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.
입력 스키마
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Hostname or public IP to probe, e.g. example.com or 8.8.8.8"
}
},
"required": [
"destination"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢grade_connection_quality(download_mbps, upload_mbps, ping_ms)
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.
입력 스키마
{
"type": "object",
"properties": {
"download_mbps": {
"type": "number",
"description": "Download speed in Mbps"
},
"upload_mbps": {
"type": "number",
"description": "Upload speed in Mbps"
},
"ping_ms": {
"type": "number",
"description": "Ping in milliseconds"
}
},
"required": [
"download_mbps",
"upload_mbps",
"ping_ms"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢detect_captive_portal
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_dns_leaks
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_wifi_security_checklist
Use when the user is about to use public, hotel, or airport Wi-Fi. Returns a practical safety checklist.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lookup_speed_requirements(activity)
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.
입력 스키마
{
"type": "object",
"properties": {
"activity": {
"type": "string",
"description": "Activity, e.g. '4K streaming', 'video calls', 'gaming'"
}
},
"required": [
"activity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_coverage(country)
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.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country to check, e.g. Japan"
}
},
"required": [
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_data_usage(days, hours_per_day, usage_profile)
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.
입력 스키마
{
"type": "object",
"properties": {
"days": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trip length in days"
},
"hours_per_day": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Hours online per day"
},
"usage_profile": {
"type": "string",
"enum": [
"light",
"moderate",
"heavy"
],
"description": "Usage profile"
}
},
"required": [
"days",
"hours_per_day",
"usage_profile"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_roaming_cost(days, home_carrier_daily_rate_usd)
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.
입력 스키마
{
"type": "object",
"properties": {
"days": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trip length in days"
},
"home_carrier_daily_rate_usd": {
"type": "number",
"minimum": 0,
"description": "Home carrier roaming day-pass price in USD"
}
},
"required": [
"days",
"home_carrier_daily_rate_usd"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢plan_multi_country_esim(countries)
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.
입력 스키마
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "Countries on the itinerary"
}
},
"required": [
"countries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_device_compatibility(device_model)
Use when the user asks whether their phone supports eSIM. Checks the model against a built-in device table, with a manual fallback check.
입력 스키마
{
"type": "object",
"properties": {
"device_model": {
"type": "string",
"description": "Device model, e.g. 'iPhone 13', 'Galaxy S23'"
}
},
"required": [
"device_model"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_carrier_lock
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_best_network(city, country)
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.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City, e.g. Tokyo"
},
"country": {
"type": "string",
"description": "Country, e.g. Japan"
}
},
"required": [
"city",
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_airport_connectivity(airport_code)
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.
입력 스키마
{
"type": "object",
"properties": {
"airport_code": {
"type": "string",
"description": "IATA airport code, e.g. NRT"
}
},
"required": [
"airport_code"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_free_wifi(city)
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.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City to search in"
}
},
"required": [
"city"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_country_fact_sheet(country)
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.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country, e.g. Japan"
}
},
"required": [
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_internet_freedom(country)
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.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country, e.g. UAE"
}
},
"required": [
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_installation_guide(os, method)
Use when the user needs step-by-step eSIM installation instructions. Covers iPhone and Android, via QR code or manual entry.
입력 스키마
{
"type": "object",
"properties": {
"os": {
"type": "string",
"enum": [
"ios",
"android"
],
"description": "Phone OS"
},
"method": {
"type": "string",
"enum": [
"qr",
"manual"
],
"description": "Install method"
}
},
"required": [
"os",
"method"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢troubleshoot_esim(symptom)
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.
입력 스키마
{
"type": "object",
"properties": {
"symptom": {
"type": "string",
"enum": [
"no_service",
"no_data",
"slow_data",
"qr_wont_scan",
"cant_activate",
"calls_not_working"
],
"description": "What is going wrong"
}
},
"required": [
"symptom"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lookup_apn_settings(carrier)
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.
입력 스키마
{
"type": "object",
"properties": {
"carrier": {
"type": "string",
"description": "Carrier or region, e.g. T-Mobile, UK, EU roaming"
}
},
"required": [
"carrier"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢setup_dual_sim(primary_use)
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.
입력 스키마
{
"type": "object",
"properties": {
"primary_use": {
"type": "string",
"description": "Main goal, e.g. 'keep my number reachable', 'cheapest data'"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢setup_data_saver(os)
Use when the user wants to stretch a travel data plan. Gives OS-specific steps: low-data mode, background limits, offline maps and downloads.
입력 스키마
{
"type": "object",
"properties": {
"os": {
"type": "string",
"enum": [
"ios",
"android"
],
"description": "Phone OS"
}
},
"required": [
"os"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢format_international_number(from_country, to_country, phone_number)
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.
입력 스키마
{
"type": "object",
"properties": {
"from_country": {
"type": "string",
"description": "Country you're calling from"
},
"to_country": {
"type": "string",
"description": "Country you're calling to"
},
"phone_number": {
"type": "string",
"description": "Local number as written locally, e.g. 06 12 34 56 78"
}
},
"required": [
"from_country",
"to_country",
"phone_number"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_data_budget(plan_gb, used_gb, days_total, days_elapsed)
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).
입력 스키마
{
"type": "object",
"properties": {
"plan_gb": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Plan size in GB, e.g. 5"
},
"used_gb": {
"type": "number",
"minimum": 0,
"description": "Data already used in GB — the phone shows this in Settings > Cellular / Network & Internet"
},
"days_total": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trip or validity length in days"
},
"days_elapsed": {
"type": "number",
"minimum": 0,
"description": "Days already gone"
}
},
"required": [
"plan_gb",
"used_gb"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_available_plans
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).
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢recommend_plan(countries, days, usage_profile)
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.
입력 스키마
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "Countries on the itinerary"
},
"days": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trip length in days"
},
"usage_profile": {
"type": "string",
"enum": [
"light",
"moderate",
"heavy"
],
"description": "Usage profile"
}
},
"required": [
"countries",
"days",
"usage_profile"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_travel_data_checklist(country, os, device_model)
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.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Destination country"
},
"os": {
"type": "string",
"enum": [
"ios",
"android"
],
"description": "Phone OS for install steps (default ios)"
},
"device_model": {
"type": "string",
"description": "Phone model for a compatibility check"
}
},
"required": [
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_plans(kind, max_price_usd, min_gb, scope, sort)
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).
입력 스키마
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"all",
"data_packs",
"monthly",
"day_passes"
],
"description": "Plan type filter (default all)"
},
"max_price_usd": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Only plans at or under this USD price"
},
"min_gb": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Only plans with at least this many GB (fair-use plans always match)"
},
"scope": {
"type": "string",
"enum": [
"any",
"single_country",
"regional",
"global"
],
"description": "Coverage scope filter (default any)"
},
"sort": {
"type": "string",
"enum": [
"price",
"gb",
"per_gb"
],
"description": "Sort order (default price)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_plan_details(plan_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"minLength": 1,
"description": "Plan id, e.g. data-pack-20gb (see search_plans for ids)"
}
},
"required": [
"plan_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_plans(plan_ids)
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.
입력 스키마
{
"type": "object",
"properties": {
"plan_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 2,
"maxItems": 4,
"description": "2-4 plan ids to compare (see search_plans)"
}
},
"required": [
"plan_ids"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_order_draft(plan_id, quantity, device_model, countries)
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.
입력 스키마
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"minLength": 1,
"description": "Plan id (see search_plans)"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Quantity 1-50 (default 1)"
},
"device_model": {
"type": "string",
"description": "Phone model for an eSIM compatibility check"
},
"countries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Destination countries, for scope validation"
}
},
"required": [
"plan_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢plan_trip(countries, days, usage_profile)
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.
입력 스키마
{
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"maxItems": 10,
"description": "Countries on the itinerary, in order"
},
"days": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 365,
"description": "Trip length in days"
},
"usage_profile": {
"type": "string",
"enum": [
"light",
"moderate",
"heavy"
],
"description": "Usage profile"
}
},
"required": [
"countries",
"days",
"usage_profile"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_country_networks(country)
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.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 1,
"description": "Country name, e.g. Japan"
}
},
"required": [
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"title",
"rows",
"note"
],
"additionalProperties": false
}
},
"required": [
"card"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거