MCP Agents SMS
MCP server that enables AI agents to autonomously buy virtual phone numbers and receive SMS verification codes. Supports multiple providers (5sim, SMS-Activate, OnlineSim) with automatic cheapest-provider selection.
README
<div align="center">
<br/>
<h1>π± agents-sms</h1>
<p><strong>MCP server that gives AI agents the ability to buy phone numbers and receive SMS codes β fully autonomously.</strong></p>
<p> <a href="https://mcp-sms-nu.vercel.app"><img src="https://img.shields.io/badge/βοΈ_Hosted_Version-Free_to_try-6366f1?style=for-the-badge" alt="Hosted"/></a> Β <a href="#self-hosting"><img src="https://img.shields.io/badge/Self--host-MIT_License-22c55e?style=for-the-badge" alt="Self-host"/></a> Β <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-0ea5e9?style=for-the-badge" alt="MCP"/></a> Β <a href="https://discord.gg/FeUCmPdd"><img src="https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"/></a> </p>
<br/>
For agents β no API key juggling, no phone, no human in the loop.<br/> For humans β one config line and your agent handles SMS verification forever.
<br/>
</div>
How it works
Your agent calls three tools. That's the whole flow:
buy_number β get_sms β release_number
Live example:
β buy_number({ service: "github", country: "any" })
β { phone: "+14155552671", number_id: "abc123", provider: "5sim", price_usd: 0.15 }
[agent submits phone on GitHub]
β get_sms({ number_id: "abc123", provider: "5sim" })
β { status: "waiting" }
// ~10 seconds pass
β get_sms({ number_id: "abc123", provider: "5sim" })
β { status: "received", code: "847291" }
[agent enters code β account verified β]
No human needed. No phone needed. Works while you sleep.
βοΈ Hosted version β easiest way to start
<div align="center">
mcp-sms-nu.vercel.app
Top up with crypto β get API key β add to config β done
</div>
Three steps:
1. Top up balance at mcp-sms-nu.vercel.app β USDT, TON, BTC, ETH via CryptoBot. No KYC. Any amount.
2. Add to your MCP config:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"sms": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp-sms-server-production.up.railway.app/sse"]
}
}
}
Cursor / Windsurf (.cursor/mcp.json or .windsurf/mcp.json):
{
"mcpServers": {
"sms": {
"url": "https://mcp-sms-server-production.up.railway.app/sse"
}
}
}
3. Ask your agent to buy a number. It just works.
Pricing: from ~$0.10 per SMS. Pay as you go, no subscription. Prices reflect real-time provider rates.
π Tools
| Tool | Description |
|---|---|
buy_number |
Buy a virtual number for any service (Telegram, GitHub, WhatsApp, Googleβ¦) |
get_sms |
Poll for incoming SMS β returns code when received |
release_number |
Cancel a number and get a refund if no SMS arrived |
list_services |
Browse all available services with live prices |
get_provider_balance |
(self-hosted only) Check your provider account balance |
π‘ What agents use this for
- Bulk account creation β register N accounts overnight, agent handles every verification step
- CI/CD pipelines β test your own SMS flow without a real SIM card
- Research automation β access platforms that require phone verification
- Personal workflows β let Claude sign up for services on your behalf
Self-hosting
Want full control? Run it with your own provider API keys.
git clone https://github.com/gonchasobaka/agents-sms
cd agents-sms
npm install && npm run build
cp .env.example .env
# fill in your provider keys
MCP config (local):
{
"mcpServers": {
"sms": {
"command": "node",
"args": ["/absolute/path/to/agents-sms/dist/index.js"]
}
}
}
Supported providers β add at least one API key to .env:
| Provider | Sign up |
|---|---|
| 5sim.net | Free registration |
| sms-activate.org | Free registration |
| onlinesim.io | Free registration |
Multiple providers = automatic cheapest-first selection with fallback.
Works with
Claude Desktop Β· Cursor Β· Windsurf Β· any MCP-compatible client
<div align="center">
Built for the agentic era.
π Hosted version Β· π¬ Discord Β· π Issues
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.