Phone MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Phone MCPget the phone number and wait for the SMS code from Uber"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Phone MCP
A real Android phone with a real SIM, exposed to AI agents as a single MCP tool set: the Company Phone.
AI Agent → Phone MCP (https://phonemcp.agent24.io/mcp) → Phone MCP Bridge (Android) → Real SIM / mobile networkAn agent signing up for an external service calls get_phone_number, types the number into the
form, then calls wait_for_verification_code and receives the SMS code seconds later. The owner
pairs the phone once from the web interface and never has to touch it again.
Web interface | |
MCP endpoint (Streamable HTTP) | |
Health | |
Android APK |
|
What is in the box
Directory | Contents |
| Node.js 22 + TypeScript + Fastify service: MCP server ( |
| Premium admin + Test Lab interface (Vite, React, TypeScript, Tailwind v4, Framer Motion), served by the server. |
| Phone MCP Bridge — Kotlin / Jetpack Compose app with a foreground service, offline queue and QR pairing. |
|
|
| Architecture · Deployment · Android setup · MCP usage · Security |
Related MCP server: AgentPhone MCP Server
MCP tools
Tool | Purpose |
| Paired phones and their connection state |
| Battery, network, heartbeat, round-trip time |
| The company phone number ( |
| Block until the OTP for |
| Block until the next SMS (optionally filtered by sender / text) |
| Recent messages with codes masked |
Quick start (development)
export PATH=$HOME/.local/node22/bin:$PATH # Node 22 on this machine
npm install
ADMIN_INITIAL_PASSWORD=devpassword123 npm run dev --workspace=server # http://127.0.0.1:7870
npm run dev --workspace=web # http://localhost:5173 (proxies /api)
npm test # OTP + end-to-end suitesWithout a phone you can simulate one: generate a pairing code in the web UI, then
cd server
npx tsx scripts/simulate-device.ts pair http://127.0.0.1:7870 7KQ4-M2XN # prints the device credential
npx tsx scripts/simulate-device.ts run http://127.0.0.1:7870 dev_….pds_… +15551234567and type +18005550100|Your Phone MCP Test code is 482931 to deliver an SMS.
Production
./deploy/deploy.sh builds the web app and server, syncs them to /srv/phonemcp on the
production host, installs the systemd unit, brings up the Traefik edge container and checks
/health. The initial owner password is generated into /srv/phonemcp/phonemcp.env on the first
deploy. Details: docs/DEPLOYMENT.md.
Security model in one paragraph
Three independent credentials: the owner's HttpOnly session cookie for the web UI, a per-device
credential (dev_….pds_…) that only the Android app holds, and per-client MCP bearer tokens
(pmcp_…) shown once at creation. All three are stored as keyed hashes. Verification codes are
delivered exactly once, never written to logs or audit events, masked in every listing, and deleted
from the database after the OTP retention window (10 minutes by default). SMS history is kept for
48 hours by default. See docs/SECURITY.md.
Related MCP Connectors
Give AI agents real phone numbers, messages, and voice calls via MCP.
Give AI agents a phone number. Voice calls, SMS, and phone number management for MCP clients.
Virtual phone numbers for AI agents — rent numbers in 200+ countries, receive SMS.
Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables AI agents to manage SimRelay SIMs: list, lock, release, read SMS history, and stream incoming messages in real-time via WebSocket.116 npmISC- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage phone numbers, send/receive SMS, and place voice calls through natural language, connecting to the phone network via the AgentPhone API.4,317 npm121MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to retrieve SMS messages from Android devices via ADB.1-
- AlicenseAqualityDmaintenanceGives AI agents real phone numbers to receive SMS and extract verification codes through tool calls.621 npmMIT