Gambot について
Gambot は、Meta の公式 Cloud API を利用し、MCP サーバーと REST API で AI エージェントや開発者に WhatsApp Business API を提供します。アカウント設定、メッセージ、テンプレート、CRM、リード、キャンペーンに対応し、エージェント向けに状態や推奨手順を構造化して返します。
主な機能
- 01WhatsApp メッセージとテンプレートの送信
- 02連絡先、CRM、リード、キャンペーンの管理
- 03アカウント作成と WhatsApp 接続の案内
- 04機械可読な状態、エラー、次の手順の提示
- 05ローカルまたはホスト型サーバーへの接続
- 0624 時間ウィンドウとテンプレートの案内
活用シーン
- 01AI エージェントを介してアプリを WhatsApp Business に接続する
- 02テストメッセージや承認済みテンプレートを送信する
- 03顧客リード、同意状態、キャンペーンを管理する
- 04ガイドに沿ってアカウントを作成し WhatsApp を接続する
MCP 対応
MCP サーバーは Gambot REST API の機能を AI クライアント向けツールとして公開し、ローカル実行またはホスト型 Streamable HTTP 接続に対応します。トークンなしでオンボーディングを始められ、認証には OAuth または Gambot トークンを使用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y gambot-mcpGAMBOT_TOKENシークレットYour Gambot Token (gmbt_…) from Gambot Settings → General. OPTIONAL: leave it unset if you don't have an account yet — the server then starts in token-less ONBOARDING mode (self-serve account creation only). Set it to unlock the full tool set (messaging, campaigns, CRM, bots, analytics).GAMBOT_API_BASEOptional override for the API base URL (defaults to https://api.gambot.co.il/api/v1).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| companyName | string | はい | |
| companyIdNumber | string | はい | 9 桁の会社/税 ID(ח.פ/ת.ז)。 |
詳細
Gambot — AI エージェント向け公式 WhatsApp Business API(MCP + REST API)
Gambot は、Model Context Protocol サーバーと REST API を通じて、AI エージェントと開発者に WhatsApp Business(Cloud)の 公式 API を提供します。 Gambot は Meta Business Solution Provider です。
- WhatsApp Web の自動化ではなく、公式 API です。 QR コード、個人アカウントのリンクセッション、ヘッドレスブラウザーは不要です。実際のビジネスアカウント、承認済みテンプレート、Meta によるメッセージ配信を利用できます。
- 接続方法は 2 通りです。 ローカル:
npx -y gambot-mcp。ホスト型:https://gambot-mcp.azurewebsites.net/mcp(Streamable HTTP、OAuth 2.0 またはトークン)。 - エージェント向けに構築されています。 機械可読な状態とエラー(
error_code、can_recover、recommended_action、required_tool、template_required)、最初に使うツール(gambot_setup_whatsapp_integration)、24 時間ウィンドウとテンプレートに関するガイダンスを組み込んでいます。 - アカウントがなくても、すぐに始められます。 エージェント自身が Gambot アカウントを作成できます(API キーは不要です)。人間が行う必要があるのは、ブラウザーで Meta の WhatsApp 接続を行うことだけです。
AI コーディングエージェントをお使いですか? Agent Skill をインストールして、次のように依頼してください:「このアプリに公式 WhatsApp API を追加してください。」
npx skills add gambot-ai/gambot-mcp --skill gambot-whatsappこのスキル(
skills/gambot-whatsapp)は、アカウント → Meta のオンボーディング → 認証 → 最初のメッセージ → テンプレート → Webhook → エラーからの復旧までの全手順をエージェントに教えます。
クイックスタート
1. MCP サーバーを追加します(Claude Code、Claude Desktop、Cursor、Codex、Gemini CLI、VS Code/Copilot、Windsurf で利用できます)。
{
"mcpServers": {
"gambot": { "command": "npx", "args": ["-y", "gambot-mcp"] }
}
}
開始時にトークンは必要ありません。GAMBOT_TOKEN が設定されていない場合、サーバーはオンボーディングモードで起動し、アカウントを作成します。
| クライアント | コマンド/設定 |
|---|---|
| Claude Code | claude mcp add gambot -- npx -y gambot-mcp またはホスト型:claude mcp add --transport http gambot https://gambot-mcp.azurewebsites.net/mcp |
| Cursor | ワンクリックでインストール または .cursor/mcp.json |
| Claude Desktop | claude_desktop_config.json(上記の JSON) |
| OpenAI Codex | ~/.codex/config.toml → [mcp_servers.gambot] command = "npx" args = ["-y", "gambot-mcp"] |
| Gemini CLI | ~/.gemini/settings.json(上記の JSON) |
| VS Code / Copilot | .vscode/mcp.json → {"servers":{"gambot":{"type":"http","url":"https://gambot-mcp.azurewebsites.net/mcp"}}} |
| Windsurf | ~/.codeium/windsurf/mcp_config.json(上記の JSON) |
| ChatGPT | カスタムコネクター → https://gambot-mcp.azurewebsites.net/mcp(OAuth) |
クライアントごとのガイド:https://gambot.co.il/whatsapp-mcp/.
2. エージェントに依頼します:
「Gambot を使ってアプリ用の WhatsApp を設定し、自分の番号にテストメッセージを送ってください。」
エージェントは gambot_setup_whatsapp_integration を呼び出します。このツールは現在の状態と次に行うべきステップを 1 つ返し、それを エージェント と 人間 のどちらが行う必要があるかを伝えます。
| 状態 | 動作 |
|---|---|
no_account_known / account_missing | エージェントがアカウントを作成します(gambot_create_trial_account、API キー不要) |
awaiting_whatsapp_connection | 人間がブラウザーで Meta Embedded Signup のリンクを開きます(エージェント内では実行できません) |
whatsapp_connected_needs_token | 人間が OAuth でサインインするか(ホスト型 MCP)、Settings → General からトークンをコピーして GAMBOT_TOKEN に設定します |
ready_needs_template | エージェントがテンプレートを作成します(Meta の承認が必要です) |
ready_to_send_first_message / ready | エージェントがテストメッセージを送信し、配信を確認します |
認証
OAuth を優先してください(ホスト型 MCP:https://gambot-mcp.azurewebsites.net/mcp — PKCE と動的クライアント登録に対応。設定にシークレットを貼り付ける必要はありません)。または、Gambot トークン(gmbt_…、Settings → General)を GAMBOT_TOKEN(ローカル)または Authorization: Bearer gmbt_…(ホスト型/REST)として使用してください。トークンをチャットに貼り付けないでください。まだアカウントをお持ちでない場合:https://gambot.co.il/OnboardingProcess/.
最小限の動作例(REST、任意の言語)
export GAMBOT_TOKEN=gmbt_... # from Settings → General; keep it secret
# Is free text allowed? (the 24-hour customer-service window)
curl -s https://api.gambot.co.il/api/v1/conversations/12025550123/window -H "Authorization: Bearer $GAMBOT_TOKEN"
# Window open → send text
curl -s -X POST https://api.gambot.co.il/api/v1/messages/send-text \
-H "Authorization: Bearer $GAMBOT_TOKEN" -H "Content-Type: application/json" \
-d '{"to":"12025550123","text":"Hello from Gambot"}'
# Window closed → send an approved template
curl -s -X POST https://api.gambot.co.il/api/v1/messages/send-template \
-H "Authorization: Bearer $GAMBOT_TOKEN" -H "Content-Type: application/json" \
-d '{"to":"12025550123","templateId":"hello_world_0626","variables":["there"]}'
実行可能なサンプル(メッセージの送信、テンプレートの送信、Webhook の受信、配信状況)を Node/TypeScript、Python、Next.js、Laravel/PHP 向けに用意しています:examples/.
公式 API と WhatsApp Web の自動化
| Gambot(公式 WhatsApp Business API) | WhatsApp Web/QR セッションの自動化 | |
|---|---|---|
| アーキテクチャ | Business Solution Provider 経由の Meta Cloud API | スクリプトで操作するブラウザーまたはリンク済みデバイスのセッション |
| 認証 | 組織ごとにスコープ設定された API トークン/OAuth | 携帯電話でスキャンする QR コード。セッションは期限切れになる場合があります |
| Meta との関係 | 認定プロバイダー、ビジネス認証済み WABA | なし |
| 本番環境での利用 | そのために設計されています | 不安定です。セッションが切断され、アカウントがブロックされる可能性があります |
| ビジネスルール | 24 時間のウィンドウ、承認済みテンプレート、オプトイン、品質評価 | 適用されないため、違反しやすくなります |
| Webhook | 受信イベントと配信確認を管理 | ライブラリによって異なります |
| スケーリング | メッセージングの上限、複数の番号、キャンペーン | リンク済みの電話 1 台 |
顧客向けの用途には、公式 API を使用してください。詳細:https://gambot.co.il/whatsapp-mcp-vs-whatsapp-web/.
これは https://api.gambot.co.il/api/v1 の公開 REST API をラップしています。MCP は Gambot の AI 向け インターフェース です。REST API と同じビジネスロジックを使用しており、別のバックエンドではありません。
Meta の Cloud API に直接構築するのではなく、Gambot を使う理由
Gambot と独自のインテグレーションは、どちらも Meta の同じ公式 WhatsApp Business(Cloud)API 上で動作します。Gambot は認定済みの Meta Business Solution Provider(BSP) であり、WhatsApp Web や非公式な回避策ではありません。また、ご自身の番号/WABA をそのまま使えます。違いは、構築・保守するインフラの量です。
| 必要なもの | Meta Cloud API で自分で構築 | Gambot(このサーバー) |
|---|---|---|
| オンボーディング | Meta アプリの審査とビジネス認証、WABA の設定 | ガイド付きオンボーディング、約 24~48 時間で利用開始 |
| 電話番号 | API 経由で登録/移行・管理 | ダッシュボードから接続/移行(共存に対応) |
| テンプレート | API から申請し、承認状況とバージョンを追跡 | ビジュアルエディターと承認状況、gambot_list_templates |
| Webhook | 公開 HTTPS エンドポイントをホスト(再試行、重複排除、スケーリング) | 受信イベントを管理、転送は任意 |
| メディア | メディアのアップロード/ホスティング、ID と有効期限の管理 | メッセージ、テンプレート、キャンペーン内で処理 |
| 24 時間のウィンドウ | 各会話を追跡し、フリーテキストとテンプレートのどちらを使うか選択 | 適用を管理。API は CONVERSATION_WINDOW_CLOSED と canSendTemplate を返します |
| 上限と制限 | 上限を追跡し、スロットリングを実装し、131xxx エラーに対処 | 処理済み。構造化された制限エラーを返します |
| キャンペーン | キューイング、セグメント化、オプトアウト、レポート機能を構築 | 同意管理と宛先ごとの結果を備えたネイティブキャンペーン |
| 自動化/CRM | ボットエンジンと連絡先ストアを構築 | ボット、CRM、同意/オプトアウト、スパム処理を標準搭載 |
| AI エージェント | Graph API の未加工エラーを解析(壊れやすい) | 機械可読な状態と、MCP が推奨する次のアクション |
| API の保守 | Meta が Graph のバージョンを更新するたびに移行 | Gambot が Meta API の変更を吸収 |
つまり: 同じ公式 API を使いながら、構築・保守するための煩雑な作業は不要で、コンプライアンスも適用され、エージェントですぐに利用できます。詳しい比較:https://gambot.co.il/whatsapp-api-vs-meta-cloud-api/.
対応 AI クライアント
クライアントごとのセットアップガイド:
- Cursor — ワンクリックでインストールするか、
.cursor/mcp.jsonを使用 → https://gambot.co.il/whatsapp-mcp/cursor/ - Claude — Claude Desktop(npx)またはリモートコネクター → https://gambot.co.il/whatsapp-mcp/claude/
- ChatGPT — ホスト型コネクター(Streamable HTTP + OAuth) → https://gambot.co.il/whatsapp-mcp/chatgpt/
- Gemini — Gemini CLI の設定 → https://gambot.co.il/whatsapp-mcp/gemini/
ホスト型(リモート)サーバー: https://gambot-mcp.azurewebsites.net/mcp(Streamable HTTP;OAuth またはベアラートークン)— ローカルへのインストールは不要です。
前提条件
- Node.js 18+
- まだアカウントをお持ちでない場合: 何も必要ありません — トークンなしでサーバーを起動すると、トークンなしのオンボーディングモードで動作し、Gambot アカウントを一から作成できます。
- すでにアカウントをお持ちの場合: Gambot 管理パネルの Settings → General から取得した Gambot Token(
gmbt_…)。これによりすべてのツールを利用できます。
クイックスタート(npx — 推奨)
クローンやビルドは不要です — MCP クライアントが npx で必要に応じて実行します。
Cursor(.cursor/mcp.json)/ Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"gambot": {
"command": "npx",
"args": ["-y", "gambot-mcp"],
"env": {
"GAMBOT_TOKEN": "gmbt_your_token_here"
}
}
}
}
任意の環境変数 GAMBOT_API_BASE でベース URL を上書きできます(デフォルトは https://api.gambot.co.il/api/v1 です)。
トークンがまだありませんか? トークンなしのオンボーディングモード
Gambot アカウントがなくても開始できます。 トークンはオンボーディング完了後に得られる結果です(鶏と卵の問題:新しい組織にはまだトークンがありません)。そのため、サーバーは GAMBOT_TOKEN なしでも動作します。省略して、env を空のままにしてください。
{
"mcpServers": {
"gambot": {
"command": "npx",
"args": ["-y", "gambot-mcp"]
}
}
}
トークンなしで起動すると、オンボーディングモードになり、公開セルフサービスツールのみが利用できます。新しいアカウントを作成し(無料/共存/自分の番号を持ち込む、またはメールと WhatsApp の認証後に番号を購入)、ブラウザーで Meta Embedded Signup のリンクを開き、WhatsApp が接続されるまで gambot_get_onboarding_status をポーリングします。エージェントに 「自分のビジネス用の Gambot WhatsApp アカウントを作成して」 と伝えるだけで、手順を案内してくれます。接続が完了すると、アプリ内の Settings → General に gmbt_… トークンが表示されます。すべてのツールを利用するには、上記の env に GAMBOT_TOKEN を追加してください。(Claude や ChatGPT などのリモート/OAuth クライアントは、ホスト型の同意ページを通じてセッションごとに認証します。)
ローカル開発(ソースから)
npm install
npm run build
次に、ビルド済みのエントリーポイントを MCP クライアントに指定します。
{
"mcpServers": {
"gambot": {
"command": "node",
"args": ["C:/Users/you/source/repos/gambot/gmbt_mcp/dist/index.js"],
"env": {
"GAMBOT_TOKEN": "gmbt_your_token_here"
}
}
}
}
ツール
| グループ | ツール |
|---|---|
| まずはこちら | gambot_setup_whatsapp_integration(状態と次に行う手順を1つ表示します。トークンの有無にかかわらず動作します) |
| メッセージ | gambot_send_text、gambot_send_template、gambot_get_message_status(messageId による配信状況) |
| 会話 | gambot_list_conversations(会話/連絡先の一覧。最終メッセージのメタデータのみを含む)、gambot_get_conversation_messages(1件の会話のメッセージ履歴全体)、gambot_analytics_transcript(指定期間の全会話におけるメッセージ内容。「今日、チームはどのように返信したか」「不満を抱いていた顧客は誰か」などの確認に使用)、gambot_check_window(24時間のウィンドウが開いているかを確認。→ フリーテキストかテンプレートかを判断)、gambot_list_numbers(複数番号を使う組織の送信者番号) |
| テンプレート | gambot_list_templates、gambot_get_template、gambot_get_template_variables、gambot_create_template(テキスト/メディアのヘッダー、本文の変数、フッター、ボタン)、gambot_upload_template_media |
| 連絡先 | gambot_get_contact_fields、gambot_create_contact、gambot_list_contacts(連絡先ディレクトリ全体を一覧表示/検索。名前/電話番号/メールアドレス、タグ、会話のステータス/カテゴリ、担当者で絞り込み)、gambot_get_contact、gambot_update_contact(基本情報と customFields)、gambot_list_ctwa_contacts(Click-to-WhatsApp 広告から作成された連絡先。元の広告情報を含む)、gambot_bulk_update_contacts(フィルター/電話番号で複数を一括更新。タグ、担当者、カテゴリ、同意、カスタムフィールドに対応。プレビュー → 確定後、監査メモを記録します) |
| リード | gambot_get_lead_fields、gambot_create_lead、gambot_list_leads、gambot_get_lead、gambot_update_lead(すべての基本フィールドと customFields)、gambot_bulk_update_leads(フィルター/IDで複数を一括更新。ステータス/ステージ/担当者/カスタムフィールドに対応。プレビュー → 確定後、監査記録を残します) |
| ケース | gambot_get_case_fields、gambot_create_case、gambot_list_cases、gambot_get_case、gambot_update_case(基本情報と customFields) |
| タスク | gambot_create_task、gambot_list_tasks、gambot_get_task、gambot_update_task |
| メモ | gambot_list_notes(連絡先、リード、ケースにまたがるメモを閲覧/検索。アプリ内の「Notes Hub」です。ソース/日付/作成者/テキストで絞り込み)、gambot_get_entity_notes(1件の連絡先/リード/ケースのメモ。組織の「Sync Notes Between Entities」設定に従うため、連絡先を指定すると、そのリード/ケースのメモも返します)、gambot_add_note(連絡先/リード/ケースのタイムラインにメモを追加)、gambot_update_note(既存のメモを編集) |
| 分析/レポート | gambot_analytics_summary(メッセージ、連絡先、リード、チケット、タスク、ボットのKPIスナップショットを一括取得)、gambot_analytics_messages、gambot_analytics_overview(累計と過去6か月の推移)、gambot_analytics_daily_conversations(日次時系列データ)、gambot_analytics_contacts、gambot_analytics_leads、gambot_analytics_cases、gambot_analytics_tasks、gambot_analytics_ctwa、gambot_analytics_bots(ボット/自動化の実行パフォーマンスとボットごとの内訳) |
| 見積書 | gambot_create_quote、gambot_list_quotes、gambot_get_quote、gambot_update_quote |
| 請求書 | gambot_create_invoice、gambot_list_invoices、gambot_get_invoice、gambot_update_invoice、gambot_issue_invoice |
| 注文 | gambot_create_order、gambot_list_orders、gambot_get_order、gambot_update_order |
| 支払い/取引 | gambot_list_transactions(支払い/決済取引。「この顧客はいくら支払ったか/未払いか」を確認できます。電話番号/ステータス/エンティティで絞り込み)、gambot_get_transaction(1件の取引の詳細内訳。VATと項目を含む) |
| 署名 | gambot_list_signatures、gambot_get_signature、gambot_get_signature_link(配布用の署名リンク) |
| ウェブフォーム | gambot_list_forms、gambot_get_form、gambot_get_form_link(配布用の公開リンク)、gambot_get_form_submissions |
| ドキュメントテンプレート | gambot_list_documents、gambot_get_document、gambot_create_document_link(配布可能な入力リンク)、gambot_get_document_submissions |
| ユーザー | gambot_create_user、gambot_list_users、gambot_get_user、gambot_update_user、gambot_enable_user、gambot_disable_user |
| キャンペーン | gambot_list_campaigns、gambot_list_scheduled_campaigns、gambot_get_campaign、gambot_get_campaign_results、gambot_create_campaign(保存済みキャンペーン。スケジュール送信(1回/定期を問わず、常にキャンペーンとして扱います)や、再利用可能なCRMセグメント配信に使用)、gambot_send_campaign_from_excel(ユーザーから渡されたシートを使った差し込み配信。行、phoneColumn、列から変数へのマッピングを渡します。Excel配信は常にキャンペーンとして保存されます。即時配信=保存して今すぐ実行、予約配信=保存してスケジューラーが実行)、gambot_update_campaign、gambot_delete_campaign、gambot_run_campaign、gambot_send_campaign(「グループに即時実行」。タグ/セグメント/電話番号リストへの、アドホックな未保存の送信)、gambot_test_campaign(宛先1件)。判断ルール:グループへの即時実行=即時かつ未保存(gambot_send_campaign)。予約配信(1回/定期)=常にキャンペーン(gambot_create_campaign)。Excelによる1回限りの配信=常にキャンペーン(gambot_send_campaign_from_excel)。一斉配信にはテンプレートを推奨します。regular のフリーテキストによる一斉配信が届くのは、24時間のウィンドウが開いている受信者のみです。**コンプライアンス機能を標準搭載:**すべての組織で、オプトアウトフローが有効になっています(受信者が הסר/stop/unsubscribe と返信すると、以降の一斉配信から除外されます)。送信/実行の応答には、オプトアウト設定(既定で有効)が optOut の下に、同意情報が consent の下に含まれます。 |
| ボットと自動化 | gambot_deploy_bot_package(1回の呼び出しでボット全体を構築。メインボット、アクティベーター、人間による介入時のキャンセルを1つのパッケージとして連携)、gambot_list_bots、gambot_get_bot、gambot_get_bot_package(ボット全体。メイン、アクティベーター、人間による介入時のキャンセル、Gambot AIを含む)、gambot_create_keyword_autoreply、gambot_create_template_button_autoreply、gambot_create_menu_bot、gambot_create_bot(高度な設定。ステップスキーマ全体を指定)、gambot_create_facebook_lead_bot(新しいFacebook/Metaリードフォームのリードに自動返信)、gambot_set_bot_status(オン/オフ。includePackage でボット全体を切り替え)、gambot_delete_bot |
| Gambot AI(頭脳) | gambot_list_ai(組織のGambot AIの「頭脳」。用途、トーン、言語、Q&A数)、gambot_get_ai(1つの頭脳の全設定)、gambot_update_ai(PATCH。既存の頭脳を更新します。渡したフィールドのみ変更されます)、gambot_create_ai(組織にまだない場合のみ使用。まず gambot_list_ai で確認してください) |
| オンボーディング | gambot_check_organization、gambot_generate_organization_name、gambot_search_available_numbers(国別に番号を購入)、gambot_send_onboarding_verification(顧客のメールアドレスとWhatsAppに6桁のコードを送信。番号を購入するアカウントを作成する前にのみ必要)、gambot_verify_onboarding_code(コードを検証)、gambot_create_trial_account(無料トライアル。無料/共存/BYO/SIM購入に対応。番号の購入には検証済みの verificationId が必要)、gambot_create_paid_account(トライアルなし。カードが必要)、gambot_add_payment_method(カードを登録)、gambot_create_payment_link(Tranzilaホスト型)、gambot_get_waba_connect_link、gambot_exchange_waba_token(Meta Embedded Signupを完了)、gambot_get_onboarding_status(WhatsAppが接続されるまでポーリング) |
| Webhook | gambot_register_webhook(GambotがイベントをPOSTするURLを登録/更新。受信メッセージ、ステータス、テンプレートの更新に対応。authHeader とイベントごとの切り替えは任意)、gambot_get_webhook(現在の登録内容を取得)、gambot_test_webhook(サンプルイベントを送信し、配信結果を取得。エンドポイントが呼び出しを受信することを検証)、gambot_delete_webhook(転送を無効化)。リアルタイムでメッセージ/更新情報を受信する必要があるシステムを構築する開発者向けです。 |
| 接続 | gambot_list_connections(組織の接続済み連携。メール/カレンダーのOAuth、Facebookリード広告のページ、ショップ/CRMリンク、WhatsApp番号。他の箇所で使うIDを取得) |
| メール | gambot_send_email(接続済みのGoogle/Microsoftメールボックスから単一のメールを送信)、gambot_list_email_campaigns、gambot_get_email_campaign、gambot_create_email_campaign(テンプレートまたはインラインコンテンツ。CRMセグメントまたは指定した宛先に対応。run:true で今すぐ送信)、gambot_run_email_campaign(永続的に実行でき、中断後の再開も可能。大規模リストでも安全で、重複しません) |
| カレンダー | gambot_list_calendar_events(接続済みのGoogle/Microsoftカレンダーから、指定した日付範囲のイベントを取得) |
| Facebook Lead Ads | gambot_list_facebook_lead_connections、gambot_list_facebook_lead_forms(接続済みページのleadgenフォーム)、gambot_create_facebook_lead_bot(新しいリードが届いた時点で自動返信) |
Bot と自動化のモデル
Gambot の会話型ボットは通常、一緒にデプロイされ、同じ sourceFlowId を共有するボトメーションのパッケージです。gambot_list_bots は各項目の role、triggerKind、sourceFlowId、linkedBotomationId を返すため、エージェントは構成を再現できます。パッケージ全体の構成は、順に次のとおりです。
- メインボット(
role: main_bot、isBot: true)— 会話そのものです。次の 3 種類があります。- メニュー — クイック返信ボタンから返信へ誘導する開始テンプレートです。
- AI — 会話を Gambot AI(AI オペレーター)に引き継ぐ
GambotAiステップです。 - 複合型 — 一部の分岐が Gambot AI へ誘導するメニューです。
- アクティベーター / מפעיל(
role: activator)— ボットを開始するトリガーです。triggerKindで起動条件が分かります。incoming_message(キーワード/任意のメッセージ)、template_button、campaign_lead(広告/キャンペーンからリードが届いた)、owner_assigned(連絡先の担当者が割り当てられた。例:Gambot AI)、scheduled、または非アクティブ状態からの再エンゲージメント(「X 日間メッセージがない」)です。 - 人間の介入によるキャンセル / ביטול בוט בהתערבות אנושית(
role: human_intervention_cancel)—人間のエージェントがメッセージを送信したときに実行され、実行中のボットを停止して人間の対応に割り込まないようにします。組織ごとに 1 つが有効な状態で初期設定されています。パッケージで独自のものをデプロイすることもできます。
Gambot AI(AI オペレーター)へのルーティング = 担当者の設定です。 連絡先を Gambot AI にルーティングするには、連絡先の担当者に Gambot AI を割り当てます。Gambot AI のボトメーションのトリガーは contactOwner == the Gambot AI user なので、その後 GambotAi ステップで応答します。そのため、アクティベーターに「X 日間連絡がない場合 → 連絡先を Gambot AI に割り当てる」と設定すれば、AI が引き継ぎます。
1 回の呼び出しでボットを構築する方法。 gambot_deploy_bot_package は、パッケージ全体を順に組み立てます。(1)メインボット、(2)アクティベーター、(3)人間の介入によるキャンセルのすべてが、1 つの sourceFlowId を共有します。botType: "menu" を選択すると(openingTemplateName と options、および開始テンプレートを送信する activator を指定します。種類は keyword/any_message/inactivity/campaign_lead)、または botType: "keyword" を選択すると(キーワード自体がアクティベーターとなるため、別のアクティベーターは作成されません)、ボットを構築できます。AI/複合型のボット(Gambot AI)は Gambot AI の設定が必要なため、Bot Builder アプリで構築します。
ボットのオン/オフの切り替え: gambot_set_bot_status は 1 つのボトメーションの状態を切り替えます。includePackage: true を渡すと、ボット全体(メインボット + アクティベーター + キャンセル + Gambot AI)のオン/オフをまとめて切り替えられます。何が変更されるかを正確に確認するには、まず gambot_get_bot_package を使用してください。
プロンプトの例
- 「注文が発送されたことを知らせる WhatsApp メッセージを +972 50‑123‑4567 に送信してください。」
- 「
VIPタグが付いた全員に、promo_launchテンプレートでメッセージを送信してください。」 - 「今日、WhatsApp メッセージを何件受信し、返信待ちは何件ありますか?」
- 「今日のカスタマーサービスの会話を要約してください。」
- 「
newsletterタグに明日の 10:00 に配信するキャンペーンを予約してください。」 - 「リードボットを作成してください。広告からリードが届いたら、Sales/Support のボタン付きで
welcome_leadテンプレートを送信し、私が対応に入ったら停止してください。」→gambot_deploy_bot_package(botType: "menu", openingTemplateName: "welcome_lead", options: [...], activator: { type: "campaign_lead" })。 - 「リードボットを完全にオフにしてください(ボット、トリガー、AI の応答を含む)。」→ まず
gambot_get_bot_packageを実行し、次にgambot_set_bot_status(includePackage: true, status: "inactive")を実行します。 - 「有効なボットと、それぞれのトリガーを教えてください。」→
gambot_list_bots(roleとtriggerKindを確認)。
エージェントの動作、エラー、復旧
Gambot MCP は、AI エージェントが何が起きたのか、次に何をすべきかを理解できるように設計されています。API の構造化されたビジネス状態を解釈し、実行可能なガイダンスを返します。
-
構造化エラー。 API エラーが発生すると、ツールの結果は、エージェントが文章を解析せずに対応できる、安定した機械可読フィールドを含む JSON になります。フィールドは、
error_code、reason、can_recover(エージェントが修正できるのか、それとも人間が対応する必要があるのか)、recommended_action、required_tool(実際のツール名)、relevant_contact、template_required、および API 自身のdataです。例:{ "status": "action_required", "error_code": "CONVERSATION_WINDOW_CLOSED", "reason": "The 24-hour customer-service window is closed, so free text cannot be delivered. Send an approved template…", "can_recover": true, "recommended_action": "Call gambot_send_template. …", "required_tool": "gambot_send_template", "relevant_contact": "12025550123", "template_required": true, "data": { "canSendFreeText": false, "canSendTemplate": true } }(既存のクライアント向けに、従来のフィールド
code、message、recommendedActionも引き続き返されます。トークンの失効や請求情報の不足など、人間による対応が必要な問題ではcan_recover: falseが返されます。) -
一般的な復旧方法。
CONVERSATION_WINDOW_CLOSED/TEMPLATE_REQUIRED→gambot_send_template。MISSING_TEMPLATE_VARIABLES→gambot_get_template_variables(その後、ユーザーに確認します)。CONTACT_NOT_FOUND→gambot_list_contacts(宛先を推測してはいけません)。RATE_LIMITED/メッセージ送信上限 → 待機して再試行し、ループせず、一括送信にはキャンペーンを使用します。 -
安全性。 エージェントが曖昧な宛先を黙って選ぶことはありません。また、一括送信のために単一送信ツールを繰り返し呼び出すこともありません。一括送信はキャンペーンに振り分けられます。
-
ツールのアノテーション。 読み取りツールには読み取り専用/べき等のアノテーションが付与されます。
delete_*、disable_user、issue_invoiceには破壊的操作のアノテーションが付与されます。すべてのツールはopenWorldです(WhatsApp/Gambot のライブバックエンドと通信します)。これらを使用して、外部への通信や影響の大きい操作について確認を求めるかどうかを制御してください。
REST API とドキュメント
- REST リファレンス、認証、スコープ、エラーコードの全一覧:https://gambot.co.il/developers/
- AI エージェント向け WhatsApp API:https://gambot.co.il/whatsapp-api-for-ai-agents/
セキュリティ
Gambot Token はパスワードのような秘密情報です。ソース管理に含めないでください(クライアントの env を使用してください)。Gambot の Settings → General からいつでもローテーションでき、必要に応じてスコープを絞ることもできます。
公開(メンテナー向け)
このパッケージには、公式 MCP Registry(registry.modelcontextprotocol.io)向けの server.json マニフェストが同梱されています。レジストリにはメタデータのみが保存されるため、先に npm パッケージを公開する必要があります。また、server.json のリバース DNS 形式の name は、package.json の mcpName(io.github.gambot-ai/gambot-mcp)と一致している必要があります。
# 1) Publish the npm package (public)
npm publish --access public
# 2) Install the registry publisher CLI
# (see https://modelcontextprotocol.io/registry/quickstart)
brew install mcp-publisher # or download from the registry releases
# 3) Authenticate under the io.github.gambot-ai/* namespace and publish
mcp-publisher login github
mcp-publisher publish
GitHub のオーナーが
gambot-aiでない場合は、公開前にserver.jsonのname、package.jsonのmcpName、およびrepository/identifierフィールドを更新し、一致させてください。
公式レジストリに掲載されると、Glama、PulseMCP、Smithery などのアグリゲーターがサーバーを自動的にインデックスします。Smithery 用に smithery.yaml も同梱されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。