Butt-Dial MCP
Give your AI clients a phone number. Calls, SMS, email, and WhatsApp — one MCP server, all channels.
Butt-Dial is an open-source MCP server that gives AI clients full communication abilities. Your client connects via SSE, discovers tools, and starts making calls and sending messages. The server handles all the plumbing — Twilio, Resend, TTS — so your client just talks.
Key Features
- Phone Calls — Real-time AI voice conversations with ConversationRelay
- SMS — Two-way text messaging with MMS media support
- Email — Transactional and conversational, with HTML and attachments
- WhatsApp — Rich messaging: text, media, voice notes, location, polls, interactive buttons
- LINE — LINE Official Account messaging
- 5 Voice Services — Voice Message (one-way audio), Secretary (LLM handles calls), Agent/Live (agent controls call), Bridge (connect parties), Impersonator (LLM mimics agent live)
- Isolated Sessions — Every conversation is a secure tunnel. Thousands concurrent, multi-party, durable
- Cross-Channel OTP — Verify identity across channels. Voice caller → SMS OTP. Unknown WhatsApp → email verification
- Agent-to-Agent — AI clients find and message each other. Multi-agent workflows
- WhatsApp Rich Actions — 13 actions: location, contact, typing, read receipts, reactions, edit, delete, forward, polls, buttons, status posts, ephemeral chat TTL, view-once media
- Self-Hosted WhatsApp (WAHA) — Free, unlimited sessions. Docker one-command deploy
- Media Proxy — Authenticated media (Twilio) served through public URLs. Agents always get accessible media
- Pluggable Providers — Swap Twilio for Vonage, ElevenLabs for OpenAI TTS, Deepgram for STT, etc.
- Human-Like Communication — Built-in behavioral rules for natural messaging (no bot-tells, medium-aware)
- Multi-Tenant — Per-client billing, rate limiting, and compliance
- Self-Hosted — Your data, your servers. Deploy anywhere.
Quick Start
git clone https://github.com/95percent-ai/butt-dial.git
cd butt-dial
npm install
cp .env.example .env
npm run build
node dist/index.js
Then open http://localhost:3100/admin/setup to configure your providers.
Demo Mode
Set DEMO_MODE=true in .env to run with mock providers. No real API calls, no costs. All tools work with simulated responses — perfect for development and testing.
Connect Your AI Client
GET http://localhost:3100/sse
Authorization: Bearer <client-token>
Any MCP-compatible client works: Claude Desktop, Cursor, or custom orchestrators. 47 MCP tools, 5 channels + A2A.