WhatsApp MCP server enabling per-chat permissions for send, read, and delete actions across MCP clients.
Configuration
View docs{
"mcpServers": {
"brendandebeasi-zappy-mcp": {
"command": "node",
"args": [
"/path/to/zappy-mcp/src/index.js",
"--config",
"/path/to/config.json"
]
}
}
}You run a dedicated MCP server that connects to WhatsApp Web via automation, enabling your MCP clients to send, read, and delete messages with granular per-chat permissions. This server keeps a WhatsApp session locally, so you authenticate once and reuse that session across configurations and projects.
Install and start the MCP server, then configure your MCP clients to talk to it. The server maintains a local session with WhatsApp so you can grant per-chat permissions and control exactly which conversations the AI may access. Use the status and messaging tools to manage connections, simulate interactions, and enforce security boundaries.
Prerequisites: Node.js installed on your machine. You do not need root access for normal operation, but you do need permission to create files in your config and auth directories.
Steps to install and run the MCP server locally:
This MCP server uses a local WhatsApp session stored under the user’s configuration directory. You authenticate once by scanning a QR code, and the session is reused on subsequent runs. Different MCP configs can share the same WhatsApp session while enforcing their own per-chat permissions.
By default, no chats are allowed. You explicitly grant access per chat with canSend, canRead, and canDelete permissions in your config. Protect the auth data as you would a password, and ensure the QR code is scanned only on trusted devices.
If messages stall or authentication fails, restart the MCP server after re-authenticating. Clear session data if needed and re-scan the QR code to re-establish a login.
Available tooling includes status checks, permission listings, chat discovery, and message actions. Use these tools to observe connection health, enumerate allowed chats, view IDs, and perform permitted messaging actions within your configured scope.
If you are using a desktop agent or a project with its own MCP manifest, you will reference the local runtime command and point to your chosen config file. The runtime typically runs the index script with a --config flag.
Check WhatsApp connection status and show config and auth locations.
Show all permitted chats with their current permissions.
List all WhatsApp chats with IDs to identify conversation targets.
Send a message to a chat. Requires canSend permission.
Fetch recent messages from a chat. Requires canRead permission.
Delete a message you sent. Requires canDelete permission and only affects messages sent by you.