mcp-whatsapp (Eigenbau)

Eigenes Projekt unter ~/source/mcps/mcp-whatsapp/. Python + FastMCP + Starlette-Custom-Routes, HTTP-Transport. Gebaut 2026-05-13 als zweite Branchen-Komponente fuer das Salon-Vertical (_index), Companion zu mcp-calcom.

Tool-Anzahl

15 Tools — 13 dedizierte + 2 Raw-Escapes:

  • Outbound: send_text, send_template, send_image, send_document, send_interactive_buttons, send_interactive_list
  • Status: mark_read, mark_processed
  • Inbox: list_recent_messages, get_message
  • Phone + Templates: get_phone_info, list_phone_numbers, list_templates
  • Raw: raw_get, raw_post

Architektur-Besonderheit

Im Gegensatz zu allen anderen MCPs hat dieser einen integrierten Webhook-Empfaenger ueber FastMCP.custom_route(). Eingehende WhatsApp-Nachrichten landen in einer lokalen SQLite-DB unter ~/.local/share/mcp-whatsapp/inbox.db, die Inbox-Tools lesen daraus.

Server-Endpoints:

  • POST /mcp — MCP-Tools
  • GET /webhook — Meta-Verify-Handshake
  • POST /webhook — Inbound-Messages → SQLite
  • GET /health — Liveness

Setup

Siehe whatsapp — dort stehen Meta-App-Anlage, API-Setup, Env-Vars, Install + Smoke-Test sowie der ngrok-Tunnel-Schritt fuer Meta-Webhook-Registrierung.

Konvention

  • HTTP-Default-Port 8771 (siehe mcp-ports-lokal)
  • Bearer-Token-Prefix wird im Code ergaenzt — .env.local haelt nur den nackten Token
  • API-Version v23.0 default, ueber WHATSAPP_API_VERSION ueberschreibbar
  • SQLite-Pfad ueber WHATSAPP_INBOX_DB ueberschreibbar (Default ~/.local/share/mcp-whatsapp/inbox.db)
  • Webhook-Verify-Token: Default agentic-friseur-verify-2026, ueber WHATSAPP_WEBHOOK_VERIFY_TOKEN setzbar