nadanada_me
A public MCP server that gives AI agents access to real UK carrier phone numbers for SMS verification. Agents can rent disposable or rental numbers, pay Lightning invoices, and read incoming SMS, all through standard MCP tool calls with no authentication required.
Phone MCP Server
Standalone MCP adapter for lnvpn-web-app/app/api/v2/phone/*.
This service is additive only: it does not change existing phone API routes or behavior.
What It Exposes
Tools mapped 1:1 to your existing API:
phone.purchase.start->POST /api/v2/phone/purchasephone.purchase.complete->POST /api/v2/phone/completephone.renew.start->POST /api/v2/phone/renewphone.renew.complete->POST /api/v2/phone/renew/completephone.numbers.list->GET /api/v2/phone/numbersphone.messages.list->GET /api/v2/phone/messages/{phoneNumber}
Security Model
By default, the server runs in hmac mode (MCP_AUTH_MODE=hmac).
Each request to /mcp must include:
X-Client-IdX-Timestamp(unix ms)X-Nonce(UUID recommended)X-Body-SHA256(sha256 hex of stable JSON body)X-Signature(v1=<hex_hmac>)
Canonical signing string:
{METHOD}\n{PATH}\n{X-Timestamp}\n{X-Nonce}\n{X-Body-SHA256}
Signature:
hex(HMAC_SHA256(canonical, client_secret))
Controls:
- timestamp skew protection (
HMAC_ALLOWED_SKEW_MS) - one-time nonce replay protection (Redis recommended)
- per-client rate limit
- per-client allowed tool list
If you want a fully open endpoint, set MCP_AUTH_MODE=open.
In open mode, MCP client auth is disabled and requests are accepted without HMAC headers.
Configuration
Create a .env file in the project root and set real values.
The server auto-loads .env at startup.
Important variables:
MCP_AUTH_MODE:hmacoropenMCP_CLIENTS_JSON: required inhmacmode
MCP_CLIENTS_JSON format:
{
"agentA": {
"secret": "replace-with-long-random-secret",
"allowedTools": [
"phone.purchase.start",
"phone.purchase.complete",
"phone.renew.start",
"phone.renew.complete",
"phone.numbers.list",
"phone.messages.list"
],
"rateLimitPerMinute": 120
}
}
Run
npm install
npm run dev
Build + production:
npm run build
npm run start
Deploy
- PM2 config template:
ecosystem.config.cjs - Nginx template:
nginx.phone-mcp.conf.example
Suggested edge:
Cloudflare -> Nginx -> phone-mcp (PM2) -> existing phone API
関連サーバー
mcp2mqtt
An MCP service for device communication and PWM control via the MQTT protocol.
AgentSIM
Real SIM-backed mobile numbers for AI agents. Provision phone numbers, receive SMS, and capture OTP codes — bypasses VoIP blocks that reject Twilio/Vonage. 5 tools: provision_number, wait_for_otp, get_messages, release_number, list_numbers.
Webhooks MCP
Send HTTP requests to webhooks with dynamic parameters.
mcp-whatsapp
Local MCP server for a personal WhatsApp account. Single Go binary wrapping whatsmeow. Adds LID resolution, sent-message storage, disappearing-message timers, targeted history sync. Personal-use; Meta ToS applies.
dTelecom STT
Real-time speech-to-text for AI assistants. Transcribe audio files with production-grade accuracy. Pay per use with USDC via x402 — no API keys needed.
Slack
An MCP server for interacting with the Slack API, allowing for sending messages, managing channels, and other workspace actions.
MCP Relay
A Discord relay server to send messages and prompts to a channel and receive responses.
MCP反馈收集器
An MCP server for collecting interactive user feedback through a graphical user interface.
Nostr MCP Server
An MCP server that provides Nostr capabilities to LLMs, enabling interaction with the decentralized social network protocol.
Yazio MCP
MCP server for accessing Yazio user & nutrition data (unofficial)