mcpField
W
Whatsapp

Whatsapp

ローカル
github.com/gfb-47コミュニケーション783 週間前に更新

Whatsapp について

WhatsApp MCP Serverは、macOSのWhatsAppデスクトップアプリからメッセージを送信し、起動状態を確認します。AppleScriptで画面を操作し、連絡先一覧の取得はWhatsAppのプライバシー保護によって制限されます。

主な機能

  1. 01指定した連絡先へのテキスト送信
  2. 02WhatsAppの起動状態確認
  3. 03最近の連絡先一覧機能の制限説明
  4. 04AppleScriptによるデスクトップアプリ操作

活用シーン

  1. 01MCPクライアント経由で連絡先にメッセージを送信
  2. 02送信前にWhatsAppの起動状態を確認
  3. 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 サーバーを使用できるようにするには、次の手順に従います:

  1. MCP サーバーをセットアップする

    • 上記の説明に従って WhatsApp MCP サーバーをインストールし、設定します
    • ローカルマシンでサーバーが正しく実行されていることを確認します
  2. 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"]
      }
    }
  ]
}
  1. 連携をテストする
    • 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の利用規約に従って使用してください。

コメント

MCP は初めてですか?

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

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