Whatsapp について
WhatsApp MCP Serverは、macOSのWhatsAppデスクトップアプリからメッセージを送信し、起動状態を確認します。AppleScriptで画面を操作し、連絡先一覧の取得はWhatsAppのプライバシー保護によって制限されます。
主な機能
- 01指定した連絡先へのテキスト送信
- 02WhatsAppの起動状態確認
- 03最近の連絡先一覧機能の制限説明
- 04AppleScriptによるデスクトップアプリ操作
活用シーン
- 01MCPクライアント経由で連絡先にメッセージを送信
- 02送信前にWhatsAppの起動状態を確認
- 03最近の連絡先取得に関するプライバシー制限の把握
MCP 対応
stdioでクライアントと通信し、メッセージ送信、WhatsAppの状態確認、最近の連絡先機能に関する情報提供のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
WhatsApp MCP サーバー
概要
WhatsApp MCP(Model Context Protocol)サーバーは、macOS 上の WhatsApp デスクトップアプリとプログラムから連携できる Node.js アプリケーションです。AppleScript による自動化を利用し、WhatsApp の UI を直接操作せずに、メッセージの送信や WhatsApp の状態確認を行うためのシンプルなインターフェースを提供します。
機能
1. 連絡先へのメッセージ送信
WhatsApp の連絡先リストに登録されている特定の連絡先にテキストメッセージを送信します:
- 接続済みの WhatsApp デスクトップアプリを通じてメッセージを配信します
- 改行を含む適切なメッセージの書式設定に対応しています
- AppleScript を使用して WhatsApp デスクトップのインターフェースを自動操作します
2. WhatsApp の状態確認(作業中)
WhatsApp アプリケーションが現在実行中かどうかを確認します:
- WhatsApp の現在の実行状態を返します
- メッセージ送信時のエラー防止に役立ちます
3. 最近の連絡先の一覧表示(作業中)
WhatsApp のプライバシー保護機能により、この機能で利用できる機能は限られています:
- WhatsApp のプライバシー上の制限についてユーザーに知らせます
- メッセージの送信には連絡先名を正確に指定する必要があります
技術的な実装
使用技術
- @modelcontextprotocol/sdk - MCP サーバーと stdio トランスポート
- Zod - スキーマ検証
- Node.js 組み込みモジュール(child_process、util、fs)
- macOS の自動操作に使用する AppleScript
アーキテクチャ
- 標準化されたツール通信に Model Context Protocol(MCP)を使用します
- 通信に stdio トランスポートを使用します
- AppleScript コマンドを実行して WhatsApp デスクトップアプリと連携します
- デバッグ用に包括的なエラーログ機能を実装しています
必要条件
- macOS オペレーティングシステム
- WhatsApp デスクトップアプリがインストールされていること
- Node.js v14.0.0 以降
- インターネット接続
インストール
# Clone the repository
git clone https://github.com/yourusername/whatsapp-mcp-server.git
# Navigate to the project directory
cd whatsapp-mcp-server
# Install dependencies
npm install
使用方法
サーバーの起動
node index.js
Claude との連携
Claude が WhatsApp MCP サーバーを使用できるようにするには、次の手順に従います:
-
MCP サーバーをセットアップする
- 上記の説明に従って WhatsApp MCP サーバーをインストールし、設定します
- ローカルマシンでサーバーが正しく実行されていることを確認します
-
MCP ツールを使えるように Claude Desktop を設定する
claude_desktop_config.jsonファイルを編集し、WhatsApp MCP ツールを追加します- このファイルは通常、Claude Desktop アプリケーションの設定ディレクトリにあります
- 次の設定を追加して、WhatsApp MCP ツールを登録します:
{
"mcpServers": [
{
"name": "whatsapp-mcp",
"transport": {
"command": "node",
"args": ["path/to/your/index.js"]
}
}
]
}
- 連携をテストする
- Claude とのテスト会話を作成します
- テスト用の連絡先に WhatsApp メッセージを送信するよう Claude に依頼します
- WhatsApp デスクトップアプリを通じてメッセージが正常に送信されたことを確認します
利用可能な MCP ツール
1. send-whatsapp-message
指定した WhatsApp の連絡先にメッセージを送信します。
パラメーター:
contactName:WhatsApp に表示される連絡先のフルネームmessage:送信するメッセージの内容
使用例(MCP クライアント経由):
const response = await client.invoke("send-whatsapp-message", {
contactName: "John Doe",
message: "Hello, how are you today?"
});
2. check-whatsapp-status
WhatsApp アプリケーションが現在実行中かどうかを確認します。
パラメーターは不要です。
使用例(MCP クライアント経由):
const response = await client.invoke("check-whatsapp-status", {});
3. list-recent-contacts
連絡先一覧の表示に関する WhatsApp のプライバシー上の制限について説明します。
パラメーターは不要です。
使用例(MCP クライアント経由):
const response = await client.invoke("list-recent-contacts", {});
実装の詳細
AppleScript による自動操作
このサーバーは AppleScript を使用して WhatsApp デスクトップアプリを自動操作します:
- WhatsApp アプリケーションをアクティブにします
- キーボードショートカットを使用してインターフェースを操作します
- 名前で連絡先を検索します
- 下矢印キーで連絡先を選択します
- メッセージを入力して送信します
エラー処理
包括的なエラー処理とログ記録を行います:
- コンソールへのエラー出力
~/Library/Logs/whatsapp-mcp/へのファイルベースのログ記録- AppleScript 実行エラーを適切に処理します
- プロセスレベルの例外処理
Claude での WhatsApp MCP ツールの使用
WhatsApp MCP ツールを Claude と連携すると、自然言語で Claude に次のような指示を出せます:
メッセージを送信する
プロンプトの例:
- 「会議に10分遅れると伝えるWhatsAppメッセージをJohnに送ってください」
- 「次のテキストをWhatsAppでSarahに送ってください:ご依頼の書類はこちらです」
- 「WhatsAppでMomに『お誕生日おめでとう!』と送ってください」
WhatsAppのステータスを確認する
プロンプトの例:
- 「WhatsAppは私のコンピューターで起動していますか?」
- 「WhatsAppがアクティブかどうか確認してください」
- 「メッセージを送る前にWhatsAppのステータスを確認してください」
連絡先情報を取得する
プロンプトの例:
- 「最近のWhatsAppの連絡先を一覧表示できますか?」
- 「最近WhatsAppでメッセージを送った相手を表示してください」
Claudeはリクエストに応じて適切なMCPツールを使用し、結果をお知らせします。
制限事項
- AppleScriptへの依存により、macOSでのみ動作します
- WhatsAppデスクトップアプリをインストールする必要があります
- WhatsAppのUI変更によって、連絡先の選択に影響が出る場合があります
- プライバシー保護のため、WhatsAppの連絡先リストへのアクセスは限定されています
- ローカルのMCPツールにアクセスできるよう、Claudeを適切に設定する必要があります
セキュリティに関する考慮事項
- サーバーは個人のWhatsAppアカウントを操作します
- メッセージはご自身のアカウントから送信され、ご自身が送ったものとして表示されます
- 信頼できる環境でのみ使用してください
ライセンス
MIT
免責事項
このプロジェクトはWhatsApp Inc.またはMeta Platforms, Inc.とは提携していません。ご自身の責任において、WhatsAppの利用規約に従って使用してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。