Twilio WhatsApp FastMCP Server

Twilio WhatsApp FastMCP Server

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.

Category
Visit Server

README

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_whatsapp tool for use with FastMCP clients (like AI models).
  • 🔒 Loads configuration securely from a .env file.
  • 🧪 Includes a basic test script (/home/rj/Code/mcp-generated/twilio_test.py) for direct Twilio API interaction.

Setup

  1. Get the Code: Clone this repository or download the source files into /home/rj/Code/mcp-generated/.

  2. **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.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.
  • 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`

  1. 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
    
  2. Configure 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 .env in the project root directory (/home/rj/Code/mcp-generated/).
    • Add your Twilio credentials and WhatsApp number to the .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)
      
    • Important: Replace the placeholder values with your actual credentials and number. Ensure the 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. ❗
    • Trial Account Note: If you are using a Twilio trial account, the 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.

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.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.

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.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.
  • 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured