WhatsApp MCP服务器与Wati API v3
这是一个使用Wati API的WhatsApp模型上下文协议(MCP)服务器 第3版.
通过Claude等人工智能助手管理您的WhatsApp对话、联系人、模板、活动和渠道。搜索和阅读消息、发送文本和文件、管理联系人以及自动化工作流程——所有这些都是通过MCP工具完成的。
获取此项目和其他项目的更新 在此处输入您的电子邮件
v0.2.0的新增功能
突破性变化: 此版本从传统的Wati v1 API迁移到 v3 API (/api/ext/v3/*).
变化
- API v3迁移 --所有端点更新为
/api/ext/v3/*路径 - URL方案 --租户ID不再嵌入URL路径中;已从Bearer令牌中解决
WATI_TENANT_ID现在是可选的 --仅适用于多通道设置(通道:电话号码定位)- 新工具:
list_contacts,get_contact,add_contact,update_contacts,get_contact_count,assign_contact_teams,send_file_via_url,send_interactive(按钮+列表),assign_operator,update_conversation_status,list_templates,get_template,send_template,list_campaigns,get_campaign,list_channels - 已删除的工具:
list_chats,get_chat,get_direct_chat_by_contact,get_contact_chats(替换为list_contacts/get_contact/get_messages) - 简化响应解析 --v3具有标准化的响应模式
迁移指南
- 更新
WATI_API_BASE_URL到您的Wati服务器(例如。https://live-mt-server.wati.io) WATI_TENANT_ID除非您使用多渠道定位,否则可以删除- 更新工具调用:
send_message(recipient=...)→send_message(target=...) - 替换
list_chats/get_chat随着list_contacts/get_contact+get_messages
安装
通过Smithery安装
npx -y @smithery/cli install @wati-io/wati-mcp-server --client claude](https://smithery.ai/server/@wati-io/wati-mcp-server)
先决条件
- Python 3.11+
- 拟人克劳德桌面应用程序(或光标)
- UV(Python包管理器),安装时使用
curl -LsSf https://astral.sh/uv/install.sh | sh - Wati API访问(您需要您的身份验证令牌)
步骤
- 克隆此存储库
git clone https://github.com/wati-io/wati-mcp-server.git
cd wati-mcp-server- 配置Wati API
复制示例环境文件,并使用您的Wati API凭据对其进行编辑:
cp .env.example .env
# Edit .env with your Wati API credentials必修的:
- WATI_API_BASE_URL:Wati API的基本URL(例如。 https://live-mt-server.wati.io) - WATI_AUTH_TOKEN:您的Wati身份验证令牌(来自仪表板的Bearer令牌)
可选:
- WATI_TENANT_ID:您的Wati租户ID(仅适用于多渠道设置)
- 连接到MCP服务器
将以下json与相应的{{PATH}}值一起复制:
{
"mcpServers": {
"whatsapp": {
"command": "{{PATH_TO_UV}}",
"args": [
"--directory",
"{{PATH_TO_SRC}}/wati-mcp-server",
"run",
"main.py"
]
}
}
}对于 克劳德,将此另存为 claude_desktop_config.json 在:
~/Library/Application Support/Claude/claude_desktop_config.json对于 光标,将此另存为 mcp.json 在:
~/.cursor/mcp.json- 重新启动克劳德桌面/光标
MCP工具
联系人
- search_contacts --按姓名或电话号码搜索联系人
- list_contacts --按页码列出联系人
- get_contact --通过电话或ID获取详细的联系信息
- add_contact --添加新的WhatsApp联系人
- update_contacts --批量更新联系人自定义参数
- get_tact_count --获取联系人总数
- assign_contact_teams --为团队分配联系人
消息和对话
- 获取消息 --获取联系人的对话消息
- send_message --发送短信
- send_file --通过上传发送文件(图像、视频、文档、音频)
- send_file_via_url --通过URL发送文件(无需本地下载)
- 下载_媒体 --从邮件中下载媒体
- send_交互 --发送交互式按钮或列表消息
- 指定操作员 --为对话分配操作员
- update_conversation_status --更新对话状态(打开/已解决/挂起/阻止)
模板
- list_templates --列出消息模板
- get_template --获取模板详细信息
- send_template --向收件人发送模板邮件
活动
- list_campaigns --列出广播活动
- get_campaign --获取活动详细信息和统计数据
频道
- list_channels --列出可用的WhatsApp频道
建筑
Claude/AI Assistant
↕ MCP Protocol (stdio)
Python MCP Server (FastMCP)
↕ HTTPS + Bearer Auth
Wati API v3
↕
WhatsApp Business- Claude通过MCP协议向Python MCP服务器发送请求
- MCP服务器对Wati v3 API进行经过身份验证的API调用
- Wati API与WhatsApp的后端通信
- 数据通过链流回克劳德
故障排除
- 身份验证错误:确保您的
WATI_AUTH_TOKEN有效且未过期 - 404错误:确保
WATI_API_BASE_URL指向正确的Wati服务器 - 速率限制:瓦蒂API有费率限制。如果你打了他们,请等待或联系Wati支持
- 媒体上传失败:检查文件类型支持和大小限制
- 紫外线许可问题:将其添加到PATH或使用可执行文件的完整路径
有关MCP集成故障排除,请参阅 MCP文件.
