Swap and cancel unlock 120 seconds after purchase and the order carries the exact timestamp; a rental refunds only inside 20 minutes and only before any SMS has arrived. That matters because an agent driving this is spending real balance, and the failure mode is calling too early and burning the order. Two other details are worth reading before you build on it: generate_proxy_endpoint composes a connection string without changing anything server-side, while set_proxy_targeting writes a stored default and bills refined targeting at 2x on your own allocation. The cloud browser sessions are invite-only beta.
A client for the VirtualSMS platform, which puts one-time SMS verification, dedicated number rentals, matching-country proxies and cloud browser sessions behind a single API and a single prepaid balance. Forty tools, and the numbers are carrier-issued mobile lines rather than VoIP.
- The verification loop end to end: find the service code by natural language, check price and stock for a service and country, buy the number, and either poll for the code or block until it lands, typically 2 to 15 seconds (virtualsms_search_services, virtualsms_get_price, virtualsms_create_order, virtualsms_get_sms, virtualsms_wait_for_sms).
- Recovery paths when a code does not arrive: ask the provider to resend to the same number, swap to a new number for the same service at no extra charge, or cancel for a refund — swap and cancel both unlock 120 seconds after purchase, and the order carries the timestamp saying when (virtualsms_retry_order, virtualsms_swap_number, virtualsms_cancel_order).
- Crash recovery as a first-class case: list the active orders to find pending numbers after an interrupted session, read one order in full, or bulk-cancel everything after a test run (virtualsms_list_orders, virtualsms_get_order, virtualsms_cancel_all_orders).
- Price discovery before spending: the cheapest countries for a service ranked with stock levels, plus the full service and country catalogues (virtualsms_find_cheapest, virtualsms_list_services, virtualsms_list_countries).
- Rentals in two tiers — full_access on local SIM inventory, which works across any service on that number, and platform tier, which is locked to one chosen service — with availability, pricing, extension, and a full refund only within 20 minutes of purchase and before any SMS arrives (virtualsms_create_rental, virtualsms_rentals_available, virtualsms_rentals_services, virtualsms_rentals_price, virtualsms_list_rentals, virtualsms_get_rental, virtualsms_extend_rental, virtualsms_cancel_rental).
- Proxies bought by the gigabyte from residential, mobile and datacenter pools, tested for their real exit IP, country, city, ISP and latency, and rotated when an endpoint flags the current IP (virtualsms_list_proxy_catalog, virtualsms_buy_proxy, virtualsms_test_proxy, virtualsms_rotate_proxy, virtualsms_list_proxies).
- Proxy targeting in two forms the tools keep separate: a stored default on the sub-user, and a connection string composed per use with country, state, city, zip or ASN, rotating or sticky, HTTP or SOCKS5, in three output formats — the latter changes nothing server-side (virtualsms_set_proxy_targeting, virtualsms_generate_proxy_endpoint, virtualsms_list_proxy_locations).
- Traffic accounting per proxy: a cached used-and-remaining figure refreshed roughly every five minutes, and a per-day gigabyte and request series over the last 7 or 30 days (virtualsms_get_proxy_usage, virtualsms_get_proxy_usage_history).
- Account-level reporting: balance, full profile with lifetime spend and active keys, transaction history filtered by type, past orders with filters over a lookback window, and aggregate stats including success rate and top services (virtualsms_get_balance, virtualsms_get_profile, virtualsms_get_transactions, virtualsms_order_history, virtualsms_get_stats).
- A carrier and line-type lookup for any E.164 number — mobile, landline or VoIP, with spam risk — which needs no API key at all (virtualsms_check_number).
- A country-matched cloud browser you drive yourself through an authenticated live-viewer link, in invite-only beta (virtualsms_start_manual_registration_session).
A VirtualSMS account with a prepaid balance, and its API key in the vsms_ form. The hosted endpoint at https://mcp.virtualsms.io/mcp needs nothing installed — the key travels in an x-api-key header — or run it locally with `npx virtualsms-mcp` over stdio and VIRTUALSMS_API_KEY set. Verification, rentals and proxies all draw from the same balance. The number-lookup tool works without a key.
One command plus a key — npx virtualsms-mcp, then supply credentials
