关于 Green API WhatsApp
Green API WhatsApp 是通过 GREEN-API 将 WhatsApp 能力接入 AI Agent 的 MCP 网关,适用于消息处理和实例管理。它还支持群组、联系人、通知及多实例操作,并提供多种传输方式。
主要功能
- 01发送文本、文件、位置和投票
- 02转发、编辑和删除消息
- 03管理联系人、群组与实例
- 04轮询或 HTTP 接收消息通知
- 05支持多实例及多种传输方式
- 06提供客户支持和广播提示词
适用场景
- 01通过 AI Agent 发送 WhatsApp 消息
- 02维护 WhatsApp 群组和参与者
- 03接收并处理传入通知
- 04管理多个 GREEN-API 实例
MCP 相关
该 MCP 服务将 GREEN-API WhatsApp 操作作为工具开放,并提供实例状态与设置资源,以及客户支持和广播提示词。支持 stdio、SSE、HTTP 和 hybrid 传输。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.green-api.com/mcpclaude mcp add --transport http com-green-api-whatsapp https://mcp.green-api.com/mcp{"mcpServers":{"com-green-api-whatsapp":{"type":"http","url":"https://mcp.green-api.com/mcp"}}}在 Cursor 中打开{"servers":{"com-green-api-whatsapp":{"type":"http","url":"https://mcp.green-api.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-green-api-whatsapp":{"type":"http","url":"https://mcp.green-api.com/mcp"}}}{"mcpServers":{"com-green-api-whatsapp":{"serverUrl":"https://mcp.green-api.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.green-api.com/mcp需要授权https://mcp.green-api.com/sse需要授权工具
41| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| group_id | string | 是 | 群组 ID |
| instance_id | number | 是 | WhatsApp 实例 ID |
| participant_chat_id | string | 是 | 参与者聊天 ID([email protected]) |
详细介绍
green-api-mcp-gateway
支持渠道
指南与新闻
GREEN-API WhatsApp 的 MCP 网关。AI Agent(Claude Desktop、OpenClaw、Cursor 等)可通过 Model Context Protocol 使用 WhatsApp 发送消息、管理实例和接收通知。
功能
发送文本消息、URL 文件、位置、联系人和投票。转发和编辑消息。管理群组(创建、获取数据、添加/移除参与者)。检查电话号码是否支持 WhatsApp,获取联系人及其信息。获取实例状态和设置,以及用于授权的二维码。通过轮询或 HTTP 接收器接收传入通知。用于创建/删除实例的 Partner API。单个网关支持多个实例。提供常见场景(客户支持、群发)的提示词模板。支持 Prometheus 指标和 OpenTelemetry。
有关如何连接 MCP 服务的说明,请参阅我们的网站
架构
整洁架构(端口与适配器):
cmd/server/main.go — entry point, DI wiring
internal/
domain/ — business entities, errors, constants (zero dependencies)
application/ — ports (interfaces)
infrastructure/
auth.go — CredentialManager (in-memory credential store)
config/config.go — YAML + env configuration
greenapi/client.go — WhatsApp client via Go SDK
mcp/
server.go — MCP server (stdio/sse)
tools.go — MCP tools registration
resources.go — MCP resources
prompts.go — MCP prompts
webhook/
bridge.go — polling bridge
receiver.go — HTTP receiver
构建
go build -o green-api-mcp-gateway ./cmd/server
需要 Go 1.25+。
传输方式与端点
服务支持四种传输方式,通过 server.transport(或 GREEN_API_TRANSPORT 环境变量)选择:
| 传输方式 | 端点(相对于 host:port) | 使用场景 |
|---|---|---|
stdio | stdin/stdout | 本地 CLI(Claude Desktop、Cursor)启动二进制文件。 |
sse | GET / (stream) + POST /message | 旧版 MCP 客户端(仅支持 SSE)。 |
http | POST/GET /mcp | 可流式传输的 HTTP(MCP 2025-03-26+)——新客户端的首选方式。 |
hybrid | /sse + /message 以及 /mcp,共用一个端口 | 公共服务:同时提供旧版 SSE 和可流式传输的 HTTP。 |
所有基于 HTTP 的传输方式还会公开以下端点:
GET /health、GET /healthz— 健康检查(无需身份验证)GET /favicon.ico、GET /favicon.png— GREEN-API 图标
启用 auth.mode: proxy 时,还会添加 OAuth 2.0 PKCE 端点:
GET /.well-known/oauth-authorization-server— RFC 8414 元数据GET /.well-known/oauth-protected-resource— RFC 9728 元数据GET /authorize— 面向浏览器的授权表单POST /token— 令牌交换
配置
通过 YAML 配置
server:
transport: stdio # stdio | sse | http | hybrid
port: 8090
auth:
mode: config # config | proxy
cache_ttl: 300 # seconds (proxy mode only)
green_api:
instances:
- id: 1101000001
api_token: "YOUR_TOKEN"
api_url: "https://api.green-api.com"
webhook:
mode: polling
polling_timeout: 20
rate_limit:
requests_per_second: 10
burst: 20
logging:
level: info
format: text
通过环境变量配置
环境变量的优先级高于 YAML 配置:
以下变量适用于两种部署模式。凭据变量(GREEN_API_INSTANCE_ID、GREEN_API_TOKEN、GREEN_API_URL)仅适用于使用 auth.mode: config 的本地 stdio 运行。对于 HTTP 传输方式(sse 使用 /sse + /message、http 使用 /mcp,或 hybrid),请改用 auth.mode: proxy——凭据通过 HTTP 标头或内置 OAuth 流程提供,环境变量中的凭据会被忽略。
GREEN_API_INSTANCE_ID— 实例 IDGREEN_API_TOKEN— API 令牌GREEN_API_URL— API 基础 URL(默认为https://api.green-api.com)GREEN_API_TRANSPORT— 传输方式:stdio、sse、http或hybridGREEN_API_PORT— HTTP 端口(默认为8090)GREEN_API_BASE_URL— 公共基础 URL(用于 OAuth 颁发者/重定向,例如https://mcp.example.com)GREEN_API_WIDGET_DOMAIN— ChatGPT Apps 提交元数据所用的唯一小组件来源(默认为GREEN_API_BASE_URL,其次为https://mcp.green-api.com)GREEN_API_AUTH_MODE—config或proxyGREEN_API_AUTH_CACHE_TTL— 代理身份验证凭据缓存 TTL(秒)GREEN_API_WEBHOOK_MODE—polling或receiverLOG_LEVEL— 日志级别LOG_FORMAT—text或json
运行
# With environment variables
export GREEN_API_INSTANCE_ID=1101000001
export GREEN_API_TOKEN=your_token
./green-api-mcp-gateway
# With a config file
./green-api-mcp-gateway --config config.yaml
集成
Claude Desktop(本地 stdio)
添加到 claude_desktop_config.json:
{
"mcpServers": {
"whatsapp": {
"command": "/path/to/green-api-mcp-gateway",
"args": ["--config", "/path/to/config.yaml"]
}
}
}
OpenClaw
mcp:
servers:
- name: whatsapp
command: /path/to/green-api-mcp-gateway
args: ["--config", "/path/to/config.yaml"]
Docker
docker build -t green-api-mcp-gateway .
docker run --rm -i \
-e GREEN_API_INSTANCE_ID=1101000001 \
-e GREEN_API_TOKEN=your_token \
green-api-mcp-gateway
MCP 工具
消息
whatsapp_send_message— 文本消息whatsapp_send_file— 通过 URL 发送文件whatsapp_send_location— 位置whatsapp_send_contact— 联系人(vCard)whatsapp_send_poll— 投票whatsapp_forward_messages— 转发whatsapp_edit_message— 编辑whatsapp_delete_message— 删除
实例
whatsapp_get_state— 授权状态whatsapp_get_settings— 当前设置whatsapp_set_settings— 更新设置whatsapp_get_qr— 授权二维码whatsapp_connect— 连接实例whatsapp_disconnect— 断开实例
联系人
whatsapp_get_contacts— 联系人列表whatsapp_get_contact_info— 联系人信息whatsapp_check_whatsapp— 检查电话号码
群组
whatsapp_create_group— 创建群组whatsapp_get_group_data— 获取群组数据whatsapp_add_group_participant— 添加参与者whatsapp_remove_group_participant— 移除参与者whatsapp_leave_group— 退出群组
通知
whatsapp_receive_notification— 接收传入通知(长轮询)
Partner API
whatsapp_create_instance— 创建实例whatsapp_delete_instance— 删除实例whatsapp_get_instances— 列出实例
MCP 资源
whatsapp://instance/{id}/state— 实例状态whatsapp://instance/{id}/settings— 实例设置
MCP 提示词
whatsapp_customer_support— 客户支持模板whatsapp_broadcast— 广播消息模板
依赖项
- mcp-go — MCP SDK
- whatsapp-api-client-golang — GREEN-API Go SDK
开发
go test ./...
gofmt -w .
GOOS=linux GOARCH=amd64 go build -o green-api-mcp-gateway-linux ./cmd/server
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。