Voice Calls, SMS, and WhatsApp for Claude Code with cross-channel context sharing.
Connect Runs on your machine
claude mcp add better-call-claude -e BETTERCALLCLAUDE_PHONE_PROVIDER=<BETTERCALLCLAUDE_PHONE_PROVIDER> -e BETTERCALLCLAUDE_PHONE_NUMBER=<BETTERCALLCLAUDE_PHONE_NUMBER> -e BETTERCALLCLAUDE_PHONE_ACCOUNT_SID=<BETTERCALLCLAUDE_PHONE_ACCOUNT_SID> -e BETTERCALLCLAUDE_PHONE_AUTH_TOKEN=<BETTERCALLCLAUDE_PHONE_AUTH_TOKEN> -e BETTERCALLCLAUDE_USER_PHONE_NUMBER=<BETTERCALLCLAUDE_USER_PHONE_NUMBER> -e BETTERCALLCLAUDE_OPENAI_API_KEY=<BETTERCALLCLAUDE_OPENAI_API_KEY> -e BETTERCALLCLAUDE_WHATSAPP_NUMBER=<BETTERCALLCLAUDE_WHATSAPP_NUMBER> -e BETTERCALLCLAUDE_PORT=<BETTERCALLCLAUDE_PORT> -e TAILSCALE_HOSTNAME=<TAILSCALE_HOSTNAME> -e BETTERCALLCLAUDE_WHATSAPP_PROVIDER=<BETTERCALLCLAUDE_WHATSAPP_PROVIDER> -e BETTERCALLCLAUDE_BAILEYS_AUTH_DIR=<BETTERCALLCLAUDE_BAILEYS_AUTH_DIR> -e BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE=<BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE> -- npx -y [email protected]
{
"mcpServers": {
"better-call-claude": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "<BETTERCALLCLAUDE_PHONE_PROVIDER>",
"BETTERCALLCLAUDE_PHONE_NUMBER": "<BETTERCALLCLAUDE_PHONE_NUMBER>",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "<BETTERCALLCLAUDE_PHONE_ACCOUNT_SID>",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "<BETTERCALLCLAUDE_PHONE_AUTH_TOKEN>",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "<BETTERCALLCLAUDE_USER_PHONE_NUMBER>",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "<BETTERCALLCLAUDE_OPENAI_API_KEY>",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "<BETTERCALLCLAUDE_WHATSAPP_NUMBER>",
"BETTERCALLCLAUDE_PORT": "<BETTERCALLCLAUDE_PORT>",
"TAILSCALE_HOSTNAME": "<TAILSCALE_HOSTNAME>",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "<BETTERCALLCLAUDE_WHATSAPP_PROVIDER>",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "<BETTERCALLCLAUDE_BAILEYS_AUTH_DIR>",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "<BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE>"
}
}
}
}
{
"mcpServers": {
"better-call-claude": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "<BETTERCALLCLAUDE_PHONE_PROVIDER>",
"BETTERCALLCLAUDE_PHONE_NUMBER": "<BETTERCALLCLAUDE_PHONE_NUMBER>",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "<BETTERCALLCLAUDE_PHONE_ACCOUNT_SID>",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "<BETTERCALLCLAUDE_PHONE_AUTH_TOKEN>",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "<BETTERCALLCLAUDE_USER_PHONE_NUMBER>",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "<BETTERCALLCLAUDE_OPENAI_API_KEY>",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "<BETTERCALLCLAUDE_WHATSAPP_NUMBER>",
"BETTERCALLCLAUDE_PORT": "<BETTERCALLCLAUDE_PORT>",
"TAILSCALE_HOSTNAME": "<TAILSCALE_HOSTNAME>",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "<BETTERCALLCLAUDE_WHATSAPP_PROVIDER>",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "<BETTERCALLCLAUDE_BAILEYS_AUTH_DIR>",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "<BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE>"
}
}
}
}
{
"servers": {
"better-call-claude": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"BETTERCALLCLAUDE_PHONE_PROVIDER": "<BETTERCALLCLAUDE_PHONE_PROVIDER>",
"BETTERCALLCLAUDE_PHONE_NUMBER": "<BETTERCALLCLAUDE_PHONE_NUMBER>",
"BETTERCALLCLAUDE_PHONE_ACCOUNT_SID": "<BETTERCALLCLAUDE_PHONE_ACCOUNT_SID>",
"BETTERCALLCLAUDE_PHONE_AUTH_TOKEN": "<BETTERCALLCLAUDE_PHONE_AUTH_TOKEN>",
"BETTERCALLCLAUDE_USER_PHONE_NUMBER": "<BETTERCALLCLAUDE_USER_PHONE_NUMBER>",
"BETTERCALLCLAUDE_OPENAI_API_KEY": "<BETTERCALLCLAUDE_OPENAI_API_KEY>",
"BETTERCALLCLAUDE_WHATSAPP_NUMBER": "<BETTERCALLCLAUDE_WHATSAPP_NUMBER>",
"BETTERCALLCLAUDE_PORT": "<BETTERCALLCLAUDE_PORT>",
"TAILSCALE_HOSTNAME": "<TAILSCALE_HOSTNAME>",
"BETTERCALLCLAUDE_WHATSAPP_PROVIDER": "<BETTERCALLCLAUDE_WHATSAPP_PROVIDER>",
"BETTERCALLCLAUDE_BAILEYS_AUTH_DIR": "<BETTERCALLCLAUDE_BAILEYS_AUTH_DIR>",
"BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE": "<BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
BETTERCALLCLAUDE_PHONE_PROVIDERRequired | Phone provider: 'twilio' or 'telnyx' |
BETTERCALLCLAUDE_PHONE_NUMBERRequired | Your phone number in E.164 format |
BETTERCALLCLAUDE_PHONE_ACCOUNT_SIDRequired, secret | Twilio Account SID or Telnyx API Key |
BETTERCALLCLAUDE_PHONE_AUTH_TOKENRequired, secret | Twilio Auth Token or Telnyx API Secret |
BETTERCALLCLAUDE_USER_PHONE_NUMBERRequired | Your personal phone number in E.164 format (for outbound calls/SMS) |
BETTERCALLCLAUDE_OPENAI_API_KEYRequired, secret | OpenAI API key for speech-to-text (Whisper) and text-to-speech |
BETTERCALLCLAUDE_WHATSAPP_NUMBEROptional | WhatsApp number if different from phone number (e.g., Twilio Sandbox) |
BETTERCALLCLAUDE_PORTOptional | Local HTTP server port |
TAILSCALE_HOSTNAMEOptional | Override Tailscale hostname for webhook URL |
BETTERCALLCLAUDE_WHATSAPP_PROVIDEROptional | WhatsApp provider: set to 'baileys' for free WhatsApp via WebSocket (no Twilio needed) |
BETTERCALLCLAUDE_BAILEYS_AUTH_DIROptional | Path to Baileys auth state directory (default: data/baileys-auth) |
BETTERCALLCLAUDE_WHATSAPP_CHAT_HISTORY_SIZEOptional | Max WhatsApp chat history messages to retain (default: 50) |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 23 Jul 2026 |
| Last updated | 23 Jul 2026 |
| Registry name | io.github.sns45/better-call-claude |
More communication servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
