WhatsApp MCP Server 是一个 MCP(Model Context Protocol)服务器,用于通过 Meta Cloud API 管理 WhatsApp Business 模板并发送消息。它面向需要从 AI 客户端操作 WhatsApp Business 模板的开发者和团队。
主要能力:提供 8 个工具,覆盖模板完整生命周期:创建 → 验证 → 批准 → 发送。支持的模板类型包括营销模板和实用模板,并自动识别结构变体(如轮播、目录等),应用正确的验证器。
使用方式:
- 克隆并安装项目。
- 配置凭证:通过环境变量设置,适用于本地 stdio 和托管的远程模式。凭证获取方式:前往 Meta for Developers 创建或选择应用,导航到 WhatsApp > API Setup。
- 连接 MCP 客户端:服务器支持 3 种传输模式。对于 HTTP 传输,可自定义主机/端口。
各客户端配置示例:
- Claude Desktop:添加到 claude_desktop_config.json。
- Claude.ai:连接远程 MCP 服务器作为自定义连接器,连接源自 Anthropic 云服务器。需将服务器托管并配置环境变量,置于 HTTPS 后(使用 nginx、Caddy 或 ngrok、Cloudflare Tunnel),在 Claude.ai 中转到 Customize > Connectors → Add custom connector,输入服务器 URL。Claude 支持无认证或基于 OAuth 的服务器,最简单设置留空认证。注意:Claude.ai 不支持自定义请求头,服务器必须通过环境变量预配置 Meta 凭证,每个托管服务器服务于一个 WhatsApp Business 账户。
- ChatGPT:通过 Responses API 支持远程 MCP 服务器,支持 Streamable HTTP 和 SSE 传输。选项 1 服务器预配置环境变量;选项 2 通过 Bearer 令牌按请求传递凭证,将 Meta 凭证编码为 base64 JSON 并在 authorization 字段传递。注意:ChatGPT 仅支持远程 MCP 服务器(无本地 stdio),服务器必须通过 HTTPS 公开访问。
- Cursor:添加到项目中的 .cursor/mcp.json。
- VS Code:添加到 .vscode/mcp.json。
对于编程访问或自定义 MCP 客户端,可传递按请求凭证而非依赖服务器环境变量。支持两种方法: 方法 1 — Bearer 令牌(推荐):将包含 Meta 凭证的 JSON 对象进行 base64 编码。必填字段:access_token、phone_number_id、waba_id。可选:app_id、api_version。 方法 2 — X-Meta- 请求头。 如果 Bearer 令牌和 X-Meta-* 请求头都不存在,服务器回退到环境变量。
连接后,可直接与 AI 助手对话:
- "创建名为 summer_sale 的营销模板,包含头部图像、关于 50% 折扣的正文文本和 Shop Now 按钮"
- "列出所有已批准的模板"
- "将 order_confirmation 模板发送到 +919876543210,订单号为 ORD-456"
- "在我提交前验证此模板:..."
- "检查模板 ID 123456789 的状态"
模板类型:Meta API 有 2 个模板类别(不含认证)。每个类别内模板可有不同结构变体,每个变体有自己的组件布局和验证规则。 营销模板、实用模板。 路由工作原理:调用 create_template 时,服务器检查组件以自动检测结构变体(例如存在 cards[] → 轮播,CATALOG 按钮 → 目录)并应用正确的验证器。只需传递 category: "MARKETING" 或 "UTILITY",变体由组件结构决定。
项目结构:仓库包含相关文件夹和文件。
限制与要求:需要 Meta WhatsApp Business Account,以及具有 whatsapp_business_messaging 和 whatsapp_business_management 权限的 System User 访问令牌。计划功能见 ROADMAP.md。
许可证:MIT,见 LICENSE。
构建方:Jina Connect — WhatsApp Business CX 平台。