Platfone - Receive SMS & Virtual Numbers MCP

official

Virtual 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_price before ordering.
  • Order a virtual number — Rent a temporary phone number by country and service name via order_number to 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_activation before an SMS is received.

Documentation

Platfone MCP Server

npm version npm downloads License: MIT Smithery

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 transportstdio and http from 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_price first to verify cost and availability
  • Then call order_number to rent a number
  • Call check_sms until SMS is received or expired
  • Use retry_activation if no SMS arrives
  • Use cancel_activation to release funds if no longer needed

Tools

ToolDescription
get_balanceCheck account balance: total, reserved, and available funds.
check_priceCheck pricing and availability for a country + service pair before ordering.
order_numberOrder a virtual phone number. Accepts names ("Israel") or IDs ("il"). Returns activation_id + phone.
check_smsPoll activation state. Returns SMS code when received, or current status with polling instructions.
retry_activationRequest another SMS on the same number. Free of charge.
cancel_activationCancel 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

ErrorSolution
UnauthorizedExceptionCheck your PLATFONE_API_KEY is valid
PaymentRequiredExceptionTop up your Platfone balance
NoNumbersAvailableExceptionTry a different country or service
TooManyRequestsExceptionRate limited — wait and retry
MaxPriceExceededExceptionRetry order_number with the suggested max_price and returned order_id
TooManyActivationsExceptionMax 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.