WhatsApp MCP Assistant (Client-Server) について
自然言語でWhatsAppメッセージを送信・予約するクライアントとサーバーの仕組みです。Mistralが意図を解釈し、Twilioが送信を担い、CLIクライアントから操作します。
主な機能
- 01Mistralによるメッセージ意図の解釈
- 02Twilio経由のWhatsAppメッセージ送信
- 03メッセージ予約操作
- 04自然言語対応のCLIクライアント
活用シーン
- 01CLIからWhatsAppメッセージを送信
- 02自然言語でメッセージ送信を予約
MCP 対応
MCPサーバーはMistralでユーザーの意図を解析し、WhatsAppメッセージの送信または予約ツールに振り分けます。CLIクライアントから自然言語で依頼できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
WhatsApp MCP アシスタント(クライアント・サーバー)
このプロジェクトでは、自然言語を使って WhatsApp メッセージを送信および予約するためのクライアント・サーバーパイプラインを構築します。サーバーは Mistral の LLM を使用してユーザーの意図を解釈し、Twilio を使って実際の WhatsApp メッセージを送信します。
ファイル
mcp_server.py:ユーザー入力の解釈に Mistral を使用し、Twilio を呼び出してメッセージを送信するメインの MCP サーバーです。mcp_client.py:自由形式の自然言語でサーバーとやり取りするためのシンプルな CLI クライアントです。config.py:電話番号の設定を含む API キーと定数を保存します。
サーバー・クライアントの概要
サーバーは Mistral の LLM を使って意図を解析し、メッセージの送信など、実行可能な指示に変換します。クライアントは CLI インターフェースで、「Nir にメッセージを送って」のようなプロンプトを入力すると、残りの処理はバックエンドが行います。
Twilio:
Twilio は、プログラムから利用できる WhatsApp メッセージング API を提供します。ここでは、WhatsApp メッセージの送信や予約のシミュレーションに使用します。
⚠️ WhatsApp の24時間ウィンドウ制限(Twilio)
Twilio の WhatsApp API を使用する場合、自由形式のメッセージ(通常のテキストメッセージ)は、ユーザーが最後にあなたの WhatsApp 番号にメッセージを送信してから24時間以内に限り送信できる点にご注意ください。
この時間枠の外でメッセージを送信しようとすると、Twilio ダッシュボードに次のエラーが表示されます: 「自由形式のメッセージを送信できませんでした。許可された時間枠外です。WhatsApp を使用している場合は、メッセージテンプレートを使用してください」
✅ 解決方法:
- 24時間の時間枠を過ぎてから送信するメッセージには、事前承認済みのメッセージテンプレートを使用する必要があります。
- テンプレートは Twilio コンソール > Messaging > Templates で作成できます。
💡 ローカルテストの場合:
自分の番号でテストしていて送信に失敗する場合は、最近、自分の WhatsApp から Twilio の番号にメッセージを送信したことを確認してください。これにより24時間の時間枠がリセットされます。
MCP の概要:
MCP サーバーは、関数呼び出しに対応した LLM(Mistral)をラップし、ユーザーの意図に応じて適切なツール(WhatsApp メッセージの送信・予約)に動的に振り分けます。クライアントでは、CLI からプロンプトを入力できます。
実行方法
-
依存関係をインストールします:
pip install twilio requests fastapi -
config.pyを実際の値で更新します。 -
サーバーを実行します:
python mcp_server.py -
別のターミナルでクライアントを実行します:
python mcp_client.py
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。