
WireCat WhatsApp
dev.wirecatPublished by wirecat.devv0.30.0Updated Nov 7, 2026
Your WhatsApp account for agents: read, search and send messages. Sign in with the wa CLI first.
The publisher's own server: Wire Cash: bank wire fees and transfer costs
Overview
Links your own WhatsApp account as a device so an assistant can read, search, summarize and send messages, within limits you set.
- What you can do
- Read chats and messages from a local store, including unread inbox, reviews of what changed, and live new messages
- Search messages and notes kept on your computer by words, sender, chat, date or file
- Send, reply, edit, forward, react, poll, pin and delete messages, and mark chats read
- Manage groups: events, members, invite links, join requests and settings
- Handle contacts, your profile and privacy settings, and transcribe voice notes locally
- When to use it
- Useful when you want an assistant to catch you up on WhatsApp, find what was agreed or promised, draft and send replies on your behalf, or keep up with busy groups. It suits people who accept the ban risk of an unofficial client and want everything kept and searched locally.
- Requirements
- Node 22.16+ or 24+ on macOS, Linux or Windows; npm installs a separate engine package. You must link the account once by scanning a QR code in WhatsApp under Linked devices. The MCP server runs locally via the CLI's mcp serve command, and a profile must be named or set with WA_PROFILE.
Installation
In SourceWeft
- Open WireCat WhatsApp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
wa — WhatsApp CLI for AI agents
Your personal WhatsApp in the terminal, searchable on your computer, and ready for Claude Code, Codex, Cursor or any agent — within limits you set.
[npm] [CI] [Node] [Bun] [npm downloads] [License: Apache 2.0]
An example conversation (invented people, illustrative output):
⚠️
wais an unofficial client of your real WhatsApp account. WhatsApp's terms forbid unofficial clients, and WhatsApp may ban an account that uses one. It also bans accounts that send in bulk or write to people who do not know them.wawrites only when a command asks, sends at most 30 messages an hour by default, and holds every write when WhatsApp says to slow down or restricts the account. Do not send in bulk, and do not write to strangers. You usewaat your own risk. More: limits
Early. wa is new, and some of what it does has not yet been checked against real WhatsApp. The
backlog lists the checks still to run.
More: compared with other tools · on wirecat.dev
Quick start
Allow about five minutes. wa personal setup links wa to your account as a device — you scan a QR code in
WhatsApp → Settings → Linked devices — keeps the history your phone sends right after linking, checks your first
chats and installs the agent skill.
It needs Node 22.16+ or 24+ on macOS, Linux or Windows. npm also installs the engine, the small program that speaks WhatsApp's protocol, as a separate package for your system.
More: installation guide · linking
What can you do?
Catch up. "Use wa CLI. What came in since this morning, and who is waiting for my answer?"
Find anything. "Use wa CLI. When did we agree on the venue with Alice?" — an answer with the date and the message itself.
Keep your promises. "Use wa CLI. What did I promise, and what am I still waiting on?"
Run your groups. "Use wa CLI. Which questions in Hiking has nobody answered?"
Answer, when you say so.
More: recipes, with a schedule for each · using wa
Built for AI agents
Your agent. Your WhatsApp. Your rules.
- Agents with a terminal (Claude Code, Codex, Gemini CLI) run
wacommands themselves. The bundled skill tells them how:wa personal setup --agent …orwa skill installputs it in place, andwa skill showprints it before linking. An agent links by QR: it pastes the code into the chat as text for you to scan, and never asks for your phone number or a code. - Apps without a terminal (Claude Desktop, Cursor and other MCP clients) connect to
wa personal mcp serve. It comes with ready prompts:/catch-up,/review,/reply,/findand more.
The profile can send by default, so mcp add stops first. Check the profile's permissions, then run it again with
--allow-writes.
More: the MCP server · from the browser
Why wa?
- Your own account, as a linked device.
walinks the way WhatsApp Web does. It sees your chats, groups and contacts, and speaks as you, not as a business account or a bot. - A business number too, when you have one.
wa <profile> botspeaks for a WhatsApp Business number on Meta's Cloud API: send, templates, and messages received by webhook through your tunnel (bot). - Local-first search. Everything received is kept on your computer. Every read and search answers from there and never connects.
- Made for agents. One operation per call, the same JSON shape every time with
--json, a fixed exit code for each kind of failure, an MCP server and a skill. - Safe by default. Reading marks nothing read and sends no "online" or "typing". A profile decides which actions
an agent may take, which chats it may send to, and how many messages an hour (30 by default). When a send's outcome
is unknown,
wasays so and never repeats it by itself.
Your account
wa works in your name, as one more linked device of your WhatsApp account.
The message id 3EB0A1B2C3D4E5F6A7B8 is made up; take a real one from messages list -v.
- Read. Chats and messages from the local store, one message with its neighbours, other people's unread
messages (
wa personal inbox), everything since the last review (wa personal review), new messages as they arrive (wa personal watch), older messages of one chat asked of your phone (wa personal messages sync), and the posts of the channels you follow (wa personal chats joinwith a channel link, thenmessages sync). - Write. Markdown, replies, one file, photo, video or voice note per message, a photo and a video as one album, edits of your own messages within 20 minutes, forwards, reactions, polls and votes, pins (each one tells the members), deleting for you or for everyone, and marking a chat read.
- Your chat list. Mute, archive, pin or mark a chat unread, star a message, and delete or clear a chat on your own devices; nobody in the chat is told.
- Voice on your computer. WhatsApp has no speech recognition of its own, so
waruns a speech model on this machine, downloaded only when you ask. - People. A person's profile, blocking, whether a number has WhatsApp, the phone's address book into the store, and your own names and notes for people.
- Your account. Your own name, about line and profile photo (
wa personal account update). - Privacy. Who sees your last seen, online, profile photo and about line, whether you send read receipts, who
may add you to groups and whose calls ring (
wa personal account privacy).
More files in one message than a photo and a video are not built yet: not in wa yet.
More: using wa · privacy · one person
Log in and profiles
wa links to your account as a device, the way WhatsApp Web does. There is no password and no app to register: you
link once, from the phone, and the device keys go to one file only your user can read.
Several accounts are several profiles, and the profile is the first word, not an option:
wa never picks a profile for you, not even the only one: a command that uses an account and has no profile named
stops and lists the profiles on this computer. Name one or set WA_PROFILE. Each profile is a linked device of its
own, with its own one connection.
More: linking, devices and profiles · profiles
The local store and search
Everything wa receives is kept in a local store on your computer, shared with tg and max. Search runs over it;
nothing leaves your computer.
More: search · the local store · query language
Groups you run
Renaming a group, its photo, members and admins, the invite link, join requests and who may send or add people are
commands too. The members see each change, so each passes the profile's permissions and hourly limit. wa adds only
people in your address book or that you have written to: WhatsApp bans accounts that add strangers.
More: groups
Agent setup in detail
The skill. Claude Code reads ~/.claude/skills/whatsapp-cli/; Codex and Gemini CLI read
~/.agents/skills/whatsapp-cli/. Start a new agent session if it does not see the skill.
The MCP server. The profile's permissions decide which tools it offers. readonly stops the agent from
changing anything; at ask the server shows no form, so set up approval in your agent app.
From the browser. ChatGPT or Claude in the browser reach wa personal mcp serve --http --public-url behind your tunnel,
after a login with a one-time access code from your terminal.
More: the MCP server · from the browser
Output for scripts and agents
With --json a command prints only data, as one JSON value. --jsonl prints one object per line. Every list has
one shape:
An error goes to stderr as one line, with stdout empty, and the command exits with a fixed code: 4 link the
profile, 5 the profile may not do this, 6 chat or message not found, 8 a limit, 12 another command holds the
device, 14 unknown whether a message went. wa commands --json is the whole command tree.
More: CLI contract · every command and exit code
Settings and permissions
More: permissions · profiles · configuration · limits
Limits
Each profile has one request pace, shared by every command, serve and the MCP server at once, so a script stays far
from what WhatsApp bans. A profile sends at most 30 messages an hour by default. One command at a time may connect a
profile; another one is refused with exit code 12 and names the holder, unless serve runs and carries it on its
connection. There is nothing to download in bulk: reads answer from the local store.
More: limits and waits
Security
- The device keys are one file readable only by your user. Whoever copies it can read and send as you until you remove the device on your phone. No command takes a phone number or a pairing code as an argument.
- The local store holds the full text of what was received, unencrypted and readable only by your user.
- Every send, from a command or over MCP, passes the profile's limits and is written to a journal — without its text.
- Nothing
wasends to WhatsApp names this tool: it links as a desktop browser.
To report a vulnerability: SECURITY.md. More: security
When something goes wrong
More: troubleshooting by symptom · diagnostics
How it differs
wa shares its commands, its store and its agent tools with tg and max, so what you learn in one works in the
others. WhatsApp is different in three ways:
- History comes from your phone. WhatsApp's servers keep no history to ask for. Your phone sends your recent
chats once, when
walinks, andwa servekeeps receiving new ones. Older messages of one chat can be asked of the phone, 50 at a time, while WhatsApp is open on it (wa personal messages sync). Every read answers from the local store and never connects. - One connection per device. WhatsApp allows one. While
wa serveruns, other commands for the same profile, a send included, run through its connection. On Windows they are refused untilservestops, for now. - Unofficial. The risk of a ban is in the warning at the top of this page.
wanever sends "online" or "typing", and marks nothing read unless you ask.
Part of WireCat
WireCat is an open-source, local-first context layer for AI agents. wa sits beside
tg for Telegram and max for MAX, in
the same local store.
Questions and setup help: join the WireCat Discord. Bugs go to this repository's issues.
Technical docs
Every page is in docs/:
What each version changed: CHANGELOG.md.
Development
Everything that is not specific to WhatsApp — the commands, the store, the send guard, the MCP server — lives in cli-core, shared with tg and max.
More: ARCHITECTURE · TESTING
Contributing
Pull requests, bug reports and ideas are welcome in issues.
Custom automation with WhatsApp, other messengers and AI agents: [email protected].
License
The CLI is Apache-2.0. The engine is not: the Go program in engine/ and the
@wirecat/whatsapp-engine-* packages that carry it are GPL-3.0-only, because the engine links
go.mau.fi/libsignal, which is under the GNU General Public License 3.0, through whatsmeow. The two are separate
programs: wa starts the engine as a child process and talks to it only over stdin and stdout. Each engine package
says where its source is and lists every Go module it links in THIRD_PARTY_NOTICES.
Source: README.md at commit 34c9a8a
Tools
0Version history
9- v0.30.0LatestNov 7, 2026
- v0.29.0Nov 5, 2026
- v0.28.0Nov 3, 2026
- v0.21.0Nov 1, 2026
- v0.20.0Oct 31, 2026
- v0.19.0Oct 31, 2026
- v0.18.0Oct 30, 2026
- v0.17.0Oct 30, 2026
- v0.16.0Oct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Wire integrations
Wire Cash: bank wire fees and transfer costs
cash.wireOfficial publisher
Wire Cash gives an assistant published US bank wire fees, same-day cutoff times and World Bank remittance costs for sending money abroad.

TollWire Evidence
Published by GitHub account TollWire
Local MCP server that records agent changes, scans, approvals and deployments in a tamper-evident hash-chain log and verifies it.

WireCat b24
dev.wirecat
A local CLI-backed MCP server that lets an assistant read and update a Bitrix24 portal's CRM — deals, leads, contacts, companies, pipelines and products.

SupportWire
Published by GitHub account supportwire
Hosted SupportWire MCP server that lets an assistant triage support conversations, reply to customers, and manage customers, tasks and team settings.
Touchline Wire — FPL & Premier League Intelligence
Published by GitHub account Steven-Robinson
Zero-auth MCP server giving assistants live 2026/27 Fantasy Premier League and Premier League data: captaincy, expected minutes, lineups, injuries and stats.