mcpField
M
mcp-whatsapp-cloud

mcp-whatsapp-cloud

ローカル
github.com/codesparコミュニケーション2754 週間前に更新

mcp-whatsapp-cloud について

mcp-whatsapp-cloud は、Meta の WhatsApp Cloud API 向けの MCP サーバーで、Graph API を通じてメッセージ送信、メディア処理、テンプレート管理を行います。承認済みの WhatsApp Business Account を持ち、仲介なしで Meta と直接連携したい事業者に向いています。

主な機能

  1. 01テキスト、メディア、テンプレート、インタラクティブ、位置情報メッセージの送信
  2. 02メディアのアップロード、一時 URL の取得、削除
  3. 03メッセージテンプレートの一覧取得、作成、削除
  4. 04ビジネスプロフィールと電話番号の管理
  5. 05Graph API に対する Bearer トークン認証

活用シーン

  1. 01AI アシスタントから注文確認やインタラクティブなボタンメッセージを送信する
  2. 0224 時間のサービスウィンドウ外で承認済みテンプレートを送信する
  3. 03カタログ画像を一度アップロードし、メディア ID を再利用して送信する

MCP 対応

本プロジェクトは MCP サーバーとして動作し、22 個の WhatsApp Cloud API ツールを MCP クライアントに公開します。クライアントはそれらを通じてメッセージ送信やメディア・テンプレートの管理を行えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"codespar-mcp-whatsapp-cloud": {
"command": "npx",
"args": [
"-y",
"@codespar/mcp-whatsapp-cloud"
],
"env": {
"WHATSAPP_ACCESS_TOKEN": "<WHATSAPP_ACCESS_TOKEN>",
"WHATSAPP_PHONE_NUMBER_ID": "<WHATSAPP_PHONE_NUMBER_ID>",
"WHATSAPP_BUSINESS_ACCOUNT_ID": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
"WHATSAPP_GRAPH_VERSION": "<WHATSAPP_GRAPH_VERSION>"
}
}
}
}
起動コマンドnpx -y @codespar/mcp-whatsapp-cloud
設定が必要な環境変数
WHATSAPP_ACCESS_TOKENシークレットMeta system-user access token (permanent). Used as Bearer token for Graph API.
WHATSAPP_PHONE_NUMBER_IDWhatsApp Business phone number ID registered with Meta.
WHATSAPP_BUSINESS_ACCOUNT_IDWhatsApp Business Account (WABA) ID. Used for template management.
WHATSAPP_GRAPH_VERSIONGraph API version. Defaults to v21.0. Meta bumps quarterly.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@codespar/mcp-whatsapp-cloud0.2.2

ツール

22

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
tostringはい受信者の電話番号(+ を付けない E.164 形式。例:5511999999999)
bodystringはいメッセージ本文(UTF-8、最大 4096 文字)
preview_urlbooleanいいえ本文内のリンクの URL プレビューを有効にする(デフォルト:false)

詳細

@codespar/mcp-whatsapp-cloud

WhatsApp Cloud API 用の MCP サーバーです。Meta 公式の WhatsApp Business API で、Meta のインフラストラクチャ上でセルフホストされます。

Meta との直接連携。 仲介業者もプロバイダーの上乗せ料金もありません。承認済みの WhatsApp Business Account(WABA)を持ち、Meta 直結の料金と、会話、料金カテゴリ、テンプレートのライフサイクルを完全に管理したい事業者向けです。

このカタログにある WhatsApp サーバー

サーバー概要選択するケース
whatsapp-cloud(このサーバー)Meta Cloud API との直接連携承認済み WABA を持つ大規模事業者。大規模利用時のコストを抑え、中間手数料を回避できます
z-apiMeta Cloud API のラッパー簡単な導入、即時の QR ペアリング、追加のヘルパー機能
evolution-apiオープンソースのラッパーセルフホスト可能、コミュニティ主導
take-blipブラジルの BSP ラッパーブラジルのエンタープライズ向け、CCaaS 機能
zenviaブラジルの BSP ラッパーブラジルのオムニチャネル(SMS + WhatsApp)

ツール(22)

