AgentRoam
Buy travel eSIMs, gift cards and mobile top-ups with crypto — user confirms before any order.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agentroam": {
"url": "https://agentroam.ai/api/mcp"
}
}
}원격 엔드포인트
https://agentroam.ai/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢search_products(query, country, kind)
Search the AgentRoam travel-crypto catalog: gift cards (Airbnb, Uber, airlines, 500+ US brands), eSIM data plans (110+ destinations incl. Europe/Global region plans) and mobile top-ups (carriers in 100+ countries). Returns product handles for get_price/validate_order. Never creates an order.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Brand, carrier or destination to search for"
},
"country": {
"type": "string",
"description": "ISO country code filter (e.g. \"us\", \"mx\")"
},
"kind": {
"type": "string",
"description": "Product type filter"
}
},
"required": [
"query"
]
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "giftcard | esim | topup"
},
"brandSlug": {
"type": "string"
},
"brandName": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"destination": {
"type": "string",
"description": "eSIM destination name"
},
"range": {
"type": "string",
"description": "Price range display, e.g. \"$50 – $500\""
},
"outOfStock": {
"type": "boolean"
},
"url": {
"type": "string",
"description": "Product page on the AgentRoam site"
}
},
"required": [],
"additionalProperties": true
}
},
"hint": {
"type": "string"
}
},
"required": [],
"additionalProperties": true
}🟢get_price(brand_slug, country_code, denomination_label, amount_usd, dynamic, ...)
Live crypto price for one product/denomination. Payment coins include USDT, USDC, BTC (incl. Lightning), ETH, SOL, DAI, PYUSD, LTC, TRX, TON, DOGE and SUI across many networks — call get_payment_methods for the current list. Never creates an order.
입력 스키마
{
"type": "object",
"properties": {
"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\")"
},
"amount_usd": {
"type": "number",
"description": "USD amount (for dynamic-range products)"
},
"dynamic": {
"type": "boolean",
"description": "true for dynamic-range amounts, false for fixed denomination labels"
},
"coin": {
"type": "string",
"description": "Payment coin, e.g. USDC, USDT, BTC, SOL"
},
"network": {
"type": "string",
"description": "Exact network string from get_price/networks, e.g. \"Solana\", \"Tron\", \"ETH Mainnet\""
}
},
"required": [
"brand_slug",
"country_code",
"denomination_label",
"amount_usd",
"dynamic",
"coin",
"network"
]
}출력 스키마
{
"type": "object",
"properties": {
"payAmount": {
"type": "number",
"description": "Amount to pay in the chosen coin"
},
"coin": {
"type": "string"
},
"network": {
"type": "string"
},
"feePct": {
"type": "number",
"description": "Fee percent over USD face value (0 for volatile coins)"
},
"faceValueUsd": {
"type": "number"
},
"estimate": {
"type": "boolean",
"description": "true = indicative only; exact amount fixed at order creation"
}
},
"required": [
"payAmount",
"coin",
"network"
],
"additionalProperties": true
}🟡validate_order(brand_slug, country_code, denomination_label, amount_usd, dynamic, ...)
Dry-run an order and mint a one-time confirm_token (valid 10 minutes). Returns a human-readable summary that MUST be shown to the user for approval before calling create_order. Does NOT create the order or reserve funds.
입력 스키마
{
"type": "object",
"properties": {
"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\")"
},
"amount_usd": {
"type": "number",
"description": "USD amount (for dynamic-range products)"
},
"dynamic": {
"type": "boolean",
"description": "true for dynamic-range amounts, false for fixed denomination labels"
},
"coin": {
"type": "string",
"description": "Payment coin, e.g. USDC, USDT, BTC, SOL"
},
"network": {
"type": "string",
"description": "Exact network string from get_price/networks, e.g. \"Solana\", \"Tron\", \"ETH Mainnet\""
},
"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)"
}
},
"required": [
"brand_slug",
"country_code",
"denomination_label",
"amount_usd",
"dynamic",
"coin",
"network",
"email"
]
}출력 스키마
{
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"summary": {
"type": "string",
"description": "Human-readable purchase summary — show to the user for approval"
},
"confirm_token": {
"type": "string",
"description": "One-time token for create_order, valid 10 minutes"
},
"expires_in_seconds": {
"type": "number"
},
"price": {
"type": "object",
"properties": {
"payAmount": {
"type": "number",
"description": "Amount to pay in the chosen coin"
},
"coin": {
"type": "string"
},
"network": {
"type": "string"
},
"feePct": {
"type": "number",
"description": "Fee percent over USD face value (0 for volatile coins)"
},
"faceValueUsd": {
"type": "number"
},
"estimate": {
"type": "boolean",
"description": "true = indicative only; exact amount fixed at order creation"
}
},
"required": [],
"additionalProperties": true
},
"instructions": {
"type": "string"
},
"error": {
"type": "string",
"description": "product_not_found | out_of_stock | PHONE_MISSING"
},
"message": {
"type": "string"
}
},
"required": [],
"additionalProperties": true
}🔴create_order(confirm_token, full_name)
Create the real order (requires confirm_token from validate_order, after user approval). Returns the payment wallet address, exact crypto amount, 30-minute expiry, and an order-status URL. The purchased code/QR is emailed by Cryptorefills to the buyer — it is never returned here.
입력 스키마
{
"type": "object",
"properties": {
"confirm_token": {
"type": "string",
"description": "One-time token returned by validate_order (valid 10 minutes)"
},
"full_name": {
"type": "string",
"description": "Buyer full legal name — only if a previous attempt returned FULLNAME_MISSING"
}
},
"required": [
"confirm_token"
]
}출력 스키마
{
"type": "object",
"properties": {
"external_order_id": {
"type": "string"
},
"state": {
"type": "string",
"description": "CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED"
},
"pay_to_address": {
"type": "string",
"description": "Wallet address to send funds to"
},
"pay_amount": {
"type": "number",
"description": "EXACT amount to send"
},
"coin": {
"type": "string"
},
"network": {
"type": "string",
"description": "Exact network — funds sent elsewhere are lost"
},
"network_label": {
"type": "string"
},
"payment_expires_at": {
"type": "string",
"description": "ISO timestamp; 30-minute window"
},
"status_token": {
"type": "string"
},
"status_url": {
"type": "string",
"description": "Live order-status page"
},
"payment_url": {
"type": "string",
"description": "Payment page with QR"
},
"qr_url": {
"type": "string",
"description": "QR code PNG of the address"
},
"instructions": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*"
},
"kyc_url": {
"type": "string",
"description": "Hosted verification link when error=KYC_MISSING"
}
},
"required": [],
"additionalProperties": true
}🟢list_esim_plans(destination, coin)
PREFERRED for any eSIM request: live eSIM data plans for a destination (110+ countries, plus "eu" Europe and "ww" Global multi-country plans) with USD prices and crypto amounts. Renders an interactive plan-picker widget where the user can complete the purchase directly. Never creates an order by itself.
입력 스키마
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Destination: 2-letter country code (e.g. \"il\", \"jp\", \"fr\"), or \"eu\" (Europe region plan) / \"ww\" (Global plan)"
},
"coin": {
"type": "string",
"description": "Coin for live pricing (default USDC)"
}
},
"required": [
"destination"
]
}출력 스키마
{
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"country": {
"type": "string",
"description": "Destination code — pass as country_code to validate_order"
},
"destination_name": {
"type": "string"
},
"flag": {
"type": "string"
},
"coin": {
"type": "string"
},
"url": {
"type": "string"
},
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"denomination_label": {
"type": "string",
"description": "Exact label for validate_order"
},
"usd": {
"type": "number"
},
"coin_amount": {
"type": "number"
},
"data_gb": {
"type": "number"
},
"validity_days": {
"type": "number"
}
},
"required": [],
"additionalProperties": true
}
},
"error": {
"type": "string"
}
},
"required": [],
"additionalProperties": true
}🟢get_order_status(external_order_id, status_token)
Poll order state (WAITING_FOR_PAYMENT → PARTIAL → COMPLETED, or CANCELED/EXPIRED). Requires the status_token from create_order.
입력 스키마
{
"type": "object",
"properties": {
"external_order_id": {
"type": "string"
},
"status_token": {
"type": "string",
"description": "statusToken returned by create_order"
}
},
"required": [
"external_order_id",
"status_token"
]
}출력 스키마
{
"type": "object",
"properties": {
"external_order_id": {
"type": "string"
},
"state": {
"type": "string",
"description": "WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED | REFUNDED"
},
"brand": {
"type": "string"
},
"denomination": {
"type": "string"
},
"coin": {
"type": "string"
},
"network": {
"type": "string"
},
"payment_expires_at": {
"type": "string"
},
"status_url": {
"type": "string"
},
"error": {
"type": "string",
"description": "not_found when id/token mismatch"
}
},
"required": [],
"additionalProperties": true
}🟢list_brands(country_code, kind)
Browse all available brands/carriers for a country: gift cards (500+ US brands) and mobile top-up carriers (100+ countries). Never creates an order.
입력 스키마
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO country code, e.g. \"us\", \"mx\""
},
"kind": {
"type": "string",
"description": "Filter by product type"
}
},
"required": [
"country_code"
]
}출력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"count": {
"type": "number"
},
"brands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "giftcard | topup"
},
"brandSlug": {
"type": "string"
},
"brandName": {
"type": "string"
},
"category": {
"type": "string"
},
"range": {
"type": "string"
},
"outOfStock": {
"type": "boolean"
},
"note": {
"type": "string"
}
},
"required": [],
"additionalProperties": true
}
}
},
"required": [],
"additionalProperties": true
}🟢list_products(brand_slug, country_code, coin)
List a brand's live products/denominations with prices in the chosen coin — exact labels to use with get_price/validate_order (for eSIM use list_esim_plans instead). Never creates an order.
입력 스키마
{
"type": "object",
"properties": {
"brand_slug": {
"type": "string",
"description": "brandSlug from list_brands/search_products"
},
"country_code": {
"type": "string"
},
"coin": {
"type": "string",
"description": "Coin for live pricing (default USDC)"
}
},
"required": [
"brand_slug",
"country_code"
]
}출력 스키마
{
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"brand_slug": {
"type": "string"
},
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"kind": {
"type": "string",
"description": "giftcard | esim | topup"
},
"is_esim": {
"type": "boolean"
},
"destination_name": {
"type": "string"
},
"flag": {
"type": "string"
},
"logoUrl": {
"type": "string"
},
"coin": {
"type": "string"
},
"url": {
"type": "string",
"description": "Product page on the AgentRoam site"
},
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"denomination_label": {
"type": "string",
"description": "Exact label for get_price/validate_order"
},
"usd": {
"type": "number"
},
"coin_amount": {
"type": "number",
"description": "Live price in the requested coin"
},
"dynamic": {
"type": "boolean"
},
"range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [],
"additionalProperties": true
},
"data_gb": {
"type": "number",
"description": "eSIM plans only"
},
"validity_days": {
"type": "number",
"description": "eSIM plans only"
}
},
"required": [],
"additionalProperties": true
}
},
"error": {
"type": "string",
"description": "product_not_found"
}
},
"required": [],
"additionalProperties": true
}🟢get_currencies
List all supported payment cryptocurrencies (the response carries the current set).
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"currencies": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"currencies"
],
"additionalProperties": true
}🟢get_payment_methods
Full payment matrix: every supported coin × network combination currently available, with the exact network strings orders require. The response includes live totals — report those, never a memorized count.
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"payment_via": {
"type": "string"
},
"combinations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"coin": {
"type": "string"
},
"network": {
"type": "string",
"description": "Exact string to pass on orders"
},
"display": {
"type": "string"
}
},
"required": [],
"additionalProperties": true
}
}
},
"required": [
"combinations"
],
"additionalProperties": true
}🔴purchase_wizard(session_token, answer, action)
Text-only fallback purchase flow for clients WITHOUT widget support. In ChatGPT prefer list_esim_plans / list_products + validate_order + create_order instead. Stateful: call repeatedly with the same session_token, answering one question at a time, until status is "complete". First call: empty arguments. The final "confirm" answer creates a REAL order — get explicit user approval first.
입력 스키마
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"description": "Omit on the first call — a new session is minted"
},
"answer": {
"type": "string",
"description": "Answer to the current question"
},
"action": {
"type": "string",
"description": "\"back\" to return to the previous step"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "in_progress | complete | error"
},
"session_token": {
"type": "string",
"description": "Pass back on every call of this session"
},
"step": {
"type": "string"
},
"question": {
"type": "string",
"description": "Ask the user this"
},
"options": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"error": {
"type": "string"
},
"hint": {
"type": "string"
},
"result": {
"type": "object",
"properties": {
"external_order_id": {
"type": "string"
},
"state": {
"type": "string",
"description": "CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED"
},
"pay_to_address": {
"type": "string",
"description": "Wallet address to send funds to"
},
"pay_amount": {
"type": "number",
"description": "EXACT amount to send"
},
"coin": {
"type": "string"
},
"network": {
"type": "string",
"description": "Exact network — funds sent elsewhere are lost"
},
"network_label": {
"type": "string"
},
"payment_expires_at": {
"type": "string",
"description": "ISO timestamp; 30-minute window"
},
"status_token": {
"type": "string"
},
"status_url": {
"type": "string",
"description": "Live order-status page"
},
"payment_url": {
"type": "string",
"description": "Payment page with QR"
},
"qr_url": {
"type": "string",
"description": "QR code PNG of the address"
},
"instructions": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*"
},
"kyc_url": {
"type": "string",
"description": "Hosted verification link when error=KYC_MISSING"
}
},
"required": [],
"additionalProperties": true
}
},
"required": [
"status",
"session_token"
],
"additionalProperties": true
}비교
버전 기록
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
세부 정보
- + search_products
- + get_price
- + validate_order
- + create_order
- + list_esim_plans
- + get_order_status
- + list_brands
- + list_products
- + get_currencies
- + get_payment_methods
- + purchase_wizard
커뮤니티
증거