Twilio MCP Server
Send SMS, make voice calls, and send WhatsApp messages from workflows
The Twilio MCP server lets your workflows send SMS messages, make voice calls with TwiML instructions, and send WhatsApp messages.
Setup
- Sign up at twilio.com and get your credentials from the Twilio Console dashboard.
- Go to Settings > MCP Servers > Add Server.
- Select Twilio.
- Enter the configuration:
| Field | Required | Description |
|---|---|---|
accountSid | Yes | Twilio Account SID (starts with AC) |
authToken | Yes | Twilio Auth Token |
fromNumber | No | Default sender phone number in E.164 format (e.g., +14155551234) |
- Click Save.
For WhatsApp, you need a Twilio-approved WhatsApp sender. Follow Twilio's WhatsApp setup guide to configure your number.
Tools
send_sms
Send an SMS message.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Recipient phone number in E.164 format (e.g., +14155551234) |
body | string | Yes | SMS message body (max 1600 characters) |
from | string | No | Sender number (defaults to configured fromNumber) |
Returns the message SID and delivery status.
make_call
Make a voice call using TwiML for call instructions.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Recipient phone number in E.164 format |
twiml | string | Yes | TwiML instructions (e.g., <Response><Say>Hello!</Say></Response>) |
from | string | No | Caller number (defaults to configured fromNumber) |
timeout | number | No | Seconds to wait for answer (default: 30, max: 600) |
send_whatsapp
Send a WhatsApp message.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Recipient phone number in E.164 format |
body | string | Yes | Message body |
from | string | No | Sender number (defaults to configured fromNumber with whatsapp: prefix) |
media_url | string | No | URL of media to attach (image, PDF, etc.) |
The whatsapp: prefix is added automatically to both sender and recipient numbers if not already present.
get_message_status
Check the delivery status of a sent message.
| Parameter | Type | Required | Description |
|---|---|---|---|
message_sid | string | Yes | Message SID (returned from send_sms or send_whatsapp) |
Returns status, delivery timestamps, price, and any error details.
list_messages
List recent sent and received messages.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | No | Filter by recipient number |
from | string | No | Filter by sender number |
limit | number | No | Max messages to return (default: 20, max: 100) |
get_account_info
Get Twilio account details and current balance. No required parameters.
Example Workflow
An alert notification workflow:
- Trigger -- Webhook receives an alert from a monitoring system
- Agent -- Analyze alert severity and compose message
- Logic -- Switch on severity level
- Critical:
twilio:make_callwith TwiML voice alert - High:
twilio:send_smswith alert details - Medium:
twilio:send_whatsappwith summary
- Critical: