mcpField
G
Green API WhatsApp

Green API WhatsApp

远程服务
github.com/green-api通信协作022 周前更新
代码仓库

关于 Green API WhatsApp

Green API WhatsApp 是通过 GREEN-API 将 WhatsApp 能力接入 AI Agent 的 MCP 网关,适用于消息处理和实例管理。它还支持群组、联系人、通知及多实例操作,并提供多种传输方式。

主要功能

  1. 01发送文本、文件、位置和投票
  2. 02转发、编辑和删除消息
  3. 03管理联系人、群组与实例
  4. 04轮询或 HTTP 接收消息通知
  5. 05支持多实例及多种传输方式
  6. 06提供客户支持和广播提示词

适用场景

  1. 01通过 AI Agent 发送 WhatsApp 消息
  2. 02维护 WhatsApp 群组和参与者
  3. 03接收并处理传入通知
  4. 04管理多个 GREEN-API 实例

MCP 相关

该 MCP 服务将 GREEN-API WhatsApp 操作作为工具开放,并提供实例状态与设置资源,以及客户支持和广播提示词。支持 stdio、SSE、HTTP 和 hybrid 传输。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.green-api.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.green-api.com/mcp需要授权
SSEhttps://mcp.green-api.com/sse需要授权

工具

41
参数类型必填说明
group_idstring是群组 ID
instance_idnumber是WhatsApp 实例 ID
participant_chat_idstring是参与者聊天 ID([email protected])

详细介绍

green-api-mcp-gateway

License: MIT Go Version release Protocol: MCP Go Report Card

支持渠道

Support Support Support

指南与新闻

Guides News News


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)使用场景
stdiostdin/stdout本地 CLI(Claude Desktop、Cursor)启动二进制文件。
sseGET / (stream) + POST /message旧版 MCP 客户端(仅支持 SSE)。
httpPOST/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 — 实例 ID
  • GREEN_API_TOKEN — API 令牌
  • GREEN_API_URL — API 基础 URL(默认为 https://api.green-api.com)
  • GREEN_API_TRANSPORT — 传输方式:stdio、sse、http 或 hybrid
  • GREEN_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 或 proxy
  • GREEN_API_AUTH_CACHE_TTL — 代理身份验证凭据缓存 TTL(秒)
  • GREEN_API_WEBHOOK_MODE — polling 或 receiver
  • LOG_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 — 广播消息模板

依赖项

开发

go test ./...
gofmt -w .
GOOS=linux GOARCH=amd64 go build -o green-api-mcp-gateway-linux ./cmd/server

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。