wa-mcp
Lets Claude read and send WhatsApp messages (DMs and groups) through your own WhatsApp account using the Baileys library.
README
wa-mcp - WhatsApp MCP server for Claude Desktop
Lets Claude read and send WhatsApp messages (DMs and groups) through your own WhatsApp account. Uses Baileys (direct WebSocket, no browser) and stores messages locally in SQLite.
Prerequisites
- Node.js 20+ - check with
node --version(download). - Claude Desktop installed (download).
- git to clone the repo (or download the ZIP from GitHub).
- A phone with WhatsApp installed (for the one-time QR link).
Setup (3 steps)
# 0. Clone the repo and enter the folder
git clone https://github.com/JaromirSvaton/WA-MCP.git
cd WA-MCP
# 1. Install + build + show the Claude Desktop config for your machine
npm run setup
# 2. Link your WhatsApp (one time only) - scan the QR with your phone:
# WhatsApp > Settings > Linked Devices > Link a Device
npm run login
# 3. Paste the config printed by step 1 into:
# %APPDATA%\Claude\claude_desktop_config.json
# then fully restart Claude Desktop (quit from system tray, reopen).
If the QR code looks garbled in your terminal, run chcp 65001 first or use
Windows Terminal.
Configuring Claude Desktop manually
npm run setup (or npm run print-config) prints a snippet with absolute paths
for your machine. It looks like this:
{
"mcpServers": {
"whatsapp": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\path\\to\\WA-MCP\\dist\\index.js"]
}
}
}
Open %APPDATA%\Claude\claude_desktop_config.json (create it if it doesn't
exist), paste the snippet, and if the file already has an "mcpServers" object,
merge the "whatsapp" entry into it. Then fully quit Claude Desktop from the
system tray and reopen it. You should see the WhatsApp tools available in a new
chat.
Tools exposed to Claude
| Tool | What it does |
|---|---|
list_chats |
Recent chats (DMs + groups) with JIDs and previews |
read_messages |
Message history of a chat, with paging |
search_messages |
Full-text search across all stored messages |
search_contacts |
Find a contact's JID by name or number |
send_message |
Send text to a phone number or group JID |
list_group_participants |
Members of a group |
get_connection_status |
Troubleshooting |
How it works
- All data lives in
~/.wa-mcp/(session keys inauth/, messages inmessages.db). Treatauth/like a private key - anyone with those files can hijack your WhatsApp session. - Messages are ingested into SQLite while the server runs (Claude Desktop keeps it running in the background). History from before the first login is only partially available - WhatsApp sends a limited recent-history sync.
- Claude Desktop asks for your approval before every
send_messagecall.
Commands
| Command | Purpose |
|---|---|
npm run setup |
Install, build, print Claude Desktop config |
npm run login |
Link WhatsApp via QR (one time) |
npm run logout |
Wipe the local session |
npm run build |
Recompile after code changes |
Troubleshooting
- "Not logged in" - run
npm run login, then restart Claude Desktop. - Server not showing in Claude - check the config file is valid JSON and
paths are absolute; view logs at
%APPDATA%\Claude\logs\mcp*.log. - Logged out randomly - WhatsApp occasionally drops linked devices; run
npm run loginagain. - Ban risk - this uses an unofficial API. Keep usage personal and low-volume; don't send bulk/automated spam.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.