ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

WhatsApp MCP

โดย adelaidasofiaรุ่น 0.1.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.adelaidasofia/whatsapp-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

WhatsApp MCP. SQLCipher-encrypted, scrubber-CI-gated, draft-and-confirm sends, voice transcription.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: แชตและอีเมล
  • ต้องใส่ค่าเหล่านี้: WHATSAPP_WHISPER_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: WHATSAPP_BRIDGE_HOST, WHATSAPP_BRIDGE_PORT, WHATSAPP_VAULT_CRM_PATH, WHATSAPP_WHISPER_BACKEND, WHATSAPP_WHISPER_API_KEY, WHATSAPP_WHISPER_MODEL, WHATSAPP_SCRUB_PROMPT_INJECTION, WHATSAPP_AUDIT_LOG, WHATSAPP_ENCRYPT_DB

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "whatsapp": {
      "command": "uvx",
      "args": [
        "adelaidasofia-whatsapp-mcp"
      ],
      "env": {
        "WHATSAPP_BRIDGE_HOST": "ใส่ค่าของคุณ",
        "WHATSAPP_BRIDGE_PORT": "ใส่ค่าของคุณ",
        "WHATSAPP_VAULT_CRM_PATH": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_BACKEND": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_API_KEY": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_MODEL": "ใส่ค่าของคุณ",
        "WHATSAPP_SCRUB_PROMPT_INJECTION": "ใส่ค่าของคุณ",
        "WHATSAPP_AUDIT_LOG": "ใส่ค่าของคุณ",
        "WHATSAPP_ENCRYPT_DB": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add whatsapp --env WHATSAPP_BRIDGE_HOST='ใส่ค่าของคุณ' --env WHATSAPP_BRIDGE_PORT='ใส่ค่าของคุณ' --env WHATSAPP_VAULT_CRM_PATH='ใส่ค่าของคุณ' --env WHATSAPP_WHISPER_BACKEND='ใส่ค่าของคุณ' --env WHATSAPP_WHISPER_API_KEY='ใส่ค่าของคุณ' --env WHATSAPP_WHISPER_MODEL='ใส่ค่าของคุณ' --env WHATSAPP_SCRUB_PROMPT_INJECTION='ใส่ค่าของคุณ' --env WHATSAPP_AUDIT_LOG='ใส่ค่าของคุณ' --env WHATSAPP_ENCRYPT_DB='ใส่ค่าของคุณ' -- uvx adelaidasofia-whatsapp-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "whatsapp": {
      "command": "uvx",
      "args": [
        "adelaidasofia-whatsapp-mcp"
      ],
      "env": {
        "WHATSAPP_BRIDGE_HOST": "ใส่ค่าของคุณ",
        "WHATSAPP_BRIDGE_PORT": "ใส่ค่าของคุณ",
        "WHATSAPP_VAULT_CRM_PATH": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_BACKEND": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_API_KEY": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_MODEL": "ใส่ค่าของคุณ",
        "WHATSAPP_SCRUB_PROMPT_INJECTION": "ใส่ค่าของคุณ",
        "WHATSAPP_AUDIT_LOG": "ใส่ค่าของคุณ",
        "WHATSAPP_ENCRYPT_DB": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "whatsapp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "adelaidasofia-whatsapp-mcp"
      ],
      "env": {
        "WHATSAPP_BRIDGE_HOST": "ใส่ค่าของคุณ",
        "WHATSAPP_BRIDGE_PORT": "ใส่ค่าของคุณ",
        "WHATSAPP_VAULT_CRM_PATH": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_BACKEND": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_API_KEY": "ใส่ค่าของคุณ",
        "WHATSAPP_WHISPER_MODEL": "ใส่ค่าของคุณ",
        "WHATSAPP_SCRUB_PROMPT_INJECTION": "ใส่ค่าของคุณ",
        "WHATSAPP_AUDIT_LOG": "ใส่ค่าของคุณ",
        "WHATSAPP_ENCRYPT_DB": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • WHATSAPP_BRIDGE_HOST env
    Hostname for the Go bridge REST API.
  • WHATSAPP_BRIDGE_PORT env
    Port for the Go bridge REST API.
  • WHATSAPP_VAULT_CRM_PATH env
    Absolute path to a vault CRM folder for auto-injection (e.g., Obsidian 'CRM/'). When unset, CRM injection is disabled.
  • WHATSAPP_WHISPER_BACKEND env
    Voice-note transcription backend. 'local-cpp' (default, private) or 'openai-api' (opt-in).
  • WHATSAPP_WHISPER_API_KEY ความลับ env
    OpenAI API key. Required only when WHATSAPP_WHISPER_BACKEND=openai-api.
  • WHATSAPP_WHISPER_MODEL env
    whisper.cpp model name. Only used when backend is local-cpp.
  • WHATSAPP_SCRUB_PROMPT_INJECTION env
    Strip known prompt-injection patterns from incoming messages before the LLM sees them.
  • WHATSAPP_AUDIT_LOG env
    Log every tool call to audit.log.
  • WHATSAPP_ENCRYPT_DB env
    Enable SQLCipher DB encryption with the key sourced from macOS Keychain.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub adelaidasofia ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด แชตและอีเมลi

  • ดาวมากกว่า 0% ของอีก 1876 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 9% ของอีก 1876 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1876 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

WhatsApp MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: WHATSAPP_WHISPER_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 6 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Vexa

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

โดย Vexa-aiใช้กันมาก★ 2.9Kอัปเดต 2 เดือนที่ผ่านมา

รันบนคลาวด์✓ vexa.ai

emailmd

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

โดย anypostใช้กันมาก↓ 5.3K/สัปดาห์★ 1.4Kอัปเดต 34 วันที่ผ่านมา

บนเครื่องหรือคลาวด์✓ emailmd.dev

MCP WhatsApp Cloud

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

โดย codesparเริ่มต้น↓ 63/สัปดาห์★ 277อัปเดต 5 เดือนที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

whatsapp-mcp

A WhatsApp MCP server for Claude, built directly on whatsmeow. Encrypted at rest, prompt-injection-scrubbed, draft-and-confirm on every send, full audit trail, daily CI security gates. Actively maintained.

Why this one?

The most-starred WhatsApp MCP (lharries/whatsapp-mcp, 5.6K stars) is the architectural reference for this pattern, but has not shipped since July 2025 and leaves the lethal-trifecta problem entirely to the user. This implementation closes the gaps:

CanonicalThis implementation
Last shippedJuly 2025Active
DB encryptionPlain SQLiteSQLCipher with key in the platform secret store (macOS Keychain / Windows Credential Manager / libsecret)
Prompt-injection scrubberNoneEvery inbound message
Send safetyFires immediatelyMandatory confirm_send between draft and delivery
Audit logNoneEvery tool call, 30-day retention
Voice notesNot transcribedwhisper.cpp local, language detected per note, turned on with one command
LID alias resolutionOpen issue cluster upstreamShipped, with backfill migration for legacy threads
CI securityNonegovulncheck + pip-audit + Dependabot, daily

Not a fork. The Go bridge is built directly against whatsmeow; the Python MCP layer and SQLite schema are original. Other implementations (lharries, LukasHaas, verygoodplugins) were read as reference only.

What this gives you

Claude can:

  • Read your WhatsApp chats, messages, and contacts
  • Search messages with accent-insensitive, typo-tolerant matching
  • Transcribe voice notes locally via whisper.cpp (language detected per note). Off until you say yes; Claude offers it once, and python3 whatsapp-mcp-server/enable_transcription.py turns it on in one step
  • Resolve LID (Linked IDentifier) names instead of numeric placeholders
  • Send text messages, reactions, and reply-quotes, with a mandatory confirm_send step between draft and delivery
  • Pull matching CRM context from your Obsidian vault when reading a chat
  • See only prompt-injection-scrubbed message text, never raw adversarial input

Everything runs locally on your machine. No cloud sync. No telemetry. Optional OpenAI Whisper backend is opt-in, off by default.

Architecture

Two components, both local:

  • `whatsapp-bridge/` (Go). Binds to 127.0.0.1 only. Wraps whatsmeow for the WhatsApp Web multidevice protocol. Owns SQLite persistence with SQLCipher encryption. Handles QR and pairing-code auth (live-refreshing terminal QR with Windows-safe rendering, plus a headless auth API — GET /api/auth/qr, POST /api/auth/pair-phone, POST /api/auth/reconnect — so a GUI or supervisor can drive pairing without a terminal), media up/download, session recovery from StreamReplaced conflicts, call history capture. Exposes a REST API the Python MCP layer consumes.
  • `whatsapp-mcp-server/` (Python, FastMCP). Consumes the Go bridge REST API. Exposes 11 MCP tools to Claude: full read surface (chats, messages, contacts), accent-insensitive search, presence (typing, online, mark-read), and text-send + reactions + reply-quotes with mandatory confirm_send. Runs via uv and stdio transport.

Install

Open Claude Code, paste:

/plugin marketplace add adelaidasofia/whatsapp-mcp /plugin install whatsapp-mcp@whatsapp-mcp

This installs the Python MCP server side. The Go bridge still needs the one-time QR pairing flow with your phone — see the legacy install block below for those steps.

Manual install (full Go bridge + QR pairing)

See SETUP.md for step-by-step install per OS. In short:

  1. Grab a prebuilt bridge binary from Releases (Windows/macOS/Linux — no compiler needed), or build from source (Go 1.26+ and a C toolchain)
  2. Python 3.11+ and uv for the MCP server layer
  3. Clone this repo; verify with scripts/check_prerequisites.sh (Windows: scripts\check_prerequisites.ps1)
  4. Start the bridge: ./bin/whatsapp-bridge (Windows: .\bin\whatsapp-bridge.exe)
  5. Scan the QR (it refreshes in place — always scan the one on screen), or pair by typed code with --pair-phone +15551234567
  6. Register the MCP in your Claude Code .mcp.json
  7. Restart Claude Code

FFmpeg and whisper.cpp are only needed if you enable voice-note transcription (off by default); enable_transcription.py configures them for you, and installs them with Homebrew on a Mac (SETUP.md step 4).

Configuration

All configurable via environment variables. See .env.example for the full list.

Key variables:

VariableDefaultPurpose
WHATSAPP_BRIDGE_PORT8080Go bridge REST API port
WHATSAPP_DB_PATH$HOME/.claude/whatsapp-mcp/store/messages.dbEncrypted SQLite database
WHATSAPP_MEDIA_PATH$HOME/.claude/whatsapp-mcp/media/Media file storage
WHATSAPP_VAULT_CRM_PATHemptyAbsolute path to your vault CRM folder for auto-injection (e.g., Obsidian 👤 CRM/). When unset, CRM injection is disabled.
WHATSAPP_WHISPER_BACKENDoffoff (zero-config boot), local-cpp (private, needs a whisper model), or openai-api (opt-in)
WHATSAPP_WHISPER_API_KEYemptyRequired only when backend is openai-api
WHATSAPP_WHISPER_MODELlarge-v3-turbowhisper.cpp model name
WHATSAPP_WHISPER_LANGUAGEautoLanguage passed to whisper. auto detects it per voice note; a fixed code (es, en) forces every note through it
WHATSAPP_KEEP_VOICE_AUDIOtrueWhile transcription is off, save each incoming voice note's audio (voice notes only, never view-once or disappearing ones) under WHATSAPP_MEDIA_PATH, so turning transcription on later also covers notes older than WhatsApp's ~14 days. Set false to stop
WHATSAPP_SCRUB_PROMPT_INJECTIONtrueStrip known prompt-injection patterns from incoming messages before Claude sees them
WHATSAPP_AUDIT_LOGtrueLog every tool call to audit.log
WHATSAPP_ENCRYPT_DBtrueEnable SQLCipher DB encryption; key in the platform secret store (macOS Keychain / Windows Credential Manager / libsecret)
WHATSAPP_DB_KEYemptyExplicit 64-hex-char SQLCipher key override (skips the platform store). Escape hatch for headless/CI/custom secret managers, and the recovery path when the secret store cannot be read — see below
The DB key and WHATSAPP_DB_KEY

With WHATSAPP_ENCRYPT_DB=true (the default), the bridge encrypts the message store with a 256-bit SQLCipher key kept in the platform secret store. The key lifecycle is deliberately conservative, because a wrong key silently orphans every stored message:

  • A fresh key is minted only when the secret store definitively answers "no such item" (macOS errSecItemNotFound, Windows ERROR_NOT_FOUND, libsecret clean miss) and no non-empty store database exists yet.
  • Any other failed read — locked keychain, no D-Bus session, revoked access — makes the bridge exit with an error instead of minting: the key may still exist, and overwriting it would make the encrypted store permanently undecryptable. The error names the fix (e.g. security unlock-keychain).
  • If the secret store has no key but a populated store database exists, the bridge also refuses to mint and asks you to supply the original key.

WHATSAPP_DB_KEY (64 hex chars = 32 bytes, e.g. openssl rand -hex 32) is the escape hatch for all of these: when set, it is used directly and the platform secret store is never touched. Use it for headless/CI machines, custom secret managers, restoring a store on a new machine, or booting while the platform store is unavailable.

Security

This MCP is the highest-trust component in your Claude stack because every WhatsApp message you receive flows through it. See SECURITY.md for the threat model, tool risk-tier classification, and the full list of hardening decisions.

Short version:

  • Bridge binds to 127.0.0.1 only, never 0.0.0.0
  • SQLite encrypted at rest with SQLCipher; key stored in the platform secret store (macOS Keychain / Windows Credential Manager / libsecret), with an explicit WHATSAPP_DB_KEY escape hatch
  • Every tool call logged to audit.log with 30-day retention
  • Send tools require an explicit confirm_send step between draft and delivery
  • Incoming message text passes through a prompt-injection scrubber before Claude sees it
  • whatsmeow pinned to a specific commit; upgrades require diff review
  • No telemetry, no external API calls by default

Status

v0.1.0, actively maintained.

Shipped: live-refreshing QR (in-place redraw on rotation, Windows-safe rendering, auto fresh batch on expiry) + pairing-code auth (typed 8-char code, Android + iOS) + headless auth API for supervisors, full read surface (chats, messages, contacts), accent-insensitive NFD-normalized search, LID alias resolution with backfill migration for legacy threads, Baileys-store import for one-shot history migration, vault-format markdown export, local whisper.cpp voice transcription, presence (typing, online, mark-read), text-send with mandatory confirm_send, reactions, reply-quotes, prompt-injection scrubber, SQLCipher-encrypted persistence with macOS Keychain key handling, audit log, CI security gates.

Not yet shipped: media-send (image, document), audio-message-send (FFmpeg-Opus path), group broadcast helpers.

See CHANGELOG.md for full history.

MCP Registry

Published on the official MCP Registry under io.github.adelaidasofia/whatsapp-mcp. Two live channels:

  • `.mcpb` bundle (canonical, recommended) — one-click install in Claude Desktop / Cursor / any MCPB-aware client. Published as a GitHub release artifact at releases/latest/download/whatsapp-mcp.mcpb. The release manifest carries the SHA256 for tamper detection.
  • PyPI package (adelaidasofia-whatsapp-mcp) — historical; available via uvx adelaidasofia-whatsapp-mcp for stdio-installer flows. The unprefixed names (whatsapp-mcp, whatsapp-mcp-server) are taken by unrelated projects on PyPI, hence the username-prefixed namespace.

The verification marker mcp-name: io.github.adelaidasofia/whatsapp-mcp is embedded in this README (HTML comment near the top) so the registry can verify package-to-server

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx