Skip to main content
Glama

📱 WhatsApp MCP — Remote HTTP/SSE-Server

Model Context Protocol (MCP)-Server für WhatsApp, erstellt mit whatsapp-web.js und TypeScript. Unterstützt sowohl lokales stdio (Claude Desktop) als auch entfernte HTTP/SSE (Claude.ai Remote MCP)-Modi.


⚠️ WhatsApp Nutzungsbedingungen — WICHTIG

Lesen Sie dies, bevor Sie dieses Projekt verwenden.

Die Nutzungsbedingungen und die Richtlinie zur zulässigen Nutzung von WhatsApp verbieten die Verwendung inoffizieller Automatisierungstools auf privaten oder geschäftlichen Konten.

🚫 Aktionen, die zur SPERRUNG Ihrer Nummer führen:

Verstoß

Risikostufe

Massen-/Spam-Nachrichten senden

🔴 Sofortige Sperrung

Automatisierung von Nachrichten an unbekannte Nummern

🔴 Sofortige Sperrung

Verwendung inoffizieller WhatsApp-Clients (wie whatsapp-web.js)

🟠 Hohes Risiko

Massenhaftes Scrapen von Kontakten oder Gruppendaten

🟠 Hohes Risiko

Senden von Nachrichten ohne Zustimmung des Benutzers

🔴 Sofortige Sperrung

Betrieb des Bots rund um die Uhr auf einer privaten Nummer

🟡 Mittleres Risiko

Massenhaftes Senden von Medien/Dateien

🟠 Hohes Risiko

✅ Sicherere Praktiken:

  • Verwenden Sie eine dedizierte/Test-Telefonnummer, nicht Ihre private Nummer

  • Schreiben Sie nur Kontakten, die zugestimmt haben

  • Halten Sie die Nachrichten-Frequenz niedrig und menschenähnlich

  • Setzen Sie Ihre /sse oder REST-Endpunkte nicht ohne API_KEY-Schutz öffentlich aus

  • Verwenden Sie dies nicht für Marketing, Verkaufs-Spam oder kommerzielle Nachrichten im großen Stil

  • Nutzen Sie die WhatsApp Business API (Offiziell) für den produktiven/kommerziellen Einsatz

🔒 Dieses Projekt ist nur für persönliche Automatisierung und Entwicklungs-/Testzwecke gedacht. Der Autor ist nicht verantwortlich für Kontosperrungen oder rechtliche Konsequenzen, die aus Missbrauch resultieren.


Related MCP server: WhatsApp MCP Server

🗂️ Projektstruktur

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

🚀 Schnellstart

Voraussetzungen

  • Node.js v18+ und npm

  • Ein WhatsApp-Konto (verwenden Sie eine Testnummer!)

  • Google Chrome oder Chromium installiert (wird intern von Puppeteer verwendet)


1. Abhängigkeiten installieren

npm install

2. TypeScript bauen

npm run build

3. Server starten

Remote HTTP/SSE-Modus (Claude.ai Remote MCP):

npm run start:remote

Dev-Modus (kein Build erforderlich, verwendet ts-node):

npm run dev:remote

stdio-Modus (Claude Desktop):

npm start

4. QR-Code scannen

Öffnen Sie Ihren Browser und gehen Sie zu:

http://localhost:3000/qr

Scannen Sie den QR-Code mit WhatsApp → Verknüpfte Geräte → Gerät hinzufügen.


🔌 API-Endpunkte

Methode

Pfad

Beschreibung

GET

/ oder /health

Gesundheitsprüfung + WhatsApp-Status

GET

/qr

QR-Code HTML-Seite (zum Authentifizieren scannen)

GET

/qr?format=json

Rohe QR-Daten im JSON-Format

GET

/tools

Liste aller verfügbaren MCP-Tools

GET

/tools/status

WhatsApp-Verbindungsstatus

POST

/tools/send-message

WhatsApp-Nachricht senden

GET

/tools/chats

Liste der letzten Chats

GET

/tools/contacts

Liste der Kontakte

GET

/tools/messages/:chatId

Nachrichten aus einem Chat abrufen

