wa-mcp

wa-mcp

Lets Claude read and send WhatsApp messages (DMs and groups) through your own WhatsApp account using the Baileys library.

Category
Visit Server

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 in auth/, messages in messages.db). Treat auth/ 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_message call.

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 login again.
  • Ban risk - this uses an unofficial API. Keep usage personal and low-volume; don't send bulk/automated spam.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured