Skip to main content
Glama

📱 WhatsApp MCP — リモートHTTP/SSEサーバー

WhatsApp用Model Context Protocol (MCP) サーバーwhatsapp-web.js とTypeScriptで構築されています。 ローカルstdio (Claude Desktop) と リモートHTTP/SSE (Claude.ai Remote MCP) の両方のモードをサポートしています。


⚠️ WhatsApp利用規約 — 重要

このプロジェクトを使用する前に必ずお読みください。

WhatsAppの利用規約および利用規定では、個人アカウントやビジネスアカウントでの非公式な自動化ツールの使用を禁止しています。

🚫 アカウントが停止(BAN)される可能性のある行為:

違反行為

リスクレベル

大量送信/スパムメッセージ

🔴 即時BAN

未知の番号へのメッセージ自動化

🔴 即時BAN

非公式WhatsAppクライアント(whatsapp-web.jsなど)の使用

🟠 高リスク

大規模な連絡先やグループデータのスクレイピング

🟠 高リスク

ユーザーの同意なしにメッセージを送信する

🔴 即時BAN

個人番号で24時間365日ボットを稼働させる

🟡 中リスク

メディア/ファイルを大量に送信する

🟠 高リスク

✅ より安全な運用方法:

  • 個人番号ではなく、専用のテスト用電話番号を使用してください

  • 同意を得た連絡先にのみメッセージを送信してください

  • メッセージの頻度を低く抑え、人間らしい動作を心がけてください

  • API_KEYによる保護なしに /sse やRESTエンドポイントを公開しないでください

  • マーケティング、セールスの一斉送信、または大規模な商用メッセージングには使用しないでください

  • 本番環境や商用利用にはWhatsApp Business API (公式)を使用してください

🔒 本プロジェクトは、個人の自動化および開発・テストのみを目的としています。 誤用によって生じたアカウント停止や法的責任について、著者は一切の責任を負いません。


Related MCP server: WhatsApp MCP Server

🗂️ プロジェクト構成

whatsapp-mcp/
├── src/
│   ├── index.ts          # stdio MCP server (Claude Desktop)
│   ├── remote.ts         # HTTP/SSE MCP server (Remote MCP + REST API)
│   └── send_message.ts   # CLI script to send a single message
├── dist/                 # Compiled JavaScript (auto-generated, do not edit)
├── .wwebjs_auth/         # WhatsApp session data (⚠️ keep this gitignored!)
├── .wwebjs_cache/        # Puppeteer browser cache (gitignored)
├── package.json
├── tsconfig.json
├── render.yaml           # Render.com deployment config
├── start-remote.bat      # Windows quick-start script
└── README.md

🚀 クイックスタート

前提条件

  • Node.js v18以上 および npm

  • WhatsAppアカウント(テスト用番号を使用してください!)

  • Google Chrome または Chromium(Puppeteerが内部で使用します)


1. 依存関係のインストール

npm install

2. TypeScriptのビルド

npm run build

3. サーバーの起動

リモートHTTP/SSEモード (Claude.ai Remote MCP):

npm run start:remote

開発モード (ビルド不要、ts-nodeを使用):

npm run dev:remote

stdioモード (Claude Desktop):

npm start

4. QRコードのスキャン

ブラウザを開き、以下にアクセスしてください:

http://localhost:3000/qr

WhatsAppでQRコードをスキャンします → リンクされたデバイス → デバイスをリンク


🔌 APIエンドポイント

メソッド

パス

説明

GET

/ または /health

ヘルスチェック + WhatsAppステータス

GET

/qr

QRコードHTMLページ(スキャンして認証)

GET

/qr?format=json

JSON形式の生QRデータ

GET

/tools

利用可能な全MCPツールの一覧

GET

/tools/status

WhatsApp接続ステータス

POST

/tools/send-message

WhatsAppメッセージの送信

GET

/tools/chats

最近のチャット一覧

GET

/tools/contacts

連絡先一覧

GET

/tools/messages/:chatId

チャットのメッセージを取得

POST

/tools/invoke

汎用MCPツール呼び出し

GET

/sse

MCP SSEエンドポイント (Claude Remote MCP)

POST

/messages

MCP POSTエンドポイント (/sseとペアで使用)


🛠️ 利用可能なMCPツール

ツール

説明

whatsapp_status

接続ステータスの確認

whatsapp_send_message

テキストメッセージの送信

whatsapp_send_media

画像/動画/ドキュメントの送信

whatsapp_get_contacts

全連絡先のリスト取得

whatsapp_get_groups

全グループのリスト取得

whatsapp_get_group_info

グループ詳細とメンバーの取得

whatsapp_create_group

新規グループの作成

whatsapp_get_chats

最近のチャット取得

whatsapp_get_messages

特定チャットのメッセージ取得


🔐 オプション:Bearerトークン認証

API_KEY環境変数を設定してRESTエンドポイントを保護します:

API_KEY=mysecretkey npm run start:remote

すべてのリクエストにトークンを含めてください:

curl -H "Authorization: Bearer mysecretkey" http://localhost:3000/tools/status

🌐 ngrokを使用したテスト (パブリックHTTPS)

  1. ngrokをインストール

  2. サーバーを起動: npm run start:remote

  3. 新しいターミナルで: ngrok http 3000

  4. 生成されたURLをコピー (例: https://xxxx.ngrok-free.app)

Claude.ai → 設定 → 統合 → Remote MCP に以下を貼り付けます:

https://xxxx.ngrok-free.app/sse

☁️ Renderへのデプロイ

  1. このリポジトリをGitHubにプッシュ (以下のGit手順を参照)

  2. render.com にアクセス → New → Web Service

  3. GitHubリポジトリを接続

  4. 設定:

    • Build Command: npm install && npm run build

    • Start Command: npm run start:remote

    • Environment: NODE_ENV=production

    • Optional: API_KEY=yoursecretkey

  5. デプロイし、https://your-app.onrender.com URLをコピー

Claude Remote MCPに貼り付けます:

https://your-app.onrender.com/sse

⚠️ 注意: WhatsAppのセッションデータ (.wwebjs_auth) はRenderのデプロイ間で保持されませんRender Diskを使用するか、デプロイのたびにQRコードを再スキャンしてください。


📦 npmスクリプト

コマンド

説明

npm run build

TypeScriptを dist/ にコンパイル

npm start

stdio MCPサーバーの起動

npm run start:remote

HTTP/SSEリモートサーバーの起動

npm run dev

開発用stdioサーバー (ts-node、ビルド不要)

npm run dev:remote

開発用リモートサーバー (ts-node、ビルド不要)

npm run send

CLI: メッセージを1件送信

npm run qr

ターミナルにQRコードを表示


📄 .gitignoreの推奨設定

.gitignore に以下が含まれていることを確認してください:

node_modules/
dist/
.wwebjs_auth/
.wwebjs_cache/
.env
*.bat

🔒 .wwebjs_auth/ は絶対にコミットしないでください — WhatsAppのセッション認証情報が含まれています。


🔧 環境変数

変数

デフォルト

説明

PORT

3000

HTTPサーバーポート

HOST

0.0.0.0

サーバーバインドアドレス

API_KEY

(空)

REST認証用のオプションのBearerトークン

NODE_ENV

development

Render上では production に設定


🤝 コントリビューション

プルリクエストを歓迎します!大きな変更を行う場合は、まずIssueを開いてください。


📜 ライセンス

MIT — 責任を持って、WhatsAppの利用規約に従って使用してください。


💡 ヒント: VS Codeに GitLens拡張機能 をインストールすると、コミット履歴、Blame、比較など、より充実したGit体験が得られます。

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Node.js application that connects WhatsApp Web with AI models through the Model Context Protocol, enabling automated messaging, contact management, and group chat functionality through AI-driven workflows.
    42
    44
    MIT
  • A
    license
    C
    quality
    F
    maintenance
    A Model Context Protocol server that connects your personal WhatsApp account to AI agents like Claude, enabling them to search messages, view contacts, retrieve chat history, and send messages via WhatsApp.
    7
    13
    72
    ISC
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A Model Context Protocol server that integrates with WaPulse WhatsApp Web API, enabling users to send messages, manage groups, handle files, and perform various WhatsApp operations programmatically.
    3
    1

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PONMANIAN-SA/whatsapp_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server