POST

/tools/invoke

Generischer MCP-Tool-Aufruf

GET

/sse

MCP SSE-Endpunkt (Claude Remote MCP)

POST

/messages

MCP POST-Endpunkt (gepaart mit /sse)


🛠️ Verfügbare MCP-Tools

Tool

Beschreibung

whatsapp_status

Verbindungsstatus prüfen

whatsapp_send_message

Textnachricht senden

whatsapp_send_media

Bild / Video / Dokument senden

whatsapp_get_contacts

Alle Kontakte auflisten

whatsapp_get_groups

Alle Gruppen auflisten

whatsapp_get_group_info

Gruppendetails und Mitglieder abrufen

whatsapp_create_group

Neue Gruppe erstellen

whatsapp_get_chats

Letzte Chats abrufen

whatsapp_get_messages

Nachrichten aus einem bestimmten Chat abrufen


🔐 Optional: Bearer Token Authentifizierung

Schützen Sie Ihre REST-Endpunkte durch Setzen einer API_KEY-Umgebungsvariablen:

API_KEY=mysecretkey npm run start:remote

Fügen Sie das Token in alle Anfragen ein:

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

🌐 Testen mit ngrok (Öffentliches HTTPS)

  1. Installieren Sie ngrok

  2. Starten Sie Ihren Server: npm run start:remote

  3. In einem neuen Terminal: ngrok http 3000

  4. Kopieren Sie die generierte URL (z. B. https://xxxx.ngrok-free.app)

In Claude.ai → Einstellungen → Integrationen → Remote MCP, fügen Sie ein:

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

☁️ Auf Render bereitstellen

  1. Pushen Sie dieses Repo zu GitHub (siehe Git-Schritte unten)

  2. Gehen Sie zu render.com → New → Web Service

  3. Verbinden Sie Ihr GitHub-Repository

  4. Konfigurieren Sie:

    • Build Command: npm install && npm run build

    • Start Command: npm run start:remote

    • Environment: NODE_ENV=production

    • Optional: API_KEY=yoursecretkey

  5. Bereitstellen und kopieren Sie Ihre https://your-app.onrender.com URL

Fügen Sie diese in Claude Remote MCP ein:

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

⚠️ Hinweis: WhatsApp-Sitzungsdaten (.wwebjs_auth) bleiben über Render-Deployments hinweg nicht erhalten. Verwenden Sie einen Render Disk oder scannen Sie den QR-Code nach jedem Deployment erneut.


📦 npm-Skripte

Befehl

Beschreibung

npm run build

TypeScript nach dist/ kompilieren

npm start

stdio MCP-Server starten

npm run start:remote

HTTP/SSE Remote-Server starten

npm run dev

Dev stdio-Server (ts-node, kein Build)

npm run dev:remote

Dev Remote-Server (ts-node, kein Build)

npm run send

CLI: eine einzelne Nachricht senden

npm run qr

QR-Code im Terminal anzeigen


📄 .gitignore Empfehlungen

Stellen Sie sicher, dass Ihre .gitignore Folgendes enthält:

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

🔒 Committen Sie niemals .wwebjs_auth/ — es enthält Ihre WhatsApp-Sitzungsdaten.


🔧 Umgebungsvariablen

Variable

Standard

Beschreibung

PORT

3000

HTTP-Server-Port

HOST

0.0.0.0

Server-Bind-Adresse

API_KEY

(leer)

Optionales Bearer-Token für REST-Auth

NODE_ENV

development

Auf production setzen bei Render


🤝 Mitwirken

Pull Requests sind willkommen! Bei größeren Änderungen öffnen Sie bitte zuerst ein Issue.


📜 Lizenz

MIT — verwenden Sie es verantwortungsbewusst und in Übereinstimmung mit den Nutzungsbedingungen von WhatsApp.


💡 Tipp: Installieren Sie die GitLens-Erweiterung in VS Code für eine deutlich reichhaltigere Git-Erfahrung — Commit-Verlauf, Blame, Vergleiche und mehr.

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.
    26 npm
    46
    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
    16 npm
    75
    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 npm
    1
    -