Servidor MCP

esimoa — travel eSIM comparison

com.esimoa/esim
Comercio y retail Viajes y hospitalidad Público y accesible MCP 2026-07-28

Qué hace este MCP

Searches and compares travel eSIM plans by destination, duration, data, coverage, features, and price, with links to purchase.

compare_esims
Compare eSIM plans side by side
Compare 2 to 5 esimoa (이심모아) eSIM plans side by side by id (ids come from search_esims): price, data, validity, price per GB, coverage, network, hotspot and local phone number. Returns which plan has the lowest price, most data, longest validity and lowest price per GB, and each plan page `url` on esimoa.com. Prices are in KRW.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 5, 'minItems': 2, 'description': 'Plan ids from search_esims.'}, 'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string', 'description': 'Language for country names and the plan page. Match the user’s language (ko, en, ja, zh-CN, zh-TW, es, fr, ar, vi, th, id, it, de).'}}}
Esquema de salida
{'type': 'object', 'required': ['items', 'highlights'], 'properties': {'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'priceKrw', 'currency', 'validityDays', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Plan page on esimoa.com'}, 'title': {'type': 'string'}, 'hotspot': {'type': ['boolean', 'null']}, 'currency': {'enum': ['KRW'], 'type': 'string'}, 'dataType': {'type': ['string', 'null'], 'description': 'daily | total | null (unknown)'}, 'priceKrw': {'type': 'number'}, 'provider': {'type': 'string'}, 'dataAmount': {'type': 'string'}, 'countryCode': {'type': ['string', 'null']}, 'countryName': {'type': ['string', 'null']}, 'isUnlimited': {'type': 'boolean'}, 'networkType': {'type': ['string', 'null']}, 'dataAmountGB': {'type': ['number', 'null']}, 'validityDays': {'type': 'number'}, 'hasLocalNumber': {'type': 'boolean'}, 'isLocalNetwork': {'type': 'boolean'}, 'isMultiCountry': {'type': 'boolean'}, 'coverageCountries': {'type': 'array', 'items': {'type': 'string'}}}}}, 'notFound': {'type': 'array', 'items': {'type': 'string'}}, 'highlights': {'type': 'object', 'properties': {'mostData': {'type': ['string', 'null']}, 'lowestPrice': {'type': ['string', 'null']}, 'longestValidity': {'type': ['string', 'null']}, 'lowestPricePerGb': {'type': ['string', 'null']}}, 'description': 'Plan id that is best on each measure among the compared plans (null when tied or unknown).'}}}
fetch
Fetch an esimoa eSIM
Fetch one esimoa (이심모아) eSIM plan as a document by id returned from search (ChatGPT deep research format). For plans found with search_esims, use get_esim.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object'}}}
get_esim
Get eSIM plan details
Get the details of one esimoa (이심모아) eSIM plan by id (from search_esims), including its plan page `url`.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Plan id'}, 'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string', 'description': 'Language for country names and the plan page. Match the user’s language (ko, en, ja, zh-CN, zh-TW, es, fr, ar, vi, th, id, it, de).'}}}
Esquema de salida
{'type': 'object', 'required': ['item'], 'properties': {'item': {'type': 'object', 'required': ['id', 'title', 'priceKrw', 'currency', 'validityDays', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Plan page on esimoa.com'}, 'title': {'type': 'string'}, 'hotspot': {'type': ['boolean', 'null']}, 'currency': {'enum': ['KRW'], 'type': 'string'}, 'dataType': {'type': ['string', 'null'], 'description': 'daily | total | null (unknown)'}, 'priceKrw': {'type': 'number'}, 'provider': {'type': 'string'}, 'dataAmount': {'type': 'string'}, 'countryCode': {'type': ['string', 'null']}, 'countryName': {'type': ['string', 'null']}, 'isUnlimited': {'type': 'boolean'}, 'networkType': {'type': ['string', 'null']}, 'dataAmountGB': {'type': ['number', 'null']}, 'validityDays': {'type': 'number'}, 'hasLocalNumber': {'type': 'boolean'}, 'isLocalNetwork': {'type': 'boolean'}, 'isMultiCountry': {'type': 'boolean'}, 'coverageCountries': {'type': 'array', 'items': {'type': 'string'}}}}, 'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string'}}}
list_countries
List eSIM destinations
List countries where esimoa (이심모아) sells eSIMs, with the number of plans and the lowest price (KRW). Optionally filter by name.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string', 'description': 'Language for country names and the plan page. Match the user’s language (ko, en, ja, zh-CN, zh-TW, es, fr, ar, vi, th, id, it, de).'}, 'query': {'type': 'string', 'description': 'Country name or ISO code filter'}}}
Esquema de salida
{'type': 'object', 'required': ['items', 'total'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['countryCode', 'name', 'planCount', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'planCount': {'type': 'number'}, 'countryCode': {'type': 'string'}, 'lowestPriceKrw': {'type': ['number', 'null']}}}}, 'total': {'type': 'number'}}}
search
Search esimoa eSIMs
Free-text search of esimoa (이심모아) eSIM plans in the search/fetch format used by ChatGPT deep research, e.g. "Japan 7 days unlimited" or "USA 3 days local phone number". Understands unlimited, daily, local phone number, local network, hotspot and 5G. Returns ids to use with fetch. When you can fill filters, prefer search_esims.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}}}}}
search_esims
Search & compare travel eSIMs
Search the travel eSIM catalog of esimoa (이심모아) and compare plans for a destination. Filter by trip length, data, unlimited or daily data, local phone number, local or roaming network, multi-country coverage, price, provider, hotspot and 5G. Sort by "recommended" (esimoa’s default order), "price" (lowest first), "data" (most data first), "price_per_gb" or "validity" (longest first). Each result includes its `id` (for get_esim and compare_esims) and a `url` to the plan page on esimoa.com. Prices are in KRW.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'minimum': 1, 'description': 'Trip length in days. Plans covering at least this many days (and not much longer) are returned.'}, 'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string', 'description': 'Language for country names and the plan page. Match the user’s language (ko, en, ja, zh-CN, zh-TW, es, fr, ar, vi, th, id, it, de).'}, 'sort': {'enum': ['recommended', 'price', 'data', 'price_per_gb', 'validity'], 'type': 'string', 'description': 'recommended | price | data | price_per_gb | validity'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Number of plans (default 5, max 10).'}, 'five_g': {'type': 'boolean', 'description': 'true = 5G network. Checked within the top 50 matches, so the total is approximate.'}, 'country': {'type': 'string', 'description': 'Destination country — ISO code (JP) or name in any language (Japan, 일본).'}, 'data_gb': {'type': 'number', 'minimum': 0, 'description': 'Minimum data needed in GB.'}, 'hotspot': {'type': 'boolean', 'description': 'true = hotspot/tethering supported. Checked within the top 50 matches, so the total is approximate.'}, 'network': {'enum': ['local', 'roaming'], 'type': 'string', 'description': 'local = local carrier network (usually faster); roaming = roaming network.'}, 'provider': {'type': 'string', 'description': 'Provider code exactly as returned in results (e.g. from a previous search).'}, 'countries': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'description': 'Multi-country trip — only plans that work in ALL of these countries (ISO codes or names). Use instead of country.'}, 'data_type': {'enum': ['daily', 'total'], 'type': 'string', 'description': 'daily = data allowance resets every day; total = one allowance for the whole trip.'}, 'unlimited': {'type': 'boolean', 'description': 'Only unlimited-data plans.'}, 'max_data_gb': {'type': 'number', 'minimum': 0, 'description': 'Maximum data in GB.'}, 'local_number': {'type': 'boolean', 'description': 'true = only plans that include a local phone number for calls/SMS.'}, 'max_price_krw': {'type': 'integer', 'minimum': 0, 'description': 'Maximum price in KRW (budget).'}, 'min_price_krw': {'type': 'integer', 'minimum': 0, 'description': 'Minimum price in KRW.'}, 'multi_country': {'type': 'boolean', 'description': 'true = multi-country (regional) plans only; false = single-country plans only.'}}}
Esquema de salida
{'type': 'object', 'required': ['items', 'total'], 'properties': {'lang': {'enum': ['ko', 'en', 'ja', 'zh-CN', 'zh-TW', 'es', 'fr', 'ar', 'vi', 'th', 'id', 'it', 'de'], 'type': 'string'}, 'sort': {'enum': ['recommended', 'price', 'data', 'price_per_gb', 'validity'], 'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'priceKrw', 'currency', 'validityDays', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Plan page on esimoa.com'}, 'title': {'type': 'string'}, 'hotspot': {'type': ['boolean', 'null']}, 'currency': {'enum': ['KRW'], 'type': 'string'}, 'dataType': {'type': ['string', 'null'], 'description': 'daily | total | null (unknown)'}, 'priceKrw': {'type': 'number'}, 'provider': {'type': 'string'}, 'dataAmount': {'type': 'string'}, 'countryCode': {'type': ['string', 'null']}, 'countryName': {'type': ['string', 'null']}, 'isUnlimited': {'type': 'boolean'}, 'networkType': {'type': ['string', 'null']}, 'dataAmountGB': {'type': ['number', 'null']}, 'validityDays': {'type': 'number'}, 'hasLocalNumber': {'type': 'boolean'}, 'isLocalNetwork': {'type': 'boolean'}, 'isMultiCountry': {'type': 'boolean'}, 'coverageCountries': {'type': 'array', 'items': {'type': 'string'}}}}}, 'total': {'type': 'number'}, 'totalIsApproximate': {'type': 'boolean'}}}
Añadido
fetch
3 de October de 2026 a las 02:40
Añadido
search
3 de October de 2026 a las 02:40
Añadido
list_countries
3 de October de 2026 a las 02:40
Añadido
compare_esims
3 de October de 2026 a las 02:40
Añadido
get_esim
3 de October de 2026 a las 02:40
Añadido
search_esims
3 de October de 2026 a las 02:40