VirtualSMS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIRTUALSMS_API_KEY | Yes | Your VirtualSMS API key (required for auth tools) | |
| VIRTUALSMS_BASE_URL | No | API base URL | https://virtualsms.io |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| virtualsms_list_servicesA | Get all available SMS verification services (Telegram, WhatsApp, Google, etc.). Use this to discover valid service codes before buying a number. |
| virtualsms_list_countriesA | Get all available countries for SMS verification. Use this to discover valid country codes before buying a number. |
| virtualsms_get_priceA | Check the price and availability for a specific service + country combination. Always check price before buying to confirm availability. |
| virtualsms_get_balanceA | Check your VirtualSMS account balance in USD. Requires VIRTUALSMS_API_KEY to be set. |
| virtualsms_create_orderA | Purchase 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_smsA | Check if an SMS verification code has been received for an order. Returns status, phone_number, and (when delivered) messages[] array plus an extracted code. Poll this every 5-10 seconds after buying a number, or use wait_for_sms to block until delivery. |
| virtualsms_cancel_orderA | Cancel 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. Cooldown: cancel is only available 120 seconds after purchase. Check |
| virtualsms_wait_for_smsA | Wait (block) until the SMS arrives on an existing order_id, or until timeout. Uses real-time WebSocket delivery with automatic polling fallback. Pass an order_id from create_order. To buy AND wait in one step, call create_order then this tool. |
| virtualsms_find_cheapestA | Find 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_servicesA | Find 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_numberA | Swap 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. Cooldown: swap is only available 120 seconds after purchase. Check |
| virtualsms_list_ordersA | List 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_orderA | Get 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_ordersA | Bulk-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_historyA | List 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_statsA | Account 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_profileA | Full account profile: email, Telegram link status, current balance, lifetime spend, total orders, active API keys, and account creation date. |
| virtualsms_get_transactionsB | Transaction history for the account with optional filters for type, date range, and pagination. Types: "deposit", "purchase", "refund", "admin_credit". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| verify-whatsapp | Complete workflow to get a WhatsApp verification code using a virtual number. Finds the cheapest available country, buys a number, and waits for the SMS code automatically. |
| verify-telegram | Complete workflow to verify a Telegram account with a virtual number. Automatically selects cheapest available country and waits for the SMS code. |
| verify-google | Get a Google account verification code via virtual phone number. Useful for creating or recovering Google/Gmail accounts. |
| find-cheapest-number | Find the cheapest virtual phone number for any service. Returns top countries sorted by price with stock availability. |
| verify-any-service | Universal SMS verification workflow. Searches for the service by name, finds the cheapest country, buys a number, and waits for the verification code. |
| recover-verification | Recover an interrupted SMS verification session. Lists active orders and checks for pending verification codes — useful after a crash or timeout. |
| check-account-status | Check your VirtualSMS account balance and list all active orders in one shot. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Quickstart Guide | Step-by-step guide to get your first SMS verification code with VirtualSMS MCP. |
| Popular Services Reference | Commonly used service codes for WhatsApp, Telegram, Google, and other top services. |
| Pricing Tips | Tips on finding the cheapest virtual numbers and maximizing your VirtualSMS budget. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/virtualsms-io/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server