npm sms-florin-mcpstdioMITupdated 19d ago
MCP server for sms-florin — lets AI coding agents (Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline...) rent a real UK phone number and receive an SMS/OTP verification code directly inside an agentic workflow. Useful when an agent is testing a signup/verification flow and needs a real code instead of a mocked one.
What can you do with sms florin mcp?
sms-florin-mcp
MCP server for sms-florin — lets AI coding agents (Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline...) rent a real UK phone number and receive an SMS/OTP verification code directly inside an agentic workflow. Useful when an agent is testing a signup/verification flow and needs a real code instead of a mocked one.
Numbers are real SIM cards on UK carrier networks (EE/Three) — not VoIP — via sms-florin's own GOIP hardware.
Setup
Get an API key at flo-voice1.com/api-access (balance is shared with your regular account).
Claude Code / Claude Desktop
claude mcp add sms-florin -e SMS_FLORIN_API_KEY=your_key_here -- npx -y sms-florin-mcp
Or in claude_desktop_config.json:
{
"mcpServers": {
"sms-florin": {
"command": "npx",
"args": ["-y", "sms-florin-mcp"],
"env": { "SMS_FLORIN_API_KEY": "your_key_here" }
}
}
}
Cursor / Windsurf / other MCP clients
Same shape — point the client's MCP config at npx -y sms-florin-mcp with SMS_FLORIN_API_KEY set in the env.
Tools
| Tool | Description |
|---|---|
list_services |
List available services (WhatsApp, Telegram, Google, Discord...) and their prices. |
rent_number |
Rent a number for a service (instant or monthly), debiting your balance. Returns a rentalId. |
get_rental |
Check a rental's status, phone number, and any SMS received so far. |
wait_for_sms |
Block until the first SMS/OTP arrives, or time out — the one-step way to get a code in an automated flow. |
Example flow
Rent a WhatsApp number and wait for the verification code.
The agent calls rent_number({ serviceSlug: "whatsapp" }), then wait_for_sms({ rentalId }), and gets the code back to type into the signup form it's testing.
Need one for your own API?
I build custom MCP servers like this one — npm package, published to the official Anthropic MCP registry / Docker MCP catalog / Glama, same setup as above. Details on Fiverr, starting at $90.
License
MIT
Install
Add sms florin mcp to your client. Pick the one you use.
claude mcp add sms-florin-mcp -- npx -y sms-florin-mcpcodex mcp add sms-florin-mcp -- npx -y sms-florin-mcpamp mcp add sms-florin-mcp -- npx -y sms-florin-mcp{
"mcpServers": {
"sms-florin-mcp": {
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sms-florin-mcp": {
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"sms-florin-mcp","command":"npx","args":["-y","sms-florin-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"sms-florin-mcp": {
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sms-florin-mcp": {
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sms-florin-mcp": {
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sms-florin-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"sms-florin-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sms-florin-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"sms-florin-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y sms-florin-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
4 tools
sms florin mcp exposes 4 tools to a connected agent.
- list_services
- List available services (WhatsApp, Telegram, Google, Discord...) and their prices.
- rent_number
- Rent a number for a service (`instant` or `monthly`), debiting your balance. Returns a `rentalId`.
- get_rental
- Check a rental's status, phone number, and any SMS received so far.
- wait_for_sms
- Block until the first SMS/OTP arrives, or time out — the one-step way to get a code in an automated flow.
Score
72 / 100
Good
- Documentation22/25
- Maintenance19/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 11 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 4 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.1.2Latest | Aug 10, 2026 |
| 0.1.1 | Aug 5, 2026 |