WATI MCP服务器
A. 模型上下文协议(MCP) 提供与WATI WhatsApp Business API无缝集成的服务器。该服务器使AI助手能够通过WhatsApp Business帐户发送消息、管理联系人、检索对话数据和处理媒体文件。
特性
- 消息管理:发送和接收WhatsApp消息
- 联系人管理:添加、更新和搜索具有自定义属性的联系人
- 模板消息:发送预先批准的模板消息和广播
- 媒体处理:发送和接收媒体文件(图像、文档等)
- 对话历史:通过分页和筛选检索消息历史记录
- 批量操作:通过CSV上传向多个收件人发送消息
- 实时集成:可与任何兼容MCP的AI助手配合使用
安装
步骤1:安装软件包
推荐: 使用pipx(最适合CLI工具)
pipx install wati-mcp-server备选方案: 在虚拟环境中使用pip
python3 -m venv mcp-env
source mcp-env/bin/activate
pip install wati-mcp-server步骤2:查找安装路径
查找命令的安装位置:
which wati-mcp-server这将显示一条类似的路径 /Users/username/.local/bin/wati-mcp-server (pipx)或 /path/to/mcp-env/bin/wati-mcp-server (venv)。
步骤3:配置MCP客户端
对于Claude Desktop: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows)
对于光标: 编辑光标MCP配置文件
添加此配置:
{
"mcpServers": {
"wati": {
"command": "/full/path/from/which/command",
"env": {
"API_ENDPOINT": "https://live-mt-server.wati.io/YOUR_TENANT_ID",
"ACCESS_TOKEN": "Bearer YOUR_WATI_ACCESS_TOKEN"
}
}
}
}或者,如果pipx将其添加到您的PATH中,您可以使用:
{
"mcpServers": {
"wati": {
"command": "wati-mcp-server",
"env": {
"API_ENDPOINT": "https://live-mt-server.wati.io/YOUR_TENANT_ID",
"ACCESS_TOKEN": "Bearer YOUR_WATI_ACCESS_TOKEN"
}
}
}
}步骤4:获取您的WATI证书
- 注册一个 WATI帐户
- 获得您的WhatsApp Business API批准
- 在WATI仪表板中查找API端点和访问令牌
- 替换
YOUR_TENANT_ID和YOUR_WATI_ACCESS_TOKEN在上面的配置中
步骤5:重新启动MCP客户端
更新配置后,完全重新启动Claude Desktop或Cursor。
可用工具
服务器提供以下MCP工具:
消息操作
get_messages-检索特定号码的WhatsApp消息send_message_to_opened_session-向打开的WhatsApp会话发送消息send_template_message-发送预先批准的模板消息send_template_messages-向多个收件人发送模板邮件send_template_messages_from_csv- 从CSV文件批量发送模板消息
联系人管理
get_contacts_list-使用筛选选项检索联系人add_contact-添加新的WhatsApp联系人update_contact_attributes-更新联系人的自定义属性
模板和媒体
get_message_templates-检索可用的消息模板get_media_by_filename-获取媒体文件详细信息send_file_to_opened_session-将文件发送到WhatsApp会话
效用
get_weather-演示天气功能(用于测试)
使用示例
发送模板消息
# The AI assistant can use this tool:
send_template_message(
whatsapp_number=919909000282,
template_name="welcome_message",
broadcast_name="new_user_welcome",
parameters=[
{"name": "customer_name", "value": "John Doe"},
{"name": "company_name", "value": "ACME Corp"}
]
)搜索联系人
# Find contacts in a specific city
get_contacts_list(
attribute='[{"name":"city","operator":"=","value":"Mumbai"}]',
page_size=20
)发送批量消息
# Send to multiple recipients
send_template_messages(
template_name="promotional_offer",
broadcast_name="summer_sale_2024",
receivers=[
{
"whatsappNumber": "919909000282",
"customParams": [{"name": "offer_code", "value": "SUMMER25"}]
},
{
"whatsappNumber": "919909000283",
"customParams": [{"name": "offer_code", "value": "SUMMER30"}]
}
]
)配置
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
API_ENDPOINT | 您的WATI API端点URL | 是 |
ACCESS_TOKEN | 您的WATI API访问令牌 | 是 |
发展
为发展而设立
# Clone the repository
git clone https://github.com/Jairajmehra/wati_whatsapp_mcp.git
cd wati_whatsapp_mcp
# Install in development mode
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install运行测试
pytest代码格式化
black wati_mcp/
flake8 wati_mcp/
mypy wati_mcp/配电楼
python -m buildapi参考
WATIClient类
处理所有API交互的核心客户端类:
from wati_mcp.server import WATIClient
client = WATIClient(api_endpoint="...", access_token="...")服务器创建
from wati_mcp.server import create_server
# Create a configured MCP server
server = create_server()错误处理
服务器包括全面的错误处理:
- API请求失败被捕获并作为结构化错误响应返回
- 文件操作包括存在性检查和正确的错误消息
- 带有有用错误消息的环境变量验证
- 用于调试和监控的结构化日志记录
贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
- 文档:
- 问题:
- WATI文件: WATI API 文档
更新日志
v0.1.0
- 初始版本
- WhatsApp的核心消息功能
- 联系人管理功能
- 模板消息支持
- 媒体文件处理
- 批量消息功能
______________________________________________________________________
内置于❤️ 对于MCP生态系统
