NestDaddy

WhatsApp Web MCP Server

io.github.mario-andreschak/mcp-whatsapp-web ยท v1.2.0

WhatsApp MCP via web.js or browserless Baileys: messages, media, chats, groups and contacts

Connect Runs on your machine

Terminal
claude mcp add mcp-whatsapp-web -e WHATSAPP_BACKEND=<WHATSAPP_BACKEND> -e BAILEYS_SESSION_DIR=<BAILEYS_SESSION_DIR> -e LOG_LEVEL=<LOG_LEVEL> -e LOG_STDERR_LEVEL=<LOG_STDERR_LEVEL> -e WHATSAPP_HEADLESS=<WHATSAPP_HEADLESS> -e WHATSAPP_NO_SANDBOX=<WHATSAPP_NO_SANDBOX> -e BROWSER_EXECUTABLE_PATH=<BROWSER_EXECUTABLE_PATH> -e WHATSAPP_SESSION_DIR=<WHATSAPP_SESSION_DIR> -e WHATSAPP_PAIRING_PHONE_NUMBER=<WHATSAPP_PAIRING_PHONE_NUMBER> -e FFMPEG_PATH=<FFMPEG_PATH> -e WA_WEB_VERSION=<WA_WEB_VERSION> -e HEALTH_CHECK_INTERVAL_MS=<HEALTH_CHECK_INTERVAL_MS> -e TOOL_READY_TIMEOUT_MS=<TOOL_READY_TIMEOUT_MS> -e MCP_HTTP_PORT=<MCP_HTTP_PORT> -e MCP_HTTP_HOST=<MCP_HTTP_HOST> -e MCP_OAUTH=<MCP_OAUTH> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-whatsapp-web": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "WHATSAPP_BACKEND": "<WHATSAPP_BACKEND>",
        "BAILEYS_SESSION_DIR": "<BAILEYS_SESSION_DIR>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "LOG_STDERR_LEVEL": "<LOG_STDERR_LEVEL>",
        "WHATSAPP_HEADLESS": "<WHATSAPP_HEADLESS>",
        "WHATSAPP_NO_SANDBOX": "<WHATSAPP_NO_SANDBOX>",
        "BROWSER_EXECUTABLE_PATH": "<BROWSER_EXECUTABLE_PATH>",
        "WHATSAPP_SESSION_DIR": "<WHATSAPP_SESSION_DIR>",
        "WHATSAPP_PAIRING_PHONE_NUMBER": "<WHATSAPP_PAIRING_PHONE_NUMBER>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "WA_WEB_VERSION": "<WA_WEB_VERSION>",
        "HEALTH_CHECK_INTERVAL_MS": "<HEALTH_CHECK_INTERVAL_MS>",
        "TOOL_READY_TIMEOUT_MS": "<TOOL_READY_TIMEOUT_MS>",
        "MCP_HTTP_PORT": "<MCP_HTTP_PORT>",
        "MCP_HTTP_HOST": "<MCP_HTTP_HOST>",
        "MCP_OAUTH": "<MCP_OAUTH>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-whatsapp-web": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "WHATSAPP_BACKEND": "<WHATSAPP_BACKEND>",
        "BAILEYS_SESSION_DIR": "<BAILEYS_SESSION_DIR>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "LOG_STDERR_LEVEL": "<LOG_STDERR_LEVEL>",
        "WHATSAPP_HEADLESS": "<WHATSAPP_HEADLESS>",
        "WHATSAPP_NO_SANDBOX": "<WHATSAPP_NO_SANDBOX>",
        "BROWSER_EXECUTABLE_PATH": "<BROWSER_EXECUTABLE_PATH>",
        "WHATSAPP_SESSION_DIR": "<WHATSAPP_SESSION_DIR>",
        "WHATSAPP_PAIRING_PHONE_NUMBER": "<WHATSAPP_PAIRING_PHONE_NUMBER>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "WA_WEB_VERSION": "<WA_WEB_VERSION>",
        "HEALTH_CHECK_INTERVAL_MS": "<HEALTH_CHECK_INTERVAL_MS>",
        "TOOL_READY_TIMEOUT_MS": "<TOOL_READY_TIMEOUT_MS>",
        "MCP_HTTP_PORT": "<MCP_HTTP_PORT>",
        "MCP_HTTP_HOST": "<MCP_HTTP_HOST>",
        "MCP_OAUTH": "<MCP_OAUTH>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-whatsapp-web": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "WHATSAPP_BACKEND": "<WHATSAPP_BACKEND>",
        "BAILEYS_SESSION_DIR": "<BAILEYS_SESSION_DIR>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "LOG_STDERR_LEVEL": "<LOG_STDERR_LEVEL>",
        "WHATSAPP_HEADLESS": "<WHATSAPP_HEADLESS>",
        "WHATSAPP_NO_SANDBOX": "<WHATSAPP_NO_SANDBOX>",
        "BROWSER_EXECUTABLE_PATH": "<BROWSER_EXECUTABLE_PATH>",
        "WHATSAPP_SESSION_DIR": "<WHATSAPP_SESSION_DIR>",
        "WHATSAPP_PAIRING_PHONE_NUMBER": "<WHATSAPP_PAIRING_PHONE_NUMBER>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "WA_WEB_VERSION": "<WA_WEB_VERSION>",
        "HEALTH_CHECK_INTERVAL_MS": "<HEALTH_CHECK_INTERVAL_MS>",
        "TOOL_READY_TIMEOUT_MS": "<TOOL_READY_TIMEOUT_MS>",
        "MCP_HTTP_PORT": "<MCP_HTTP_PORT>",
        "MCP_HTTP_HOST": "<MCP_HTTP_HOST>",
        "MCP_OAUTH": "<MCP_OAUTH>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
