🚀 Chatterbox MCP Server について
Chatterbox MCP Server は、個人利用向けに MCP ツール経由で WhatsApp 機能を提供します。MCP サーバーと、WhatsApp Web 連携を担う REST API サービスを分けて構成します。
主な機能
- 01WhatsApp 用 MCP ツール
- 02MCP リソース
- 03独立した WhatsApp REST API サービス
- 04ファイルによるシークレット管理
- 05各サービスの Docker ビルド
活用シーン
- 01MCP クライアントから WhatsApp 機能を利用
- 02QR コードによる WhatsApp 認証
- 032つのサービスを個別に開発・デプロイ
MCP 対応
MCP サーバーは WhatsApp 操作用のツールとリソースを MCP クライアントに公開し、HTTP API 経由で WhatsApp サービスを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 Chatterbox MCP サーバー(MCPHubによってインデックス化・認定済み)
このリポジトリには、主に2つのコンポーネントが含まれています。
🤖 MCP サーバー(mcp_server/)
MCP ツールを通じて WhatsApp の機能を提供する Model Context Protocol サーバーです。
主なファイル:
mcp_server/src/server.ts- メインの MCP サーバーmcp_server/src/model/tools.ts- WhatsApp 操作用の MCP ツールmcp_server/src/model/resources.ts- MCP リソース
使用方法:
cd mcp_server
npm install
npm run dev
📱 WhatsApp サーバー(whatsappServer/)
WhatsApp Web との実際の連携を処理する REST API サーバーです。
主なファイル:
whatsappServer/src/server.ts- メインの Express サーバーwhatsappServer/src/services/whatsappService.ts- WhatsApp Web.js との連携whatsappServer/src/controllers/whatsappController.ts- API エンドポイント
使用方法:
cd whatsappServer
npm install
npm run dev
🔧 アーキテクチャ
┌─────────────────┐ HTTP API ┌─────────────────┐
│ │ Calls │ │
│ MCP Server │ ─────────────► │ WhatsApp Server │
│ │ │ │
└─────────────────┘ └─────────────────┘
│ │
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ WhatsApp Web │
│ (Claude, etc) │ │ │
└─────────────────┘ └─────────────────┘
📁 プロジェクト構成
chatterbox_mcp_server/
├── mcp_server/
│ ├── src/
│ ├── secrets/ # Secret files for MCP server
│ │ ├── CHATTERBOX_SECRET
│ │ └── WHATSAPP_SERVER_URL
│ └── package.json
├── whatsappServer/
│ ├── src/
│ ├── secrets/ # Secret files for WhatsApp server
│ │ ├── CHATTERBOX_SECRET
│ │ ├── PORT
│ │ └── HEADLESS
│ └── package.json
└── package.json
🚀 クイックスタート
-
シークレットを設定します:
# MCP Server secrets (in mcp_server/secrets/) echo "your_secret_here" > mcp_server/secrets/CHATTERBOX_SECRET echo "http://localhost:3004" > mcp_server/secrets/WHATSAPP_SERVER_URL # WhatsApp Server secrets (in whatsappServer/secrets/) echo "your_secret_here" > whatsappServer/secrets/CHATTERBOX_SECRET echo "3004" > whatsappServer/secrets/PORT echo "true" > whatsappServer/secrets/HEADLESS -
依存関係をインストールします:
npm run install:all -
WhatsApp サーバーを起動します:
npm run dev:whatsapp -
MCP サーバーを起動します:
npm run dev:mcp -
WhatsApp を認証します:
- QR コードを取得するには、
http://localhost:3004/qrにアクセスします - WhatsApp モバイルアプリでスキャンします
- QR コードを取得するには、
🛠️ 開発
各コンポーネントは個別に開発できます。
- MCP サーバーは MCP プロトコルの実装に重点を置いています
- WhatsApp サーバーは WhatsApp Web との連携と API エンドポイントを処理します
📋 必要なシークレット
セキュリティを強化するため、両方のサーバーで環境変数の代わりにファイルベースのシークレットを使用します。各シークレットは secrets/ フォルダー内の個別のファイルに保存されます。
MCP サーバー(mcp_server/secrets/)
CHATTERBOX_SECRET- WhatsApp サーバーへの API 呼び出しに使用する認証シークレットWHATSAPP_SERVER_URL- WhatsApp サーバーの URL(例:http://localhost)SERVER_PORT- サーバーがリッスンするポート(例:3004)
WhatsApp サーバー(whatsappServer/secrets/)
CHATTERBOX_SECRET- 認証シークレット(MCP サーバーのシークレットと一致させる必要があります)PORT- サーバーのポート番号(例:3004)HEADLESS- WhatsApp をヘッドレスモードで実行するかどうか(trueまたはfalse)
注: 認証を機能させるには、両方のサーバーで CHATTERBOX_SECRET を同じ値にする必要があります。
🐳 Docker
各コンポーネントには、コンテナ化用の独自の Dockerfile があります。
# WhatsApp Server
cd whatsappServer
docker build -t whatsapp-server .
# MCP Server
cd mcp_server
docker build -t mcp-server .
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。