eSIM Tabby
What this MCP does
Searches, purchases, manages, tops up, and cancels travel eSIM data plans, with activation details, usage checks, and card or USDC payment options.
Tools
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id of the order to cancel'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['plan_id'], 'properties': {'plan_id': {'type': 'string', 'description': 'plan_id from search_esim_plans'}, 'pay_with': {'enum': ['card', 'x402'], 'type': 'string', 'default': 'card', 'description': "How the buyer intends to pay. 'card' returns a hosted checkout link for a human to open in a browser. 'x402' returns an x402_url for a wallet tool to settle in USDC, with no browser step â\x80\x94 only choose it if you have a wallet. An order keeps the rail it was first given: to pay an existing card order in USDC instead, cancel it and start a new one, so there are never two live ways to pay it."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['order_id', 'plan_id'], 'properties': {'plan_id': {'type': 'string', 'description': 'plan_id from list_topup_options'}, 'order_id': {'type': 'string', 'description': 'order_id of the eSIM to add data to'}, 'pay_with': {'enum': ['card', 'x402'], 'type': 'string', 'default': 'card', 'description': "How the buyer intends to pay. 'card' returns a hosted checkout link for a human to open in a browser. 'x402' returns an x402_url for a wallet tool to settle in USDC, with no browser step â\x80\x94 only choose it if you have a wallet. An order keeps the rail it was first given: to pay an existing card order in USDC instead, cancel it and start a new one, so there are never two live ways to pay it."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id of a fulfilled order'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'title': 'Activation', 'required': ['order_id', 'iccid', 'qr_code_url', 'activation_code', 'smdp_address', 'expires_at', 'instructions'], 'properties': {'iccid': {'type': 'string', 'title': 'Iccid', 'description': "The eSIM's ICCID"}, 'order_id': {'type': 'string', 'title': 'Order Id', 'description': 'The order this eSIM belongs to'}, 'expires_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Expires At', 'description': "When the plan expires, in the provider's own format"}, 'qr_code_url': {'type': 'string', 'title': 'Qr Code Url', 'description': 'Image URL of the activation QR code'}, 'instructions': {'type': 'string', 'title': 'Instructions', 'description': 'How to install the eSIM'}, 'smdp_address': {'type': 'string', 'title': 'Smdp Address', 'description': 'SM-DP+ server address, for manual install'}, 'activation_code': {'type': 'string', 'title': 'Activation Code', 'description': 'LPA activation string, for manual install'}}, 'description': 'What `get_esim_activation` returns.\n\nThe other tools annotate their return type and FastMCP derives the schema from it.\nThis one hands back a ToolResult â\x80\x94 the QR has to reach the reply body as markdown â\x80\x94\nso the type goes here instead and the schema is derived from it below.'}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id of a fulfilled order'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id from create_checkout'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['plan_id'], 'properties': {'plan_id': {'type': 'string', 'description': 'plan_id from search_esim_plans'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'x-fastmcp-wrap-result': True}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id of a fulfilled eSIM to add data to'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'x-fastmcp-wrap-result': True}
Input schema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'order_id from create_checkout'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'How to pay, for the 402 case'}, 'result': {'type': 'string'}, 'status': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}, 'description': 'x402 payment requirements to satisfy'}, 'order_id': {'type': 'string'}, 'next_step': {'type': 'string'}, 'paid_with': {'type': 'string'}, 'transaction': {'type': 'string', 'description': 'On-chain transaction hash'}, 'x402Version': {'type': 'integer'}}, 'description': 'Without a payment: the x402 payment requirements (accepts, error). With one: the settled order (transaction, next_step), or the unchanged order plus `result` when it was no longer awaiting payment.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['country'], 'properties': {'country': {'type': 'string', 'description': 'Country or region name, or ISO 3166-1 alpha-2 code'}, 'min_data_mb': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Only plans with at least this much data'}, 'max_duration_days': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'Only plans lasting at most this many days'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'x-fastmcp-wrap-result': True}
Recent tool changes
Similar MCP servers
Itaim Bibi
Provides an Itaim Bibi neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, t…
Tatuapé
Provides a Tatuapé neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Agenda SP
Provides São Paulo cultural agenda and local directory features, including events, venues, restaurants, offers, bookings, reserva…
Vila Buarque
Provides a neighborhood directory for local places, restaurants, menus, events, offers, services, reservations, bookings, and pur…
Centro
Provides a Centro neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticket…
Bela Vista
Provides a Bela Vista neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ti…
Jardins
Provides a Jardins neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Aclimação
Provides a neighborhood directory for Aclimação with local places, restaurant menus, events, offers, services, bookings, reservat…