AgentRoam
What this MCP does
Browses and purchases travel eSIMs, gift cards, and mobile top-ups using supported cryptocurrencies, with order validation and status tracking.
Tools
Input schema
{'type': 'object', 'required': ['confirm_token'], 'properties': {'full_name': {'type': 'string', 'description': 'Buyer full legal name — only if a previous attempt returned FULLNAME_MISSING'}, 'confirm_token': {'type': 'string', 'description': 'One-time token returned by validate_order (valid 10 minutes)'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'coin': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*'}, 'state': {'type': 'string', 'description': 'CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED'}, 'qr_url': {'type': 'string', 'description': 'QR code PNG of the address'}, 'kyc_url': {'type': 'string', 'description': 'Hosted verification link when error=KYC_MISSING'}, 'network': {'type': 'string', 'description': 'Exact network — funds sent elsewhere are lost'}, 'pay_amount': {'type': 'number', 'description': 'EXACT amount to send'}, 'status_url': {'type': 'string', 'description': 'Live order-status page'}, 'payment_url': {'type': 'string', 'description': 'Payment page with QR'}, 'instructions': {'type': 'string'}, 'status_token': {'type': 'string'}, 'network_label': {'type': 'string'}, 'pay_to_address': {'type': 'string', 'description': 'Wallet address to send funds to'}, 'external_order_id': {'type': 'string'}, 'payment_expires_at': {'type': 'string', 'description': 'ISO timestamp; 30-minute window'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'required': ['currencies'], 'properties': {'currencies': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['external_order_id', 'status_token'], 'properties': {'status_token': {'type': 'string', 'description': 'statusToken returned by create_order'}, 'external_order_id': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'coin': {'type': 'string'}, 'brand': {'type': 'string'}, 'error': {'type': 'string', 'description': 'not_found when id/token mismatch'}, 'state': {'type': 'string', 'description': 'WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED | REFUNDED'}, 'network': {'type': 'string'}, 'status_url': {'type': 'string'}, 'denomination': {'type': 'string'}, 'external_order_id': {'type': 'string'}, 'payment_expires_at': {'type': 'string'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'required': ['combinations'], 'properties': {'payment_via': {'type': 'string'}, 'combinations': {'type': 'array', 'items': {'type': 'object', 'required': [], 'properties': {'coin': {'type': 'string'}, 'display': {'type': 'string'}, 'network': {'type': 'string', 'description': 'Exact string to pass on orders'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['brand_slug', 'country_code', 'denomination_label', 'amount_usd', 'dynamic', 'coin', 'network'], 'properties': {'coin': {'type': 'string', 'description': 'Payment coin, e.g. USDC, USDT, BTC, SOL'}, 'dynamic': {'type': 'boolean', 'description': 'true for dynamic-range amounts, false for fixed denomination labels'}, 'network': {'type': 'string', 'description': 'Exact network string from get_price/networks, e.g. "Solana", "Tron", "ETH Mainnet"'}, 'amount_usd': {'type': 'number', 'description': 'USD amount (for dynamic-range products)'}, 'brand_slug': {'type': 'string', 'description': 'brandSlug from search_products'}, 'country_code': {'type': 'string', 'description': 'countryCode from search_products'}, 'denomination_label': {'type': 'string', 'description': 'Exact denomination label (e.g. "100 USD", "60 UC", "1 GB 7 days")'}}}
Output schema
{'type': 'object', 'required': ['payAmount', 'coin', 'network'], 'properties': {'coin': {'type': 'string'}, 'feePct': {'type': 'number', 'description': 'Fee percent over USD face value (0 for volatile coins)'}, 'network': {'type': 'string'}, 'estimate': {'type': 'boolean', 'description': 'true = indicative only; exact amount fixed at order creation'}, 'payAmount': {'type': 'number', 'description': 'Amount to pay in the chosen coin'}, 'faceValueUsd': {'type': 'number'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['country_code'], 'properties': {'kind': {'type': 'string', 'description': 'Filter by product type'}, 'country_code': {'type': 'string', 'description': 'ISO country code, e.g. "us", "mx"'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'count': {'type': 'number'}, 'brands': {'type': 'array', 'items': {'type': 'object', 'required': [], 'properties': {'kind': {'type': 'string', 'description': 'giftcard | topup'}, 'note': {'type': 'string'}, 'range': {'type': 'string'}, 'category': {'type': 'string'}, 'brandName': {'type': 'string'}, 'brandSlug': {'type': 'string'}, 'outOfStock': {'type': 'boolean'}}, 'additionalProperties': True}}, 'country': {'type': 'string'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['destination'], 'properties': {'coin': {'type': 'string', 'description': 'Coin for live pricing (default USDC)'}, 'destination': {'type': 'string', 'description': 'Destination: 2-letter country code (e.g. "il", "jp", "fr"), or "eu" (Europe region plan) / "ww" (Global plan)'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string'}, 'coin': {'type': 'string'}, 'flag': {'type': 'string'}, 'brand': {'type': 'string'}, 'error': {'type': 'string'}, 'country': {'type': 'string', 'description': 'Destination code — pass as country_code to validate_order'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': [], 'properties': {'usd': {'type': 'number'}, 'data_gb': {'type': 'number'}, 'coin_amount': {'type': 'number'}, 'validity_days': {'type': 'number'}, 'denomination_label': {'type': 'string', 'description': 'Exact label for validate_order'}}, 'additionalProperties': True}}, 'destination_name': {'type': 'string'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['brand_slug', 'country_code'], 'properties': {'coin': {'type': 'string', 'description': 'Coin for live pricing (default USDC)'}, 'brand_slug': {'type': 'string', 'description': 'brandSlug from list_brands/search_products'}, 'country_code': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'Product page on the AgentRoam site'}, 'coin': {'type': 'string'}, 'flag': {'type': 'string'}, 'kind': {'type': 'string', 'description': 'giftcard | esim | topup'}, 'brand': {'type': 'string'}, 'error': {'type': 'string', 'description': 'product_not_found'}, 'country': {'type': 'string'}, 'is_esim': {'type': 'boolean'}, 'logoUrl': {'type': 'string'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': [], 'properties': {'usd': {'type': 'number'}, 'range': {'type': 'object', 'required': [], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'step': {'type': 'number'}}, 'additionalProperties': True}, 'data_gb': {'type': 'number', 'description': 'eSIM plans only'}, 'dynamic': {'type': 'boolean'}, 'coin_amount': {'type': 'number', 'description': 'Live price in the requested coin'}, 'validity_days': {'type': 'number', 'description': 'eSIM plans only'}, 'denomination_label': {'type': 'string', 'description': 'Exact label for get_price/validate_order'}}, 'additionalProperties': True}}, 'brand_slug': {'type': 'string'}, 'country_name': {'type': 'string'}, 'destination_name': {'type': 'string'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {'action': {'type': 'string', 'description': '"back" to return to the previous step'}, 'answer': {'type': 'string', 'description': 'Answer to the current question'}, 'session_token': {'type': 'string', 'description': 'Omit on the first call — a new session is minted'}}}
Output schema
{'type': 'object', 'required': ['status', 'session_token'], 'properties': {'hint': {'type': 'string'}, 'step': {'type': 'string'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'required': [], 'properties': {'coin': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*'}, 'state': {'type': 'string', 'description': 'CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED'}, 'qr_url': {'type': 'string', 'description': 'QR code PNG of the address'}, 'kyc_url': {'type': 'string', 'description': 'Hosted verification link when error=KYC_MISSING'}, 'network': {'type': 'string', 'description': 'Exact network — funds sent elsewhere are lost'}, 'pay_amount': {'type': 'number', 'description': 'EXACT amount to send'}, 'status_url': {'type': 'string', 'description': 'Live order-status page'}, 'payment_url': {'type': 'string', 'description': 'Payment page with QR'}, 'instructions': {'type': 'string'}, 'status_token': {'type': 'string'}, 'network_label': {'type': 'string'}, 'pay_to_address': {'type': 'string', 'description': 'Wallet address to send funds to'}, 'external_order_id': {'type': 'string'}, 'payment_expires_at': {'type': 'string', 'description': 'ISO timestamp; 30-minute window'}}, 'additionalProperties': True}, 'status': {'type': 'string', 'description': 'in_progress | complete | error'}, 'options': {'type': 'array', 'items': {'type': 'string'}}, 'summary': {'type': 'string'}, 'question': {'type': 'string', 'description': 'Ask the user this'}, 'session_token': {'type': 'string', 'description': 'Pass back on every call of this session'}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'kind': {'type': 'string', 'description': 'Product type filter'}, 'query': {'type': 'string', 'description': 'Brand, carrier or destination to search for'}, 'country': {'type': 'string', 'description': 'ISO country code filter (e.g. "us", "mx")'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'hint': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'Product page on the AgentRoam site'}, 'kind': {'type': 'string', 'description': 'giftcard | esim | topup'}, 'range': {'type': 'string', 'description': 'Price range display, e.g. "$50 – $500"'}, 'brandName': {'type': 'string'}, 'brandSlug': {'type': 'string'}, 'outOfStock': {'type': 'boolean'}, 'countryCode': {'type': 'string'}, 'destination': {'type': 'string', 'description': 'eSIM destination name'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['brand_slug', 'country_code', 'denomination_label', 'amount_usd', 'dynamic', 'coin', 'network', 'email'], 'properties': {'coin': {'type': 'string', 'description': 'Payment coin, e.g. USDC, USDT, BTC, SOL'}, 'email': {'type': 'string', 'description': 'Delivery email for the buyer'}, 'phone': {'type': 'string', 'description': 'Phone number to recharge (REQUIRED for mobile top-ups, with country code)'}, 'dynamic': {'type': 'boolean', 'description': 'true for dynamic-range amounts, false for fixed denomination labels'}, 'network': {'type': 'string', 'description': 'Exact network string from get_price/networks, e.g. "Solana", "Tron", "ETH Mainnet"'}, 'amount_usd': {'type': 'number', 'description': 'USD amount (for dynamic-range products)'}, 'brand_slug': {'type': 'string', 'description': 'brandSlug from search_products'}, 'country_code': {'type': 'string', 'description': 'countryCode from search_products'}, 'denomination_label': {'type': 'string', 'description': 'Exact denomination label (e.g. "100 USD", "60 UC", "1 GB 7 days")'}}}
Output schema
{'type': 'object', 'required': [], 'properties': {'error': {'type': 'string', 'description': 'product_not_found | out_of_stock | PHONE_MISSING'}, 'price': {'type': 'object', 'required': [], 'properties': {'coin': {'type': 'string'}, 'feePct': {'type': 'number', 'description': 'Fee percent over USD face value (0 for volatile coins)'}, 'network': {'type': 'string'}, 'estimate': {'type': 'boolean', 'description': 'true = indicative only; exact amount fixed at order creation'}, 'payAmount': {'type': 'number', 'description': 'Amount to pay in the chosen coin'}, 'faceValueUsd': {'type': 'number'}}, 'additionalProperties': True}, 'valid': {'type': 'boolean'}, 'message': {'type': 'string'}, 'summary': {'type': 'string', 'description': 'Human-readable purchase summary — show to the user for approval'}, 'instructions': {'type': 'string'}, 'confirm_token': {'type': 'string', 'description': 'One-time token for create_order, valid 10 minutes'}, 'expires_in_seconds': {'type': 'number'}}, 'additionalProperties': True}
Recent tool changes
Similar MCP servers
Agentic Fabrication Network (AFN)
Obtains quotes and places orders for 3D printing, CNC and sheet-metal fabrication, decals, and related manufacturing services.
AirShelf Catalog
Enables agents to search, compare, research, and request quotes for products in a cross-vendor B2B catalog.
beauty
Finds and recommends sponsored beauty products, brands, and skincare routines based on shopper preferences and skin profiles.
Agentic Terminal Directory
Searches and verifies merchants that accept agentic payment methods including Lightning, L402, BOLT12, and USDT.
hood. — .hood name service
Resolves .hood blockchain names, reverse-resolves addresses, reads text records, and checks name availability and pricing on Robi…
aTars MCP
Provides cryptocurrency market signals, technical indicators, and sentiment analysis.
1325.AI
Provides a searchable directory of Black-owned U.S. businesses with map and loyalty-reward features.
mcp
Helps Amazon sellers calculate per-unit profit from settlement data and prepare drafts for seller approval.