ツール目的
send_text_messageプレーンテキストメッセージを送信します。
send_template_message承認済みのメッセージテンプレートを送信します。
send_media_message画像、動画、ドキュメント、または音声を送信します。
send_interactive_messageインタラクティブメッセージ(返信ボタンまたはリスト)を送信します。
send_interactive_cta_urlCTA URL ボタンを 1 つ含むインタラクティブメッセージを送信します。
send_interactive_flowWhatsApp Flow メッセージを送信します。
send_location_message緯度・経度と、任意の名前・住所を指定して位置情報を送信します。
send_contacts_message1 件以上の連絡先カード(vCard 形式)を送信します。
send_reaction_message受信済みまたは送信済みのメッセージに絵文字リアクションを送信します。
send_typing_indicator受信したメッセージに対して入力中インジケーターを表示します。
mark_message_as_read受信メッセージを既読にし、送信者に青い二重チェックマークを表示します。
upload_mediaメディアファイルをアップロードし、send_media_message で再利用できる media_id を取得します。
retrieve_media_urlmedia_id を有効期間の短いダウンロード URL に変換します。
delete_mediaID を指定して、アップロード済みメディアアセットを削除します。
list_templatesWhatsApp Business Account のメッセージテンプレートを一覧表示します。
create_template新しいテンプレートを Meta の審査に提出します。
delete_template名前を指定して、WABA のメッセージテンプレートを削除します。
get_business_profile設定済みの電話番号の WhatsApp ビジネスプロフィール(概要、説明、メールアドレス、ウェブサイト、業種、住所)を読み取ります。
update_business_profile設定済みの電話番号のビジネスプロフィールを更新します。
list_phone_numbersWhatsApp Business Account に登録されているすべての電話番号を、表示名、品質評価などを含めて一覧表示します。
request_verification_code設定済みの電話番号に SMS または音声通話で認証コードを送信するよう Meta にリクエストします。
verify_coderequest_verification_code の後に SMS または音声通話で受け取った認証コードを送信します。

インストール

npm install @codespar/mcp-whatsapp-cloud

環境

WHATSAPP_ACCESS_TOKEN="EAAG..."           # required (secret) — Meta system-user token
WHATSAPP_PHONE_NUMBER_ID="1234567890"     # required — WABA phone number id
WHATSAPP_BUSINESS_ACCOUNT_ID="9876543210" # required — WABA id (for templates)
WHATSAPP_GRAPH_VERSION="v21.0"            # optional — Meta bumps quarterly

認証

Graph API に対するベアラートークンを使用します。Meta Business Manager の永続的なシステムユーザートークンを使用してください。ユーザーアクセストークンは有効期限が切れるため、本番環境で問題が発生します。

Authorization: Bearer <WHATSAPP_ACCESS_TOKEN>

メッセージ送信のルール(重要)

  • カスタマーサービスウィンドウ — ユーザーから最後にメッセージが届いてから 24 時間は、任意の種類のメッセージを自由に送信できます。
  • 事業者発信のメッセージ — ウィンドウの終了後は、承認済みのテンプレートを送信する必要があります。名前、言語、コンポーネントを指定して send_template_message を使用してください。
  • テンプレート — create_template で作成し、Meta の承認(数分から数時間)を待ってから使用してください。
  • 電話番号は先頭の + を除いた E.164 形式で指定します(例:5511999999999)。

メディア

方法は 2 つあります。

  1. 公開 URL — send_media_message に link を渡します。最も手早い方法ですが、Meta は送信のたびに取得します。
  2. アップロード済みの media_id — upload_media を一度呼び出し、以降の送信で id を再利用します。カタログアセットに推奨されます。

アップロード済みメディアの有効期限は約 30 日です。

インタラクティブメッセージ

send_interactive_message は、完全な形式の interactive オブジェクトを必要とします。ボタンのペイロードの例:

{
  "type": "button",
  "body": { "text": "Confirma seu pedido?" },
  "action": {
    "buttons": [
      { "type": "reply", "reply": { "id": "confirm", "title": "Confirmar" } },
      { "type": "reply", "reply": { "id": "cancel", "title": "Cancelar" } }
    ]
  }
}

リストのペイロードについては、Cloud API のインタラクティブリファレンスを参照してください。

実行

# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-whatsapp-cloud

# HTTP (for server-to-server)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-whatsapp-cloud

エンタープライズ

エージェントの決済にガバナンス、予算上限、監査証跡が必要ですか?CodeSpar Enterprise は、これらの MCP サーバーにポリシーエンジン、決済ルーティング、コンプライアンステンプレートを追加します。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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