Skip to main content

Check it out on https://mcp.paperknife.app/

WhatsApp MCP for macOS

A Model Context Protocol server that connects Claude to your WhatsApp. Ask Claude to catch you up on unread chats, search your message history, or send a reply.

Reading works in about a minute with no QR scan and no Node.js. Sending is optional and needs one extra step.

macOS MCP 1.0 MIT License

Features

Search contacts by name or phone number. Read chat history with date filtering. List recent conversations with unread counts. Summarize everything you haven't read yet. Send replies and receive incoming messages once the bridge is connected.

Requirements

  • macOS with the WhatsApp desktop app installed and logged in
  • Node.js 18+, only if you want to send messages

You don't need to install Python. uvx fetches a suitable version on its own.

Installation

Install uv if you don't have it:

curl -LsSf https://astral.sh/uv/install.sh | sh

That's the whole install. uvx downloads the server on first launch, so there's no virtualenv to create and no pip install step. Go to the next section to point Claude at it.

From source

git clone https://github.com/kalki-kgp/whatsapp-mcp.git
cd whatsapp-mcp
uv venv && uv pip install -e .

Connect to Claude Desktop

  1. Open config file:

    open ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    If it doesn't exist, create it.

  2. Find the full path to uvx:

    which uvx
    
  3. Add the WhatsApp MCP server, pasting that path as the command:

    {
      "mcpServers": {
        "whatsapp": {
          "command": "/Users/YOU/.local/bin/uvx",
          "args": ["whatsapp-mcp-macos"]
        }
      }
    }
    

    Use the absolute path, not bare uvx. Claude Desktop starts with a minimal PATH that doesn't include ~/.local/bin, so a bare command name is the most common reason the server never appears.

  4. Restart Claude Desktop with Cmd+Q, then reopen. Closing the window is not enough.

  5. Click the MCP tools icon in the chat input and check that "whatsapp" is listed.

  6. Start chatting:

    • "Show my recent WhatsApp chats"
    • "Search messages for dinner plans"

Connect to Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "whatsapp": {
      "command": "/Users/YOU/.local/bin/uvx",
      "args": ["whatsapp-mcp-macos"]
    }
  }
}

Restart Cursor and use WhatsApp tools in the AI chat.

Usage

Reading messages (works immediately)

Just ask Claude:

  • "Show my recent WhatsApp chats"
  • "Search for messages about dinner"
  • "What did John say yesterday?"
  • "Catch me up on unread messages"

Sending messages (requires bridge)

  1. Start the WhatsApp bridge:

    cd bridge && npm install && npm start
    
  2. Ask Claude to check connection:

    • "Check WhatsApp status"
  3. If it shows a QR code, open the data URL in a browser and scan with your phone

  4. Once connected, you can send:

    • "Send a message to Mom saying I'll be late"
    • "Reply to John with 'sounds good'"

Tools

Tool Description Requires Bridge
whatsapp_status Check connection, get QR if needed No
whatsapp_search_contacts Search contacts by name/phone No
whatsapp_list_chats List recent conversations No
whatsapp_get_messages Get messages from a chat No
whatsapp_search_messages Search across all chats No
whatsapp_unread Get unread message summary No
whatsapp_send Send a message Yes
whatsapp_incoming Get real-time incoming messages Yes

How it works

Claude ──MCP──▶ WhatsApp MCP Server
                       │
                       ├──▶ Local SQLite DBs (read messages)
                       │    ~/Library/Group Containers/group.net.whatsapp.WhatsApp.shared/
                       │
                       └──▶ WhatsApp Bridge (:3010) ──▶ WhatsApp Web
                            (for sending)

Read operations query the local WhatsApp database directly, so they work offline and need no bridge.

Send operations go through the bridge, which connects to WhatsApp Web using Baileys.

Development

# Clone
git clone https://github.com/kalki-kgp/whatsapp-mcp.git
cd whatsapp-mcp

# Install in dev mode
pip install -e ".[dev]"

# Run server
python -m whatsapp_mcp

Privacy

  • All data stays local. The server reads messages from your own WhatsApp database
  • No data is sent to external servers (except WhatsApp Web when sending)
  • The MCP server runs locally on your machine

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whatsapp_mcp_macos-0.1.3.tar.gz (111.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whatsapp_mcp_macos-0.1.3-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file whatsapp_mcp_macos-0.1.3.tar.gz.

File metadata

  • Download URL: whatsapp_mcp_macos-0.1.3.tar.gz
  • Upload date:
  • Size: 111.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for whatsapp_mcp_macos-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b3e38da0217f9b176533a6d555e9521fff8190f66e880280fa6908ef50830915
MD5 2cf330719157b84407c93918a267d1ae
BLAKE2b-256 e7628449d210babe6e640cc2d507b26d22d33c50bed12c21f692fa1db4ec178b

See more details on using hashes here.

File details

Details for the file whatsapp_mcp_macos-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: whatsapp_mcp_macos-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for whatsapp_mcp_macos-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0ca26ebfc0402d8790999f33e9030268f9ea04ce443d45b24e27d9766a8e92fa
MD5 26b06aeb1cd4684f90e680e7cfce0429
BLAKE2b-256 7a6a0173de6125a6982b46da6d5c42808d4e469e15e6d6b262aa4424efad3bfb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page