Your own WhatsApp as an MCP server: read, search and send from any MCP client.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.

wacli is a scriptable WhatsApp client for people and tools that work from the command line. It pairs as a linked device, mirrors messages into a local SQLite store, and supports search, sending, and chat management.
wacliuses the WhatsApp Web protocol throughwhatsmeow. It is not affiliated with WhatsApp or Meta.
Homebrew on macOS or Linux:
Prebuilt archives for macOS, Linux, and Windows are available from GitHub Releases.
To build from source, install Go 1.27.0 or newer and a C compiler, then run:
See the installation guide for release archives, Docker, and platform-specific build requirements.
Pair the CLI by scanning the terminal QR code from WhatsApp's Linked devices screen. auth performs the first sync after pairing.
Sending requires a recipient you are allowed to contact. Recipients can be phone numbers, WhatsApp JIDs, or synced contact, group, and chat names.
The quickstart covers phone-number pairing, named accounts, media, and diagnostics.
Run a continuous sync to keep the local store current:
wacli keeps the WhatsApp session and its own searchable message index in separate SQLite databases. Search reads the local index, so it works without a live WhatsApp connection:
WhatsApp Web provides history on a best-effort basis. Use history coverage to inspect what is available locally before requesting older messages from the primary phone.
Human-readable tables are the default. Use --json for one-shot commands and --events for NDJSON lifecycle events from long-running commands. Progress and errors stay on stderr.
Use --read-only or WACLI_READONLY=1 when an integration must not change WhatsApp or the local store:
Write commands take a per-store lock. After a sync --follow process finishes startup, supported send commands plus chats mark-read and chats mark-unread are delegated to it while it owns that lock. See companion integrations for webhooks and safe read-only SQLite access.
| Area | What it covers |
|---|---|
auth, accounts | Pair a linked device and manage isolated account stores. |
sync, history | Mirror new events and request older per-chat history. |
messages, calls | Search, inspect, export, and manage local records. |
send, media | Send text and files or download synced media. |
contacts, chats | Find people and manage local or remote chat state. |
groups, channels | Inspect and manage groups, communities, and channels. |
profile, presence | Manage profile details and chat presence. |
store, doctor | Inspect local storage and diagnose the setup. |
The complete documentation is at wacli.sh, or run wacli help <command> for the installed command reference.
The default store is ~/.local/state/wacli on Linux and ~/.wacli elsewhere. Override it with --store DIR or WACLI_STORE_DIR; use named accounts when each WhatsApp identity needs its own session, database, and lock.
See accounts for store selection and sync for storage limits, media downloads, webhooks, and presence behavior.
Development uses the Go 1.27.1 toolchain selected by go.mod, Node.js 24 or newer, pnpm, cgo, and a C compiler. The source minimum remains Go 1.27.0.
Heavily inspired by whatsapp-cli by Vicente Reig.
MIT.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/whatsapp-4)<a href="https://allmcps.com/mcp/whatsapp-4"><img src="https://allmcps.com/api/badge/whatsapp-4?style=directory" alt="Whatsapp on AllMCPs" /></a>