mcpField
G
Green API WhatsApp

Green API WhatsApp

リモート
github.com/green-apiコミュニケーション022 週間前に更新
リポジトリ

Green API WhatsApp について

Green API WhatsAppは、GREEN-API経由でAIエージェントにWhatsApp機能を提供するMCPゲートウェイです。複数のトランスポート方式で、メッセージ、インスタンス、グループ、連絡先、通知を扱います。

主な機能

  1. 01テキスト、ファイル、位置情報、投票の送信
  2. 02メッセージの転送、編集、削除
  3. 03連絡先、グループ、インスタンスの管理
  4. 04ポーリングまたはHTTPで通知を受信
  5. 05複数インスタンスと各種トランスポートに対応
  6. 06カスタマーサポートと一斉配信用プロンプト

活用シーン

  1. 01AIエージェント経由でWhatsAppメッセージを送信
  2. 02WhatsAppグループと参加者を管理
  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 エージェント(Claude Desktop、OpenClaw、Cursor など)が、Model Context Protocol を使って WhatsApp 経由でメッセージの送信、インスタンスの管理、通知の受信を行えます。

できること

テキストメッセージ、URL 経由のファイル、位置情報、連絡先、投票を送信できます。メッセージの転送や編集も可能です。グループの管理(作成、データ取得、参加者の追加・削除)、電話番号の WhatsApp 利用可否の確認、連絡先とその情報の取得も行えます。インスタンスの状態や設定、認証用 QR コードを取得できます。ポーリングまたは HTTP レシーバーを介して受信通知を受け取れます。インスタンスの作成・削除に対応したパートナー API も利用できます。1 つのゲートウェイで複数のインスタンスをサポートします。一般的なシナリオ(カスタマーサポート、一斉配信)向けのプロンプトテンプレートを備えています。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)で選択する4種類のトランスポートをサポートしています。

トランスポートエンドポイント(host:port からの相対パス)用途
stdiostdin/stdoutバイナリを起動するローカル CLI(Claude Desktop、Cursor)。
sseGET /(ストリーム)+ POST /message従来の MCP クライアント(SSE のみ)。
httpPOST/GET /mcpストリーミング可能な HTTP(MCP 2025-03-26+) — 新しいクライアントに推奨。
hybrid1つのポートで /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 + /message の sse、/mcp の http、または 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 — 認証 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 — 着信通知を受信(ロングポーリング)
パートナー 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を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。