Twilio WhatsApp FastMCP Server
Enables secure loading of configuration and credentials from .env files, supporting environment-based configuration for the MCP server.
Provides settings validation and management through pydantic-settings, ensuring proper configuration of the MCP server.
Enables sending WhatsApp messages through Twilio's API, requiring Twilio credentials and allowing specification of recipient numbers and message content.
Provides a tool for sending WhatsApp messages to specified phone numbers, with support for Twilio's WhatsApp sandbox or purchased WhatsApp numbers.
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., "@Twilio WhatsApp FastMCP Serversend a WhatsApp message to +15551234567 saying 'Meeting starts in 15 minutes'"
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.
Twilio WhatsApp FastMCP Server ๐ฌ
This project provides a simple FastMCP server that allows sending WhatsApp messages using the Twilio API.
Features
๐ฒ Sends WhatsApp messages via Twilio.
๐ค Exposes a
send_whatsapptool for use with FastMCP clients (like AI models).๐ Loads configuration securely from a
.envfile.๐งช Includes a basic test script (
/home/rj/Code/mcp-generated/twilio_test.py) for direct Twilio API interaction.
Related MCP server: pywa-mcp-server
Setup
Get the Code: Clone this repository or download the source files into
/home/rj/Code/mcp-generated/.**Create a Virtual Environment (Recommended){ @@ -77,11 +77,11 @@
2. Running the Test Script
-The /home/rj/Code/mcp-generated/twilio_test.py script provides a way to directly test sending a message using your Twilio credentials without the FastMCP server.
+The /home/rj/Code/mcp-generated/twilio_test.py script provides a way to directly test sending a message using your Twilio credentials without the FastMCP server. ๐ ๏ธ
Modify the script: Ensure the
to=number in/home/rj/Code/mcp-generated/twilio_test.pyis a WhatsApp number linked to your Twilio Sandbox (if using the Sandbox) or any valid WhatsApp number (if using a purchased Twilio number). Thefrom_number should typically be your Twilio Sandbox number (whatsapp:+14155238886) or your purchased Twilio WhatsApp number.Run the script:
python /home/rj/Code/mcp-generated/twilio_test.py
```
This will attempt to send a hardcoded message ("Is this working?") from the specified Twilio number to the specified recipient.:**
bash ๐ฑ cd /home/rj/Code/mcp-generated/ python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
Install Dependencies: The necessary dependencies are listed in
/home/rj/Code/mcp-generated/whatsapp_server.py. You can install them using pip:pip install twilio python-dotenv pydantic-settings fastmcpAlternatively, if using the FastMCP framework features:
fastmcp install /home/rj/Code/mcp-generated/whatsapp_server.pyConfigure Environment Variables:
Sign up for a Twilio account if you don't have one.
Get your Account SID and Auth Token from the Twilio Console.
Set up the Twilio Sandbox for WhatsApp or configure a dedicated Twilio WhatsApp number.
Create a file named
.envin the project root directory (/home/rj/Code/mcp-generated/).Add your Twilio credentials and WhatsApp number to the
.envfile: ๐# /home/rj/Code/mcp-generated/.env TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx TWILIO_AUTH_TOKEN=your_auth_token_here TWILIO_WHATSAPP_NUMBER=+14155238886 # Use your Twilio WhatsApp number (Sandbox or purchased)Important: Replace the placeholder values with your actual credentials and number. Ensure the
TWILIO_WHATSAPP_NUMBERstarts with a+and includes the country code (E.164 format). Thewhatsapp_server.pyscript will automatically add the+if it's missing from the.envfile. โTrial Account Note: If you are using a Twilio trial account, the
TWILIO_WHATSAPP_NUMBERwill likely be the Twilio Sandbox number (+14155238886). You must enroll any recipient (to_number) phone numbers in your Twilio Sandbox via the Twilio console for messages to be delivered successfully. Sending to non-enrolled numbers requires upgrading your Twilio account.
Usage
1. Running the FastMCP Server
To make the send_whatsapp tool available for remote calls (e.g., from an AI model integrated with FastMCP):
python /home/rj/Code/mcp-generated/whatsapp_server.pyThe server will start and print the Twilio number it's configured to use. It will listen for incoming requests (by default via stdio, but FastMCP supports other transports). A FastMCP client can then call the send_whatsapp tool with to_number (including the whatsapp: prefix, e.g., whatsapp:+15551234567) and message arguments.
Example Interaction (Conceptual):
A client (like an AI ๐ค) might send a request like this (format depends on the transport):
{
"tool_name": "send_whatsapp",
"arguments": {
"to_number": "whatsapp:+15551234567",
"message": "Hello from the FastMCP server!"
}
}The server will process this, call the Twilio API, and return a confirmation or error message.
2. Running the Test Script
The /home/rj/Code/mcp-generated/twilio_test.py script provides a way to directly test sending a message using your Twilio credentials without the FastMCP server. ๐ ๏ธ
Modify the script: Ensure the
to=number in/home/rj/Code/mcp-generated/twilio_test.pyis a WhatsApp number linked to your Twilio Sandbox (if using the Sandbox) or any valid WhatsApp number (if using a purchased Twilio number). Thefrom_number should typically be your Twilio Sandbox number (whatsapp:+14155238886) or your purchased Twilio WhatsApp number.Run the script:
python /home/rj/Code/mcp-generated/twilio_test.pyThis will attempt to send a hardcoded message ("Is this working?") from the specified Twilio number to the specified recipient.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your own WhatsApp as an MCP server: read, search and send from any MCP client.
WhatsMCP connects Claude and other MCP-compatible AI agents directly to WhatsApp. Send and receive text, images, documents, and voice notes; manage groups (create, add/remove members, promote admins); look up contacts and profiles; follow channels; and read call and message history โ all through a standard MCP interface. For voice use cases, WhatsMCP offers SIP-based calling plans (inbound-only, or full inbound/outbound) so AI voice agents can answer and place WhatsApp calls, plus low-latency WebSocket integrations with voice agent providers like ElevenLabs. Multiple WhatsApp accounts can be paired and managed per workspace, with webhook support for real-time inbound message delivery to your own infrastructure.
Nifty's MCP server โ exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Sendbird โ chat users, channels, members, and messages from your AI client.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn implementation of the Model Context Protocol (MCP) server that exposes Twilio APIs to AI assistants and tools, allowing them to interact with Twilio services through the MCP protocol.112MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for the WhatsApp Cloud API via pywa. Auto-discovers ~100 tools โ send messages, manage templates, flows, QR codes, media, and business profile.1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server exposing WhatsApp Cloud API operations as tools for AI agents like Claude Code, Cursor, and Codex.MIT
- AlicenseNot gradedqualityBmaintenanceA least-privilege, send-only MCP server for WhatsApp, backed by Meta's official WhatsApp Cloud API. It exposes tools to send text messages and pre-approved templates.12 npmMIT