explaingit

lharries/whatsapp-mcp

5,605GoAudience · vibe coderComplexity · 3/5Setup · moderate

TLDR

WhatsApp MCP lets AI assistants like Claude read your WhatsApp messages, search contacts, and send messages on your behalf by running a local bridge on your computer that syncs your chat history.

Mindmap

mindmap
  root((whatsapp-mcp))
    What It Does
      AI reads WhatsApp
      Send messages via AI
      Local message sync
    Tech Stack
      Go
      Python
      SQLite
      MCP protocol
    Capabilities
      Read chat history
      Search contacts
      Send text and media
    Setup
      Scan QR code
      Configure Claude Desktop
    Security
      Prompt injection risk
      Local data only
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Ask Claude to search your WhatsApp chats and summarize recent conversations with a specific contact.

USE CASE 2

Have Claude send a WhatsApp text message or media file on your behalf without opening the app.

USE CASE 3

Build an AI workflow that reads incoming WhatsApp messages and drafts replies for your review.

Tech stack

GoPythonSQLiteMCP

Getting it running

Difficulty · moderate Time to first run · 30min

Requires both Go and Python installed, plus configuring Claude Desktop or Cursor to recognize the local MCP server.

In plain English

WhatsApp MCP is a server that connects your personal WhatsApp account to AI assistants like Claude, letting the AI read your messages, search your contacts, and send messages or media on your behalf. MCP stands for Model Context Protocol, a standard that allows AI tools to communicate with external services in a structured way. The way it works: a Go program runs on your computer and connects to WhatsApp using the same web-based protocol that WhatsApp Web uses. It stores your message history in a local SQLite database file on your machine. A separate Python server then exposes that data to Claude through a set of defined tools, so the AI can search chats, retrieve messages, find contacts, and send new messages or files. Your messages only leave your machine when you explicitly ask the AI to do something with them. To set it up, you scan a QR code the first time to authenticate with WhatsApp, similar to how you connect WhatsApp Web in a browser. After that, the bridge keeps running and syncs messages in the background. You configure Claude Desktop or Cursor to recognize the local Python server as an MCP integration, then restart the application. The capabilities exposed to the AI include reading individual messages and conversation history, searching contacts by name or phone number, listing chats, sending text messages to individuals or groups, and sending media files like images, video, audio, and documents. Sending audio as a playable voice message requires either an OGG Opus file or FFmpeg installed to convert other formats automatically. The README includes a caution about a security risk called prompt injection: because the AI reads your private messages, malicious content inside a received message could potentially instruct the AI to forward your data somewhere. This is a known risk with AI tools that have access to personal communication data.

Copy-paste prompts

Prompt 1
I've set up WhatsApp MCP with Claude Desktop. How do I ask Claude to find all messages from a contact named Sarah in the last week and summarize them?
Prompt 2
Show me how to configure Claude Desktop's mcp_settings.json to connect the whatsapp-mcp Python server so Claude can access my WhatsApp chats.
Prompt 3
I want Claude to send a WhatsApp voice message using whatsapp-mcp. What audio format is required and do I need FFmpeg installed?
Prompt 4
What is the prompt injection risk the whatsapp-mcp README warns about, and how can I reduce it when using Claude to read my private messages?
Open on GitHub → Explain another repo

← lharries on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.