npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@platfone/mcp

v1.1.8

Published

MCP server for virtual phone number verification — SMS activations for AI agents via Claude, Cursor, VS Code Copilot

Readme

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.

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

| 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.