Whatsapp logo

Whatsapp

Read, search, and send WhatsApp messages through an MCP client using a linked-device session and local message store.

Install Whatsapp

Run the project’s own setup commands, in order.

Setup steps from the project

whatsapp installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Install
    brew install openclaw/tap/wacli
    
  2. 2. Sign in
    wacli auth
    

Overview

The whatsapp MCP server connects MCP clients to a linked WhatsApp account through wacli, a scriptable WhatsApp client. It mirrors messages into a local SQLite index so agents can read and search synced conversations, then send text or files through WhatsApp. Pairing begins by scanning a QR code from WhatsApp’s Linked devices screen, and ongoing synchronization keeps local data current. Reach for it when an agent needs controlled access to personal or business WhatsApp conversations from a communication workflow.

Use cases

  • Search synced WhatsApp conversations for messages and media
  • Read recent messages from selected chats
  • Send text or files to approved WhatsApp recipients
  • Route WhatsApp data into an agent workflow
  • Manage local chat state from an MCP client

Key features

  • Linked-device WhatsApp authentication
  • Local SQLite message indexing
  • Message search with media filtering
  • Text and file sending
  • Named account stores
  • Read-only operation

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

42/42 checks healthy over the last 36d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2.9kStargazers on the source repository.
Last commit6d agoMost recent push to the default branch.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Whatsapp works

What whatsapp does

whatsapp exposes a linked WhatsApp account to MCP clients through wacli. Its core use cases are reading conversation data, searching messages, and sending messages. The underlying client also supports chat, contact, group, channel, media, profile, presence, and local-store operations, giving integrations access to more than a simple message relay.

wacli connects as a WhatsApp Web linked device using the whatsmeow protocol implementation. It is an independent client and is not affiliated with WhatsApp or Meta.

How it works

Pair the account by running the authentication flow and scanning the terminal QR code from WhatsApp’s Linked devices screen. The first authentication performs an initial sync. A follow mode can continue mirroring new events into local storage while the account remains connected.

The WhatsApp session database and the searchable message index are kept separately. Searches use the local index, allowing an agent to query synchronized messages without requiring an active WhatsApp connection at the moment of the search. History availability depends on what WhatsApp Web provides; the local history coverage can be inspected before attempting to retrieve older messages.

Recipients for outgoing messages may be phone numbers, WhatsApp JIDs, or names from synchronized contacts, groups, and chats. Sending is subject to the recipient being someone the account is allowed to contact.

Setup and configuration

Install a release archive for macOS, Linux, or Windows, use Homebrew on macOS or Linux, or build from source with Go 1.27.0 or newer and a C compiler. Official macOS binaries require macOS 15 or later. Source builds use the SQLite FTS5 build tag.

The default data directory is ~/.local/state/wacli on Linux and ~/.wacli on other platforms. Set WACLI_STORE_DIR or pass a store option to choose another location. Named accounts provide separate sessions, databases, and locks for multiple WhatsApp identities.

Set WACLI_READONLY=1, or use the equivalent read-only option, when an integration must not modify WhatsApp or the local store. JSON output is available for one-shot commands, while long-running commands can emit newline-delimited lifecycle events.

Tools and capabilities

  • Read and inspect locally synchronized WhatsApp messages.
  • Search messages, including searches filtered for media.
  • Send text and files to phone numbers, JIDs, contacts, groups, or chats.
  • Download synchronized media and export local records.
  • Find contacts and inspect or change chat state, including read, archive, pin, and mute operations.
  • Inspect groups, communities, channels, profile details, presence, storage, and diagnostics.

Limitations and notes

Search depends on the locally synchronized SQLite index, not on an unrestricted live search of WhatsApp. WhatsApp Web history is provided on a best-effort basis, so older conversations may not be available locally. Write operations use per-store locking; a running follow-mode sync process can coordinate supported send, chat-state, contact, and contact-save operations while it owns that lock.

Because the account is paired as a linked device, access depends on completing WhatsApp’s device-linking flow and maintaining the relevant local session. Read-only mode is available for integrations that should avoid changes.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Whatsapp

whatsapp is an MCP server that connects an MCP client to a linked WhatsApp account and exposes tools for reading messages, searching the local message index, and sending messages. It uses wacli’s linked-device session and local SQLite store, so agents can work with synced WhatsApp data.

Install wacli from a release archive, use Homebrew on macOS or Linux, or build it with Go 1.27.0 or newer and a C compiler. The project also provides installation guidance for Docker and platform-specific builds.

Pair the account by starting authentication and scanning the QR code shown in the terminal from WhatsApp’s Linked devices screen. The authentication flow performs the first synchronization after pairing.

Yes. Searches use the locally mirrored SQLite message index, so synchronized messages can be searched without a live WhatsApp connection. Results depend on the history available in the local store.

Run it in read-only mode by setting `WACLI_READONLY=1` or using the equivalent read-only option. This is intended for integrations that must not change WhatsApp or local data.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewWhatsapp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/whatsapp-4?style=directory)](https://allmcps.com/mcp/whatsapp-4)
HTML Embed
<a href="https://allmcps.com/mcp/whatsapp-4"><img src="https://allmcps.com/api/badge/whatsapp-4?style=directory" alt="Whatsapp on AllMCPs" /></a>