A simple server that enables AI models to send WhatsApp messages via the Twilio API by exposing a send\_whatsapp tool through the FastMCP framework.
This project provides a simple FastMCP server that allows sending WhatsApp messages using the Twilio API.
send_whatsapp
tool for use with FastMCP clients (like AI models)..env
file./home/rj/Code/mcp-generated/twilio_test.py
) for direct Twilio API interaction.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 @@
-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. ๐ ๏ธ
to=
number in /home/rj/Code/mcp-generated/twilio_test.py
is a WhatsApp number linked to your Twilio Sandbox (if using the Sandbox) or any valid WhatsApp number (if using a purchased Twilio number). The from_
number should typically be your Twilio Sandbox number (whatsapp:+14155238886
) or your purchased Twilio WhatsApp number.undefined
undefined
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 fastmcp
Alternatively, if using the FastMCP framework features:
fastmcp install /home/rj/Code/mcp-generated/whatsapp_server.py
Configure Environment Variables:
.env
in the project root directory (/home/rj/Code/mcp-generated/
)..env
file:
๐
# /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)
TWILIO_WHATSAPP_NUMBER
starts with a +
and includes the country code (E.164 format). The whatsapp_server.py
script will automatically add the +
if it's missing from the .env
file.
โTWILIO_WHATSAPP_NUMBER
will 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.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.py
The 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.
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. ๐ ๏ธ
to=
number in /home/rj/Code/mcp-generated/twilio_test.py
is a WhatsApp number linked to your Twilio Sandbox (if using the Sandbox) or any valid WhatsApp number (if using a purchased Twilio number). The from_
number should typically be your Twilio Sandbox number (whatsapp:+14155238886
) or your purchased Twilio WhatsApp number.This will attempt to send a hardcoded message ("Is this working?") from the specified Twilio number to the specified recipient.python /home/rj/Code/mcp-generated/twilio_test.py
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!