Platfone - Receive SMS & Virtual Numbers MCP
officialVirtual phone number platform for AI agents — rent numbers across 200+ countries, receive SMS, and manage the full activation lifecycle
What can you do with Platfone Receive SMS & Virtual Numbers MCP?
- Check account balance — Ask the AI to retrieve your total, reserved, and available funds using
get_balance. - Verify cost and availability — Check pricing and number availability for a country and service pair with
check_pricebefore ordering. - Order a virtual number — Rent a temporary phone number by country and service name via
order_numberto receive an activation ID and phone number. - Poll for received SMS — Check whether an SMS code has arrived for an activation using
check_sms, with status and polling guidance returned. - Request a new SMS — Trigger a free retry to receive another SMS on the same number with
retry_activation. - Cancel and refund — Release an active activation and reclaim reserved funds using
cancel_activationbefore an SMS is received.
Documentation
Platfone MCP Server
Platfone provides virtual phone numbers for account verification, testing, and automation workflows. The Platfone MCP server enables AI agents to obtain temporary numbers and receive SMS messages from MCP-compatible clients like Claude, VS Code Copilot, Codex, etc.
📖 Docs · 🔧 Setup Guide · 🔑 Get API Key · 📦 npm
Why MCP?
Instead of manually integrating the API, AI agents can:
- Order numbers autonomously by country and service name
- Wait for SMS codes
- Retry or cancel activations
All via structured tool calls — no custom backend required.
Features
- Full activation lifecycle — from ordering a number to receiving SMS
- ETag-cached catalog — countries and services are cached in-memory with 5-minute TTL and ETag-based conditional refresh — never sent to the agent
- Human-friendly inputs — use "Israel" or "Telegram" instead of IDs; names are auto-resolved server-side
- Dual transport —
stdioandhttpfrom a single codebase - API key auth — works with your existing Platfone API key
Installation
See the full Installation Guide for detailed instructions.
Quick Start
NPM:
PLATFONE_API_KEY=your_key npx @platfone/mcp
Agent Guidelines
- Always call
check_pricefirst to verify cost and availability - Then call
order_numberto rent a number - Call
check_smsuntil SMS is received or expired - Use
retry_activationif no SMS arrives - Use
cancel_activationto release funds if no longer needed
Tools
| Tool | Description |
|---|---|
get_balance | Check account balance: total, reserved, and available funds. |
check_price | Check pricing and availability for a country + service pair before ordering. |
order_number | Order a virtual phone number. Accepts names ("Israel") or IDs ("il"). Returns activation_id + phone. |
check_sms | Poll activation state. Returns SMS code when received, or current status with polling instructions. |
retry_activation | Request another SMS on the same number. Free of charge. |
cancel_activation | Cancel an active activation before SMS is received. Refunds reserved amount. |
Note: Country and service catalogs are cached server-side and auto-resolved from human-readable names. The agent never receives the full catalog — only resolved IDs or disambiguation hints.
Typical AI Agent Flow
1. check_price (country: "Israel", service: "Telegram") → verify cost & availability
2. order_number (country: "Israel", service: "Telegram") → returns activation_id + phone
3. check_sms (activation_id) → poll or check once for SMS
Optional steps:
retry_activation— request another SMS on the same number (free)cancel_activation— cancel before SMS arrives (refunds balance)
Development
Read the full Development Guide for setup instructions and testing tips.
Troubleshooting
| Error | Solution |
|---|---|
UnauthorizedException | Check your PLATFONE_API_KEY is valid |
PaymentRequiredException | Top up your Platfone balance |
NoNumbersAvailableException | Try a different country or service |
TooManyRequestsException | Rate limited — wait and retry |
MaxPriceExceededException | Retry order_number with the suggested max_price and returned order_id |
TooManyActivationsException | Max concurrent active activations reached — cancel or wait for expiry |
License
See LICENSE.md. Licensed under the MIT License.
Use of the Platfone API is subject to Terms of Service and Privacy Policy.