WhatsApp Web MCP Server MCP Server
io.github.mario-andreschak/mcp-whatsapp-web
What is the WhatsApp Web MCP Server MCP server?
MCP server for WhatsApp via whatsapp-web.js: send/receive messages, media, chats, groups, contacts
How to install WhatsApp Web MCP Server
Copy-paste configuration for popular MCP clients.
LOG_LEVELLog level for the log file (logs/mcp-whatsapp.log)
LOG_STDERR_LEVELLog level for stderr (visible in most MCP client logs)
WHATSAPP_HEADLESSSet to false to show the browser window instead of running headless (debugging aid)
BROWSER_EXECUTABLE_PATHBrowser executable. Chrome and Edge are auto-detected in their standard install locations; set this only to use a specific browser. A real Chrome/Edge is required for sending videos and GIFs.
WHATSAPP_SESSION_DIRWhere the WhatsApp session (browser profile) is stored (default: <working directory>/whatsapp-sessions)
WHATSAPP_PAIRING_PHONE_NUMBERPhone 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_PATHPath to an ffmpeg binary (only needed to override the ffmpeg installed automatically via the ffmpeg-static npm package)
WA_WEB_VERSIONPin the WhatsApp Web version. Only set this if a WhatsApp-side update breaks the client.
HEALTH_CHECK_INTERVAL_MSConnection health check interval in milliseconds (<=0 disables)
TOOL_READY_TIMEOUT_MSHow long tool calls wait for the WhatsApp client to become ready before erroring
MCP_HTTP_PORTWhen set, additionally exposes the MCP endpoint at http://127.0.0.1:<port>/mcp (Streamable HTTP) from the same process
MCP_HTTP_HOSTBind address for the HTTP endpoint (do not expose publicly; the endpoint controls your personal WhatsApp account)
MCP_OAUTHEnable OAuth for the HTTP endpoint: /mcp requires a bearer token and clients authenticate via a browser page showing the WhatsApp QR code / pairing form
{
"mcpServers": {
"mcp-whatsapp-web": {
"command": "npx",
"args": [
"-y",
"mcp-whatsapp-web"
],
"env": {
"LOG_LEVEL": "<YOUR_LOG_LEVEL>",
"LOG_STDERR_LEVEL": "<YOUR_LOG_STDERR_LEVEL>",
"WHATSAPP_HEADLESS": "<YOUR_WHATSAPP_HEADLESS>",
"BROWSER_EXECUTABLE_PATH": "<YOUR_BROWSER_EXECUTABLE_PATH>",
"WHATSAPP_SESSION_DIR": "<YOUR_WHATSAPP_SESSION_DIR>",
"WHATSAPP_PAIRING_PHONE_NUMBER": "<YOUR_WHATSAPP_PAIRING_PHONE_NUMBER>",
"FFMPEG_PATH": "<YOUR_FFMPEG_PATH>",
"WA_WEB_VERSION": "<YOUR_WA_WEB_VERSION>",
"HEALTH_CHECK_INTERVAL_MS": "<YOUR_HEALTH_CHECK_INTERVAL_MS>",
"TOOL_READY_TIMEOUT_MS": "<YOUR_TOOL_READY_TIMEOUT_MS>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_OAUTH": "<YOUR_MCP_OAUTH>"
}
}
}
}{
"mcpServers": {
"mcp-whatsapp-web": {
"command": "npx",
"args": [
"-y",
"mcp-whatsapp-web"
],
"env": {
"LOG_LEVEL": "<YOUR_LOG_LEVEL>",
"LOG_STDERR_LEVEL": "<YOUR_LOG_STDERR_LEVEL>",
"WHATSAPP_HEADLESS": "<YOUR_WHATSAPP_HEADLESS>",
"BROWSER_EXECUTABLE_PATH": "<YOUR_BROWSER_EXECUTABLE_PATH>",
"WHATSAPP_SESSION_DIR": "<YOUR_WHATSAPP_SESSION_DIR>",
"WHATSAPP_PAIRING_PHONE_NUMBER": "<YOUR_WHATSAPP_PAIRING_PHONE_NUMBER>",
"FFMPEG_PATH": "<YOUR_FFMPEG_PATH>",
"WA_WEB_VERSION": "<YOUR_WA_WEB_VERSION>",
"HEALTH_CHECK_INTERVAL_MS": "<YOUR_HEALTH_CHECK_INTERVAL_MS>",
"TOOL_READY_TIMEOUT_MS": "<YOUR_TOOL_READY_TIMEOUT_MS>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_OAUTH": "<YOUR_MCP_OAUTH>"
}
}
}
}{
"mcpServers": {
"mcp-whatsapp-web": {
"command": "npx",
"args": [
"-y",
"mcp-whatsapp-web"
],
"env": {
"LOG_LEVEL": "<YOUR_LOG_LEVEL>",
"LOG_STDERR_LEVEL": "<YOUR_LOG_STDERR_LEVEL>",
"WHATSAPP_HEADLESS": "<YOUR_WHATSAPP_HEADLESS>",
"BROWSER_EXECUTABLE_PATH": "<YOUR_BROWSER_EXECUTABLE_PATH>",
"WHATSAPP_SESSION_DIR": "<YOUR_WHATSAPP_SESSION_DIR>",
"WHATSAPP_PAIRING_PHONE_NUMBER": "<YOUR_WHATSAPP_PAIRING_PHONE_NUMBER>",
"FFMPEG_PATH": "<YOUR_FFMPEG_PATH>",
"WA_WEB_VERSION": "<YOUR_WA_WEB_VERSION>",
"HEALTH_CHECK_INTERVAL_MS": "<YOUR_HEALTH_CHECK_INTERVAL_MS>",
"TOOL_READY_TIMEOUT_MS": "<YOUR_TOOL_READY_TIMEOUT_MS>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_OAUTH": "<YOUR_MCP_OAUTH>"
}
}
}
}{
"servers": {
"mcp-whatsapp-web": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-whatsapp-web"
],
"env": {
"LOG_LEVEL": "<YOUR_LOG_LEVEL>",
"LOG_STDERR_LEVEL": "<YOUR_LOG_STDERR_LEVEL>",
"WHATSAPP_HEADLESS": "<YOUR_WHATSAPP_HEADLESS>",
"BROWSER_EXECUTABLE_PATH": "<YOUR_BROWSER_EXECUTABLE_PATH>",
"WHATSAPP_SESSION_DIR": "<YOUR_WHATSAPP_SESSION_DIR>",
"WHATSAPP_PAIRING_PHONE_NUMBER": "<YOUR_WHATSAPP_PAIRING_PHONE_NUMBER>",
"FFMPEG_PATH": "<YOUR_FFMPEG_PATH>",
"WA_WEB_VERSION": "<YOUR_WA_WEB_VERSION>",
"HEALTH_CHECK_INTERVAL_MS": "<YOUR_HEALTH_CHECK_INTERVAL_MS>",
"TOOL_READY_TIMEOUT_MS": "<YOUR_TOOL_READY_TIMEOUT_MS>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_OAUTH": "<YOUR_MCP_OAUTH>"
}
}
}
}claude mcp add mcp-whatsapp-web --env LOG_LEVEL=<YOUR_LOG_LEVEL> --env LOG_STDERR_LEVEL=<YOUR_LOG_STDERR_LEVEL> --env WHATSAPP_HEADLESS=<YOUR_WHATSAPP_HEADLESS> --env BROWSER_EXECUTABLE_PATH=<YOUR_BROWSER_EXECUTABLE_PATH> --env WHATSAPP_SESSION_DIR=<YOUR_WHATSAPP_SESSION_DIR> --env WHATSAPP_PAIRING_PHONE_NUMBER=<YOUR_WHATSAPP_PAIRING_PHONE_NUMBER> --env FFMPEG_PATH=<YOUR_FFMPEG_PATH> --env WA_WEB_VERSION=<YOUR_WA_WEB_VERSION> --env HEALTH_CHECK_INTERVAL_MS=<YOUR_HEALTH_CHECK_INTERVAL_MS> --env TOOL_READY_TIMEOUT_MS=<YOUR_TOOL_READY_TIMEOUT_MS> --env MCP_HTTP_PORT=<YOUR_MCP_HTTP_PORT> --env MCP_HTTP_HOST=<YOUR_MCP_HTTP_HOST> --env MCP_OAUTH=<YOUR_MCP_OAUTH> -- npx -y mcp-whatsapp-webRelated MCP servers
MCP server wrapping abap-adt-api for ABAP ADT development workflows against SAP systems
ABAP ADT MCP server for reading SAP objects (programs, classes, tables, CDS) via ADT
MCP CAD Studio
A self-contained parametric CAD studio MCP server with an interactive MCP App.
MCP Audio Studio
A digital audio workstation MCP App with sequencing, mixing, effects, automation, and rendering.
MCP VS Code
A self-hosted VS Code workbench embedded as an interactive MCP App.