WHATSAPP_BACKEND
Optional
WhatsApp backend: webjs uses a persistent browser profile; baileys connects without a browser and requires separate pairing
BAILEYS_SESSION_DIR
Optional
Baileys credentials and synchronized history directory (default: <working directory>/baileys-sessions). Use a private absolute path, owned by one server process.
LOG_LEVEL
Optional
Log level for the log file (logs/mcp-whatsapp.log)
LOG_STDERR_LEVEL
Optional
Log level for stderr (visible in most MCP client logs)
WHATSAPP_HEADLESS
Optional
webjs only: set to false to show the browser window instead of running headless
WHATSAPP_NO_SANDBOX
Optional
webjs only: explicitly disable the browser sandbox for containers that require it. The sandbox is enabled by default.
BROWSER_EXECUTABLE_PATH
Optional
webjs only: browser executable. Chrome and Edge are auto-detected; set this to use a specific browser. Chrome/Edge is required for sending videos and GIFs.
WHATSAPP_SESSION_DIR
Optional
webjs only: persistent browser profile directory (default: <working directory>/whatsapp-sessions)
WHATSAPP_PAIRING_PHONE_NUMBER
Optional
Phone number pairing: when set (international, symbol-free format, e.g. 4915112345678), an 8-character pairing code is logged to stderr on startup instead of relying on the QR code
FFMPEG_PATH
Optional
Path to an ffmpeg binary (only needed to override the ffmpeg installed automatically via the ffmpeg-static npm package)
WA_WEB_VERSION
Optional
webjs only: pin the WhatsApp Web version if a WhatsApp-side update breaks the client.
HEALTH_CHECK_INTERVAL_MS
Optional
webjs only: connection health check interval in milliseconds (<=0 disables)
TOOL_READY_TIMEOUT_MS
Optional
How long tool calls wait for the WhatsApp client to become ready before erroring
MCP_HTTP_PORT
Optional
When set, additionally exposes the MCP endpoint at http://127.0.0.1:<port>/mcp (Streamable HTTP) from the same process
MCP_HTTP_HOST
Optional
Bind address for the HTTP endpoint (do not expose publicly; the endpoint controls your personal WhatsApp account)
MCP_OAUTH
Optional
Enable OAuth for the HTTP endpoint: /mcp requires a bearer token and clients authenticate via a browser page showing the WhatsApp QR code / pairing form

Details

Package[email protected] (NPM, stdio)
First published5 Sep 2026
Last updated5 Sep 2026
Registry nameio.github.mario-andreschak/mcp-whatsapp-web

More communication servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.