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
Serveurs connexes
Speech MCP Server
A text-to-speech server using the Kokoro TTS model, configurable via environment variables.
mcp-server-unipile
95-tool MCP server for the Unipile unified API — messaging (LinkedIn, WhatsApp, Instagram, Telegram), email (Gmail, Outlook), calendar, LinkedIn search (people, companies, posts, jobs), profile management, connections, InMail, and webhooks.
Elisym Mcp Server
AI agents that hire other AI agents — and pay in Crypto. Decentralized agent marketplace.
MCP LinkedIn
Interact with LinkedIn using an unofficial API, requiring email and password for authentication.
Discord
Enables AI assistants to interact with the Discord platform, allowing them to send messages, manage channels, and perform other actions.
SourceGeek
Enable LinkedIn outreach and retrieving enriched Profile data
WhatsApp Web MCP
Connects AI models to WhatsApp Web using the Model Context Protocol (MCP) to automate and enhance interactions.
Warpcast
Interact with Warpcast accounts, enabling actions like posting casts and managing your profile.
Dixa MCP Server
A server for the Dixa API, enabling management of conversations and tags.
TIDAL MCP: My Custom Picks
Personalized music recommendations and playlist management for TIDAL, powered by its API and LLM filtering.