WhatsApp Web MCP Server
WhatsApp MCP via web.js or browserless Baileys: messages, media, chats, groups and contacts
The current version, v1.2.0, was published to the official MCP registry on 2026-09-05. It is distributed as mcp-whatsapp-web on npm, filed under Browser Automation by this index, and declares 16 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using WhatsApp Web MCP Server in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“No hidden instructions”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - Still current: the description we screened is unchanged, re-checked against the registry
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.
That verdict was true at screening time (snapshot 2026-10-15).
Contracts can change after screening, with no version bump. The gate pins WhatsApp Web MCP Server’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for WhatsApp Web MCP Server](https://mcpindex.ai/server/io-github-mario-andreschak-mcp-whatsapp-web) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-mario-andreschak-mcp-whatsapp-web">Independent trust record for WhatsApp Web MCP Server</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-mario-andreschak-mcp-whatsapp-web)<a href="https://mcpindex.ai/server/io-github-mario-andreschak-mcp-whatsapp-web"><img src="https://mcpindex.ai/api/v1/badge/io-github-mario-andreschak-mcp-whatsapp-web" alt="mcpindex verdict" height="20" /></a>WHATSAPP_BACKENDWhatsApp backend: webjs uses a persistent browser profile; baileys connects without a browser and requires separate pairing
BAILEYS_SESSION_DIRBaileys credentials and synchronized history directory (default: <working directory>/baileys-sessions). Use a private absolute path, owned by one server process.
LOG_LEVELLog level for the log file (logs/mcp-whatsapp.log)
LOG_STDERR_LEVELLog level for stderr (visible in most MCP client logs)
WHATSAPP_HEADLESSwebjs only: set to false to show the browser window instead of running headless
WHATSAPP_NO_SANDBOXwebjs only: explicitly disable the browser sandbox for containers that require it. The sandbox is enabled by default.
BROWSER_EXECUTABLE_PATHwebjs 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_DIRwebjs only: persistent browser profile directory (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_VERSIONwebjs only: pin the WhatsApp Web version if a WhatsApp-side update breaks the client.
HEALTH_CHECK_INTERVAL_MSwebjs only: connection 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
Publish, test and share browser games on PlayDrop from your AI agent.
Look up a FindMeTool page URL. Tool input stays in the browser.
MCP server that bridges local apps with Selenix for browser automation.