mcp-server
Ce que fait ce MCP
Creates and manages a universal international eSIM, including stablecoin funding, balances, activation data, roaming rates, and support.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['country_slug'], 'properties': {'country_slug': {'type': 'string', 'description': 'Country slug, e.g. "esim-spain". Reference lookup only.'}}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'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.'}}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'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.'}}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'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.'}}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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".'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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'}}}}}
Schéma d’entrée
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Internal intent_id from create_order. Never shown to the user.'}}}
Schéma de sortie
{'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']}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'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'}}}
Modifications récentes des outils
Serveurs MCP similaires
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 …