Connects Claude to Platfone's virtual phone number API for programmatic SMS verification. Exposes six tools: check pricing and availability by country and service, order numbers in 200+ countries, poll for incoming SMS codes, retry or cancel activations. The server handles name resolution server-side so you can pass "Israel" and "Telegram" instead of numeric IDs. Useful when you're building agents that need to verify accounts, test signup flows, or automate anything requiring disposable phone numbers. Supports both stdio and HTTP transports. Requires a Platfone API key and sufficient account balance to rent numbers.
Public tool metadata for what this MCP can expose to an agent.
get_balanceReturns the current Platfone account balance: total available funds and the amount reserved by active orders. All values are in USD cents. Use this after a 402 error to inform the user how much they need to top up.Returns the current Platfone account balance: total available funds and the amount reserved by active orders. All values are in USD cents. Use this after a 402 error to inform the user how much they need to top up.
No parameter schema in public metadata yet.
check_priceCheck pricing for a country + service pair before ordering. Returns min, max, and suggested price, average quality score, and number of available phone numbers. Use this before order_number to verify cost and availability. Accepts country and service as human-readable names or...3 paramsCheck pricing for a country + service pair before ordering. Returns min, max, and suggested price, average quality score, and number of available phone numbers. Use this before order_number to verify cost and availability. Accepts country and service as human-readable names or...
countrystringservicestringmax_priceintegerorder_numberRent a virtual phone number via the Platfone API for the given country and service category. Returns phone number, activation_id, resolved country & service names, price, expiry time, retriable flag, and whether/when the activation can be canceled. Accepts country and service...4 paramsRent a virtual phone number via the Platfone API for the given country and service category. Returns phone number, activation_id, resolved country & service names, price, expiry time, retriable flag, and whether/when the activation can be canceled. Accepts country and service...
countrystringservicestringmax_priceintegerquality_factorintegercheck_smsRetrieve the current state of a Platfone activation: SMS text, parsed code, status, and expiration. Can be used to poll periodically or check once on demand.1 paramsRetrieve the current state of a Platfone activation: SMS text, parsed code, status, and expiration. Can be used to poll periodically or check once on demand.
activation_idstringcancel_activationCancel a Platfone activation and release the phone number. Allowed when activation_status is "active", sms_status is "smsRequested", and the cancelable_after timestamp has passed. If cancelable_after is null, cancellation is not supported.1 paramsCancel a Platfone activation and release the phone number. Allowed when activation_status is "active", sms_status is "smsRequested", and the cancelable_after timestamp has passed. If cancelable_after is null, cancellation is not supported.
activation_idstringretry_activationRequest an additional SMS on the same Platfone number. Overwrites the previous SMS data with the next message. Free of charge. Only possible when sms_status is "smsReceived" or "retryReceived", activation_status is "active", and is_retriable is true. After calling, poll check_...1 paramsRequest an additional SMS on the same Platfone number. Overwrites the previous SMS data with the next message. Free of charge. Only possible when sms_status is "smsReceived" or "retryReceived", activation_status is "active", and is_retriable is true. After calling, poll check_...
activation_idstringPlatfone 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
Instead of manually integrating the API, AI agents can:
All via structured tool calls — no custom backend required.
stdio and http from a single codebaseSee the full Installation Guide for detailed instructions.
NPM:
PLATFONE_API_KEY=your_key npx @platfone/mcp
check_price first to verify cost and availabilityorder_number to rent a numbercheck_sms until SMS is received or expiredretry_activation if no SMS arrivescancel_activation to release funds if no longer needed| 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.
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)Read the full Development Guide for setup instructions and testing tips.
| 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 |
See LICENSE.md. Licensed under the MIT License.
Use of the Platfone API is subject to Terms of Service and Privacy Policy.
PLATFONE_API_KEY*secretYour Platfone API key from https://platfone.com/app/api
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp