Open source, hosted for convenience
Nothing here needs to be taken on faith. The gateway is a small MIT-licensed Node service in front of wacli, the open-source WhatsApp CLI. Hosting is the part you pay for — never the part that locks you in.
The stack
The gateway
Around 600 lines: HTTP transport, bearer auth, one wacli store per account, seventeen tools. Small enough to read in a coffee break — which is the point. The source is at github.com/wacli-me/wacli-me.
wacli
The CLI doing the real work: linking a device, syncing history into a local SQLite store, full-text search, sending. An independent project, maintained in the open at github.com/openclaw/wacli — 2,745 stars, 343 forks, MIT, last commit within the week (GitHub, September 2026). We are users of it, not its authors.
MCP
Model Context Protocol over Streamable HTTP. An open spec with many clients — no proprietary SDK stands between you and your data.
The typefaces
Poppins by Indian Type Foundry and Jonny Pinhorn, JetBrains Mono by JetBrains, both under the SIL Open Font License 1.1. Served from this domain rather than from Google, so reading a page here sends your IP address to nobody but us.
The gateway is published. Everything running on this host is at github.com/wacli-me/wacli-me under MIT — the MCP server, the linking flow, the OAuth implementation, the deploy scripts, and the sources of this website. What is not in the repository is exactly what should never be: account stores, tokens and host configuration.
Self-host it
If you would rather run it on your own machine, you need a host that stays awake, Go and Node.
# 1. build the CLI git clone https://github.com/openclaw/wacli && cd wacli go build -tags sqlite_fts5 -o ~/bin/wacli ./cmd/wacli # 2. link your account (QR, like WhatsApp Web) ~/bin/wacli --store ~/wa-store auth # 3. keep history in sync (run it as a service) ~/bin/wacli --store ~/wa-store sync # 4. run the gateway and point a client at http://127.0.0.1:8787/mcp node server/server.mjs
Self-hosting is free forever and always will be. The hosted plans exist for people who do not want to own a server, a sync daemon and a TLS certificate.
What we do not do
No training on your messages. Your content is never used to train anything, by us or anyone we pass it to.
No analytics on content. Operational logs record that a request happened, not what it said.
No lock-in. The store is a plain SQLite file. Export it, move it to your own host, delete ours.
No silent write access. Write access is fixed when you link, per account — decline it and the write tools are never registered.