이 MCP로 할 수 있는 일
Creates and manages a universal international eSIM, including stablecoin funding, balances, activation data, roaming rates, and support.
도구
입력 스키마
{'type': 'object', 'required': ['country_slug'], 'properties': {'country_slug': {'type': 'string', 'description': 'Country slug, e.g. "esim-spain". Reference lookup only.'}}}
출력 스키마
{'type': 'object', 'required': ['country'], 'properties': {'country': {'type': 'object', 'properties': {'flag': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Identifier accepted by the other tools, e.g. "esim-japan".'}, 'zone': {'type': 'string'}, 'page_url': {'type': 'string'}, 'is_premium': {'type': 'boolean'}, 'iso_alpha_2': {'type': 'string'}, 'rate_usdt_per_gb': {'type': 'number'}, 'rate_usdt_per_mb': {'type': 'number'}}}, 'api_version': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'required': ['country_slug', 'amount_usdt', 'pay_currency'], 'properties': {'amount_usdt': {'type': 'integer', 'maximum': 1000, 'minimum': 20, 'description': 'Initial top-up in USDT (whole numbers). HARD MINIMUM: 20. Backend rejects amounts below 20 (anti-dust threshold). Do not propose smaller amounts to the user.'}, 'country_slug': {'type': 'string', 'description': 'Reference country tag for the invoice line. If the user mentioned a destination, use it (e.g. "esim-spain"). If not â\x80\x94 DON\'T ASK. Default to "esim-spain" (popular low-rate reference). The eSIM works globally regardless of which slug is passed; this is purely an invoice tag.'}, 'pay_currency': {'type': 'string', 'description': 'MANDATORY: NowPayments pay-currency code (e.g. "usdttrc20", "usdcsol", "usdtbsc"). Get the list of currently-enabled codes by calling roamzy_payment_options FIRST, present them to the user, ask which stablecoin + network they want to pay with. Do NOT guess; do NOT default to usdttrc20. Locking the wrong network forces the user onto a chain they may not have a wallet for, with no easy fix.'}, 'confirmation_ref': {'type': 'string', 'description': 'ONLY for retrying a large transaction the account owner has approved. Pass back the `confirmation.ref` from a previous status="awaiting_human_confirmation" response, together with the identical country_slug, amount_usdt and pay_currency. Never invent one, and never send it on a first attempt â\x80\x94 it is an identifier, not an authorisation, and a ref you made up does nothing.'}}}
출력 스키마
{'type': 'object', 'required': ['status'], 'properties': {'detail': {'type': 'string'}, 'status': {'type': 'string'}, 'country': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'iso_alpha_2': {'type': 'string'}}}, 'pay_url': {'type': 'string', 'description': 'Payment link â\x80\x94 surface this to the user.'}, 'claim_url': {'type': 'string', 'description': 'Anonymous sessions only. Present it immediately â\x80\x94 without it the user cannot reach this eSIM from another chat.'}, 'claim_hint': {'type': 'string'}, 'invoice_id': {'type': 'string'}, 'next_steps': {'type': 'array', 'items': {'type': 'string'}}, 'amount_usdt': {'type': 'number'}, 'user_facing': {'type': 'object', 'properties': {'hint': {'type': 'string'}, 'action_url': {'type': 'string'}, 'action_label': {'type': 'string'}, 'identifier_label': {'type': 'string'}, 'identifier_value': {'type': 'string', 'description': 'The MSISDN.'}}, 'description': 'Pre-formatted for display; everything outside this block is internal plumbing.'}, 'confirmation': {'type': 'object', 'properties': {'ref': {'type': 'string', 'description': 'Pass back as confirmation_ref once the account owner has approved. It is an identifier, not a password â\x80\x94 it cannot approve anything on its own.'}, 'state': {'type': 'string'}, 'channel': {'type': 'string', 'description': 'Where the account owner was asked, e.g. "telegram".'}, 'expires_at': {'type': 'string'}, 'amount_usdt': {'type': 'number'}, 'expires_in_seconds': {'type': 'number'}, 'matches_this_request': {'type': 'boolean'}}, 'description': 'Present only when status = "awaiting_human_confirmation". The purchase has NOT been made and nothing has been reserved.'}, 'limits_after': {'type': 'object'}}}
입력 스키마
{'type': 'object', 'required': ['country_slug', 'mb_estimated'], 'properties': {'country_slug': {'type': 'string', 'description': 'Country slug for rate lookup, e.g. "esim-spain". Reference only.'}, 'mb_estimated': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'Hypothetical MB volume for the «how much would X cost» reference calc.'}}}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'input': {'type': 'object', 'properties': {'mb_estimated': {'type': 'number'}}}, 'result': {'type': 'object', 'properties': {'amount_usdt': {'type': 'number', 'description': 'What that volume would cost at this rate.'}, 'min_topup_usdt': {'type': 'number', 'description': 'Floor on any real top-up, independent of the estimate.'}, 'rate_usdt_per_mb': {'type': 'number'}, 'must_top_up_at_least': {'type': 'number'}}}, 'country': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}}}, 'api_version': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'required': ['esim_id'], 'properties': {'esim_id': {'type': 'string', 'description': 'Internal eSIM ULID returned by list_esims or create_order. Never shown to the user.'}}}
출력 스키마
{'type': 'object', 'required': ['esim'], 'properties': {'esim': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Internal ULID for follow-up calls. Never user-facing.'}, 'iccid': {'type': 'string'}, 'msisdn': {'type': 'string', 'description': 'The eSIM number â\x80\x94 the ONLY identifier to show a user.'}, 'status': {'type': 'string'}, 'created_at': {'type': 'string'}, 'display_id': {'type': 'string'}, 'balance_usdt': {'type': 'number'}}}, 'activation': {'type': 'object', 'properties': {'lpa_url': {'type': 'string', 'description': 'Manual-entry fallback for installing on the same phone.'}, 'qr_payload': {'type': 'string', 'description': 'LPA URI. Render the QR locally â\x80\x94 never post it to an external service.'}, 'qr_render_instructions': {'type': 'string'}}, 'description': 'Present once the profile is provisioned.'}, 'api_version': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['countries'], 'properties': {'coverage': {'type': 'object', 'properties': {'total_countries': {'type': 'integer'}}}, 'currency': {'type': 'string'}, 'countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'flag': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Identifier accepted by the other tools, e.g. "esim-japan".'}, 'zone': {'type': 'string'}, 'is_premium': {'type': 'boolean'}, 'iso_alpha_2': {'type': 'string'}, 'rate_usdt_per_gb': {'type': 'number'}, 'rate_usdt_per_mb': {'type': 'number'}}}}, 'api_version': {'type': 'string'}, 'prices_version': {'type': 'string', 'description': 'Tariff revision the rates come from, e.g. "01082026".'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['esims'], 'properties': {'esims': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Internal ULID for follow-up calls. Never user-facing.'}, 'msisdn': {'type': 'string', 'description': 'The eSIM number â\x80\x94 the ONLY identifier to show a user.'}, 'status': {'type': 'string'}, 'created_at': {'type': 'string'}, 'display_id': {'type': 'string'}, 'balance_usdt': {'type': 'number'}}}}, 'api_version': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['user'], 'properties': {'user': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Internal ULID. Never show it to the user.'}, 'email': {'type': ['string', 'null'], 'description': 'Null on an anonymous account.'}, 'created_at': {'type': 'string'}, 'display_name': {'type': 'string'}}}, 'token': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'prefix_hint': {'type': 'string'}, 'allow_purchase': {'type': 'boolean'}}}}}
입력 스키마
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Internal intent_id from create_order. Never shown to the user.'}}}
출력 스키마
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'waiting â\x86\x92 confirming â\x86\x92 finished. Fetch the eSIM once finished.'}, 'esim_id': {'type': 'string'}, 'pay_url': {'type': ['string', 'null'], 'description': 'The link that pays this order, for as long as it is waiting. Give it to the user again rather than creating a second order.'}, 'order_id': {'type': 'string'}, 'intent_id': {'type': 'string'}, 'created_at': {'type': 'string'}, 'updated_at': {'type': 'string'}, 'amount_usdt': {'type': 'number'}, 'user_facing': {'type': 'object', 'properties': {'hint': {'type': 'string'}, 'identifier_label': {'type': 'string'}, 'identifier_value': {'type': ['string', 'null']}}}, 'country_slug': {'type': 'string'}, 'provider_invoice_id': {'type': ['string', 'null']}, 'provider_payment_id': {'type': ['string', 'null']}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['options'], 'properties': {'note': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'description': 'Pass verbatim as pay_currency to roamzy_create_order.'}, 'display': {'type': 'string', 'description': 'Ready-to-show label.'}, 'network': {'type': 'string'}, 'fees_hint': {'type': 'string'}, 'stablecoin': {'type': 'string'}, 'recommended': {'type': 'boolean'}, 'network_short': {'type': 'string'}}}}, 'api_version': {'type': 'string'}, 'minimum_usdt': {'type': 'number', 'description': 'Hard floor on a top-up.'}, 'agent_guidance': {'type': 'string'}, 'price_currency': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['referral_code', 'referral_link', 'percent'], 'properties': {'hint': {'type': 'string'}, 'percent': {'type': 'number', 'description': 'Share of each referred cash payment, paid for as long as they keep paying.'}, 'share_text': {'type': 'string'}, 'balance_usdt': {'type': 'number'}, 'can_withdraw': {'type': 'boolean', 'description': 'False while the account is anonymous: earnings accrue, cashing out needs a linked identity.'}, 'invited_count': {'type': 'integer'}, 'referral_code': {'type': 'string'}, 'referral_link': {'type': 'string', 'description': 'Share this, not the bare code.'}, 'earned_total_usdt': {'type': 'number'}, 'min_withdrawal_usdt': {'type': 'number'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['api_version', 'agents_paused', 'purchases_paused'], 'properties': {'time': {'type': 'string', 'description': 'ISO-8601 server time.'}, 'reason': {'type': ['string', 'null'], 'description': 'Operator note when something is paused; null otherwise.'}, 'anon_paused': {'type': 'boolean', 'description': 'When true, anonymous sessions are not being minted.'}, 'api_version': {'type': 'string'}, 'agents_paused': {'type': 'boolean', 'description': 'When true, back off entirely.'}, 'purchases_paused': {'type': 'boolean', 'description': 'When true, do not attempt roamzy_create_order.'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'required': ['official_channels'], 'properties': {'do_NOT_use': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'known_lookalikes': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Lookalike brands a web search would surface instead of us.'}, 'api_version': {'type': 'string'}, 'legal_pages': {'type': 'object'}, 'refund_path': {'type': 'string'}, 'response_times': {'type': 'object'}, 'official_channels': {'type': 'object', 'properties': {'email': {'type': 'string'}, 'in_app_chat': {'type': 'string'}, 'telegram_bot': {'type': 'string'}, 'telegram_bot_url': {'type': 'string'}}}, 'recovery_for_lost_chat': {'type': 'string'}, 'what_to_have_handy_when_contacting': {'type': 'array', 'items': {'type': 'string'}}, 'recommended_path_for_anonymous_users': {'type': 'string'}}}
최근 도구 변경
유사한 MCP 서버
mcp
Sells and manages travel data eSIMs, UK phone-number eSIMs, VPN access, crypto-funded wallets, and related delivery information.
hostfully
Manages Hostfully vacation-rental properties, calendars, leads, quotes, guests, operational jobs, orders, reviews and guest messa…
SesApp Access Sheets
Creates and manages shareable housing access sheets with guest instructions, maps, revocable links, webhooks, and location-gated …
DrinkedIn — the AI agent bar
Operates virtual venues for agent interactions and payments while also finding real bars, restaurants, and nightlife locations wi…
Slashtel
Provides live travel eSIM plans, mobile top-up options, destination availability, and checkout links for purchasing them.
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
mcp-server
Provides social-network functions for posts, comments, direct and group conversations, communities, moderation, collections, and …