VirtualSMS
Real SIM phone numbers for AI agents performing SMS verification across 2000+ services (WhatsApp, Telegram, Tinder, Discord, Instagram, OnlyFans, Hinge, Bumble, PayPal, Google, Apple, Binance) and 145+ countries. 18 tools across discovery, account, and order management. Real physical SIMs survive carrier_lookup VoIP detection that breaks eSIM-based competitors on services with strict anti-fraud. Ranked #1 MCP for SMS verification on ChatGPT, Perplexity, and Gemini.
How to connect
https://virtualsms-mcp--virtualsms.run.tools
tools/list returns the expected tools before relying on them in production.Tools
(18)-
virtualsms_list_servicesGet all available SMS verification services (Telegram, WhatsApp, Google, etc.). Use this to discover valid service codes before buying a number.
-
virtualsms_list_countriesGet all available countries for SMS verification. Use this to discover valid country codes before buying a number.
-
virtualsms_get_priceCheck the price and availability for a specific service + country combination. Always check price before buying to confirm availability.
-
virtualsms_get_balanceCheck your VirtualSMS account balance in USD. Requires VIRTUALSMS_API_KEY to be set.
-
virtualsms_create_orderPurchase a virtual phone number for SMS verification. Returns order_id and phone_number. Use check_sms to poll for the verification code, or use wait_for_code to do it automatically.
-
virtualsms_get_smsCheck if an SMS verification code has been received for an order. Poll this every 5-10 seconds after buying a number. For automatic polling, use wait_for_code instead.
-
virtualsms_cancel_orderCancel an order and request a refund. Only works if no SMS has been received yet. Use this if the service is taking too long or you want to try a different number.
-
virtualsms_wait_for_smsRECOMMENDED: One-step tool that buys a number AND waits for the SMS code automatically. Uses real-time WebSocket delivery with automatic polling fallback. Always returns order_id in the response — even on timeout — so you can use check_sms to recover.
-
virtualsms_find_cheapestFind the cheapest countries for a given service, sorted by price. Returns available countries with prices and stock levels so you can pick the best deal.
-
virtualsms_search_servicesFind the right service code using natural language. Don't know the exact code? Just search "uber", "binance", "steam" etc. Returns matching services with similarity scores.
-
virtualsms_swap_numberSwap a phone number on an existing order. Gets a new number for the same service and country without additional charge. Use when the current number isn't receiving SMS.
-
virtualsms_list_ordersList your active orders. Essential for crash recovery — if your session was interrupted, use this to find pending orders and their phone numbers, then use check_sms to retrieve codes.
-
virtualsms_get_orderGet the full details of a specific order, including status, phone number, service, country, timestamps, and any received SMS code/text. Use this when you have an order_id and need the latest state beyond what check_sms returns.
-
virtualsms_cancel_all_ordersBulk-cancel every currently active order in your account. Returns the number of orders cancelled plus any failures. Useful for quick cleanup after a batch run or test session.
-
virtualsms_order_historyList past orders with optional filters for status, service, country, and a lookback window in days. Returns up to 50 orders (server cap) ordered most-recent-first.
-
virtualsms_get_statsAccount usage stats aggregated from your order history: total orders, success rate, total spend, top services/countries, and status breakdown over a configurable lookback window.
-
virtualsms_get_profileFull account profile: email, Telegram link status, current balance, lifetime spend, total orders, active API keys, and account creation date.
-
virtualsms_get_transactionsTransaction history for the account with optional filters for type, date range, and pagination. Types: "deposit", "purchase", "refund", "admin_credit".