Whatsapp Macos

io.github.kalki-kgpPublished by GitHub account kalki-kgpv0.1.1Updated Oct 24, 2026

WhatsApp MCP for macOS - Read messages from local DB, send via WhatsApp Web.

Overview

AI-generated overview

A macOS-only MCP server that lets an assistant read your local WhatsApp chats, search messages and contacts, and optionally send replies through a WhatsApp Web.

What you can do
Search contacts by name or phone number and list recent conversations with unread counts, all from the local WhatsApp database on macOS, working offline without a bridge. Read chat history with date filtering, search messages across all chats, and summarize unread messages. Check WhatsApp connection status and get a QR code when needed. Send messages and receive incoming messages once the optional WhatsApp Web bridge is running.
When to use it
Use it when you want an assistant to catch you up on unread WhatsApp chats, search your message history, or draft and send replies, and you are on macOS with the WhatsApp desktop app installed and logged in.
Requirements
macOS with the WhatsApp desktop app installed and logged in. The server runs locally via uvx from the PyPI package whatsapp-mcp-macos; uv must be installed. Sending messages additionally needs Node.js 18+ and the separate WhatsApp bridge started locally, with a QR scan from your phone to connect to WhatsApp Web.
Before you install
The server reads your personal WhatsApp message database, so an assistant can see private conversations. Sending messages requires the bridge, which connects to WhatsApp Web and can send messages on your behalf; review before allowing sends. Data stays local except when sending, which goes through WhatsApp Web.

Installation

In SourceWeft

  1. Open Whatsapp Macos in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

bash
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

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

Connect to Claude Desktop

  1. Open config file:

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

    If it doesn't exist, create it.

  2. Find the full path to uvx:

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

    json
    {  "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:

json
{  "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:

    bash
    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

ToolDescriptionRequires Bridge
whatsapp_statusCheck connection, get QR if neededNo
whatsapp_search_contactsSearch contacts by name/phoneNo
whatsapp_list_chatsList recent conversationsNo
whatsapp_get_messagesGet messages from a chatNo
whatsapp_search_messagesSearch across all chatsNo
whatsapp_unreadGet unread message summaryNo
whatsapp_sendSend a messageYes
whatsapp_incomingGet real-time incoming messagesYes

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

bash
# Clonegit clone https://github.com/kalki-kgp/whatsapp-mcp.gitcd whatsapp-mcp
# Install in dev modepip install -e ".[dev]"
# Run serverpython -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

Source: README.md at commit c1f372d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts