Guides
Notes from running an MCP server in production.
Short, opinionated explainers on MCP, npm package management, and the corners of the WhatsApp automation problem we keep running into.
Does Meta keep WhatsApp message logs on its servers? The honest answer
Per WhatsApp
Drive WhatsApp via accessibility APIs: the actual VoiceOver vocabulary
Every guide tells you to call AXUIElementCreateApplication and walk kAXChildrenAttribute. None of them tell you what WhatsApp Catalyst actually exposes. Here are the five VoiceOver description patterns and three spatial thresholds whatsapp-mcp-macos matches against, lifted directly from the Swift source.
Manychat WhatsApp automation, and the local-agent alternative most teams never evaluate
Manychat drives WhatsApp through Meta
MCP server production gotchas: nine that bit me shipping a real local one
Every
mcp tool descriptions are agent invocation protocols, not blurbs
Most guides treat the description string on an MCP tool as documentation. On a shipping WhatsApp MCP server, the description is a micro-prompt that names the next tool to call, the verification step in between, and what NOT to do. Traced through Sources/WhatsAppMCP/main.swift.
npm-check package version (the three numbers the same install returns)
`npm-check
OpenSearch MCP server is the textbook stateless MCP. Some MCP servers cannot be that.
OpenSearch MCP server is the canonical example of a stateless MCP server. Every tool call is self-contained because the data is keyed by document id. WhatsApp MCP for macOS is the opposite: its search tool leaves the UI open and the next call consumes that state by index. Two designs, side by side.
openwa and WhatsApp Web protocol fragility: where it actually breaks
openwa drives WhatsApp Web through Puppeteer and injects a script that pulls Meta
The hidden risk of a self-hosted WhatsApp gateway
The famous risk of a self-hosted WhatsApp gateway is the account ban. The hidden one is custody: the gateway stores your full WhatsApp session as a portable plaintext file and runs it through an unaudited npm dependency tree. lotusbail, a poisoned Baileys clone with 56,000+ downloads, exfiltrated exactly that credential before it was caught in December 2025.
WhatsApp AI agent transport: it
Wiring an AI agent to WhatsApp means picking TWO transports stacked: stdio JSON-RPC between the agent and the MCP server, then a WhatsApp-side transport (Meta Cloud HTTPS, whatsmeow WebSocket, browser CDP, or macOS accessibility). The second one is where the real architectural choice lives.
WhatsApp API without a Meta Business account: 3 options (one gets you banned)
No official WhatsApp API works without a Meta Business account. The unofficial APIs that skip Meta link a reverse-engineered client device and get numbers banned in 2 to 8 weeks. A third path drives the genuine WhatsApp Desktop app via macOS accessibility and never connects to WhatsApp servers as a client at all.
WhatsApp automation without the web protocol: drive the desktop app instead
You can automate WhatsApp without speaking its web protocol. Instead of opening a WebSocket session like Baileys or running WhatsApp Web in a headless browser, whatsapp-mcp-macos reads the macOS accessibility tree of the genuine desktop app and posts synthetic clicks. No new linked device, no reverse-engineered client.
WhatsApp booking automation on the desktop client, with the chat history actually read
Booking automation on WhatsApp usually means Calendly + Zapier + a Meta Business API template firing into the void. The desktop-client path is different: a local MCP server drives the WhatsApp Mac app, reads the existing booking thread, drafts a reply that references the customer
WhatsApp Cloud API wrapper limits: the three-layer ceiling no one stacks for you
Meta
WhatsApp MCP on Mac without the Business API: the OS path, not another API
Every other WhatsApp MCP that skips Meta
WhatsApp MCP server: four ways one exists, and how to pick the right one
A WhatsApp MCP server exposes WhatsApp as JSON-RPC tools an AI can call. The four real implementations differ in HOW they reach WhatsApp: Business Cloud API, whatsmeow web-multidevice, headless WhatsApp Web, or macOS accessibility. Side-by-side, with the failure modes each one hides.
WhatsApp voice-note order automation on macOS, without Whisper or the Business API
Most guides on automating orders from WhatsApp voice notes route you through Twilio, the Business Cloud API, and a Whisper sidecar. There is a shorter path on macOS: WhatsApp