Twilio WhatsApp消息发送工具
一个简单的服务器,通过FastMCP框架暴露一个send_whatsapp工具,从而 enables AI 模型通过Twilio API发送WhatsApp消息。
服务介绍
Twilio WhatsApp FastMCP 服务器 💬
该项目提供了一个简单的 FastMCP 服务器,允许使用 Twilio API 发送 WhatsApp 消息。
功能
- 📲 通过 Twilio 发送 WhatsApp 消息。
- 🤖 提供一个
send_whatsapp工具,供 FastMCP 客户端(如 AI 模型)使用。 - 🔒 从
.env文件中安全地加载配置。 - 🧪 包含一个基本的测试脚本 (
/home/rj/Code/mcp-generated/twilio_test.py) 用于直接与 Twilio API 交互。
设置
-
获取代码:
克隆此仓库或将源文件下载到/home/rj/Code/mcp-generated/目录下。 -
创建虚拟环境(推荐):
bash 🌱
cd /home/rj/Code/mcp-generated/
python -m venv venv
source venv/bin/activate # 在 Windows 上使用venvScriptsactivate -
安装依赖项:
必要的依赖项列在/home/rj/Code/mcp-generated/whatsapp_server.py中。你可以使用 pip 安装它们:
bash 📦
pip install twilio python-dotenv pydantic-settings fastmcp或者,如果你使用的是 FastMCP 框架功能:
bash
fastmcp install /home/rj/Code/mcp-generated/whatsapp_server.py -
配置环境变量:
-
如果你还没有 Twilio 账号,请注册一个。
-
从 Twilio 控制台获取你的 Account SID 和 Auth Token。
-
设置 Twilio 的 WhatsApp 沙盒或配置专用的 Twilio WhatsApp 号码。
-
在项目根目录 (
/home/rj/Code/mcp-generated/) 中创建一个名为.env的文件。 -
将你的 Twilio 凭证和 WhatsApp 号码添加到
.env文件中:
🔑
dotenv/home/rj/Code/mcp-generated/.env
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token_here
TWILIO_WHATSAPP_NUMBER=+14155238886 # 使用你的 Twilio WhatsApp 号码(沙盒或购买) -
重要提示: 请用实际的凭证和号码替换占位符值。确保
TWILIO_WHATSAPP_NUMBER以+开头并包含国家代码(E.164 格式)。如果.env文件中缺少+,whatsapp_server.py脚本会自动添加。
❗ -
试用账号注意事项: 如果你使用的是 Twilio 试用账号,
TWILIO_WHATSAPP_NUMBER很可能是 Twilio 沙盒号码 (+14155238886)。为了成功发送消息,你必须通过 Twilio 控制台将任何接收方 (to_number) 手机号码加入你的 Twilio 沙盒。向未加入的号码发送消息需要升级你的 Twilio 账号。
-
使用方法
1. 运行 FastMCP 服务器
要使 send_whatsapp 工具可用于远程调用(例如,从集成 FastMCP 的 AI 模型):
bash ▶️
python /home/rj/Code/mcp-generated/whatsapp_server.py
服务器将启动并打印它配置使用的 Twilio 号码。它将监听传入请求(默认通过 stdio,但 FastMCP 支持其他传输方式)。FastMCP 客户端随后可以调用 send_whatsapp 工具,并传递 to_number(包括 whatsapp: 前缀,例如 whatsapp:+15551234567)和 message 参数。
示例交互(概念性):
客户端(如 AI 🤖)可能会发送如下请求(格式取决于传输方式):
2. 运行测试脚本
/home/rj/Code/mcp-generated/twilio_test.py 脚本提供了一种直接使用你的 Twilio 凭证测试发送消息的方法,而无需通过 FastMCP 服务器。🛠️
-
修改脚本: 确保
/home/rj/Code/mcp-generated/twilio_test.py中的to=号码是你 Twilio 沙盒关联的 WhatsApp 号码(如果使用沙盒)或任何有效的 WhatsApp 号码(如果使用购买的 Twilio 号码)。from_号码通常应该是你的 Twilio 沙盒号码 (whatsapp:+14155238886) 或你购买的 Twilio WhatsApp 号码。 -
运行脚本:
bash ▶️
python /home/rj/Code/mcp-generated/twilio_test.py这将尝试从指定的 Twilio 号码向指定收件人发送一条硬编码的消息("Is this working?")。json
{
"tool_name": "send_whatsapp",
"arguments": {
"to_number": "whatsapp:+15551234567",
"message": "Hello from the FastMCP server!"
}
}
服务器将处理此请求,调用 Twilio API,并返回确认或错误消息。
2. 运行测试脚本
/home/rj/Code/mcp-generated/twilio_test.py 脚本提供了一种直接使用您的 Twilio 凭证测试发送消息的方法,而无需通过 FastMCP 服务器。🛠️
-
修改脚本: 确保
/home/rj/Code/mcp-generated/twilio_test.py中的to=号码是与您的 Twilio 沙盒关联的 WhatsApp 号码(如果使用沙盒)或任何有效的 WhatsApp 号码(如果使用购买的 Twilio 号码)。from_号码通常应为您的 Twilio 沙盒号码 (whatsapp:+14155238886) 或您购买的 Twilio WhatsApp 号码。 -
运行脚本:
bash ▶️
python /home/rj/Code/mcp-generated/twilio_test.py这将尝试从指定的 Twilio 号码向指定收件人发送一条硬编码的消息("Is this working?")。