Your AI agent, now answering on your WhatsApp.

whatzmcp is a WhatsApp MCP server for people who run AI agents in Claude, Cursor, Codex or OpenClaw. It links your own number by QR code, the way WhatsApp Web does, so it is not the Business API. Your agent reads new messages, replies and follows up. Invite only for now; pricing is not published yet.

No code. Your own number. Unlink any time from your phone.

See the setup, about a minute per agent

Example conversation. You typed one sentence. Your agent called whatzmcp's tools to answer Sofia from your own number, send the PDF and nudge Daan.

Works today with Claude Code Claude desktop Cursor Codex OpenClaw Other MCP clients with headers ChatGPT: not yet
What your agent can do on WhatsApp

It hears every message, answers with context, and knows when to stop.

Your agent stays the brain. It decides what to say; whatzmcp carries the messages to and from your number. whatzmcp never writes or sends a message on its own.

Picks up new messages as they arrive

Your agent keeps a line open with wait_for_messages and gets each new message the moment it lands, with who sent it and the text, photo or file. If the agent was closed, it catches up from where it left off. No server to run.

The details
  • WaitingOne call holds open for up to 55 seconds and returns up to 50 messages.
  • Missed nothingKeep the cursor and messages that came in while your agent was closed are picked up next time.
  • Webhooks tooOptional: 9 signed events, from message received to read, failed and limit reached.
Listening on your WhatsAppwaiting up to 55 s
Emma Lindqvist
Are you open this Sunday, or only weekdays?
Kofi Mensah
Photo Do you have this one in size M?
Marco Bellini
Can I move my appointment to Thursday?
Picked up 3 new, including 2 that came in while your agent was closed

Answers with the whole conversation in mind

Before it replies, your agent can read the earlier messages in both directions, so the answer fits what was already said. It replies from your own number with send_message: text and a photo, video, audio file or document.

The details
  • RepliesUp to 4,096 characters plus one attachment per message.
  • To anyoneBy phone number in international format, or by contact.
  • Deliveryget_message says sent, delivered, read, or failed with the reason, such as "not on WhatsApp".
  • HistoryGET /v1/messages on the REST API lists stored messages, newest first, up to 100 per call.
Kofi Mensahonline
Last week
Your navy jacket is on its way in size M. Shout if the fit is off!11:40
Today
Do you have this one in size M?09:14
Kofi MensahDo you have this one in size M?
Yes, the grey one comes in M too. Same cut as the navy jacket you have, so it should fit the same. Want me to hold one?09:15

Read last week's order first, then answered the photo.

Follows up, then waits for a reply

Ask your agent to chase a quote or a missing answer and it will. After three messages to someone who has not replied, sending to that person pauses until they write back. Nobody gets a fourth nudge from your number.

The details
  • Rule3 messages to a person who has not replied, then it waits.
  • STOPA STOP reply blocks any further message to that person.
  • Your callget_usage shows the sends and new people left today, before your agent sends.
Daan de VriesNo reply since Tuesday
  1. Sent the quote for the kitchen jobMessage 1 of 3 without a reply

    Read
  2. "Any questions about the quote? Happy to adjust the dates."Message 2 of 3

    Delivered
  3. "Last check from me: should I keep the June slot for you?"Message 3 of 3

    Delivered
  4. Waiting for Daan to replyA fourth message is not sent until he writes back

    Paused

The tools your agent sees

Add whatzmcp once and these show up in your agent's tool list. Your agent picks them; you just ask in plain words. Each tool answers with the status of the call and the result, so your agent always knows what happened.

ToolWhat it does
connect_whatsappStarts linking your number and returns a page with the QR code, or an 8 character pairing code.
list_accountsShows your linked number, its status and today's limits.
wait_for_messagesWaits for new messages, up to 55 seconds per call, and hands back a cursor to catch up later.
send_messageSends text up to 4,096 characters plus one photo, video, audio file or document.
get_messageSays whether a message was sent, delivered, read, or failed with the reason.
get_usageShows the sends and new people left today.
GET /v1/messagesREST API onlyLists earlier messages in both directions, newest first, up to 100 per call.

Want your agent on your own WhatsApp?Invite only for now. Join the list and we send your key and setup steps.

Get early access
Setup

Link your number, add it to your agent, ask in plain words.

About a minute per agent. No code and nothing to host. Your API key and your MCP address come with your early access invite.

  1. Link your WhatsApp

    Ask your agent to connect your number. It gets a link page with a QR code. On your phone: Linked devices, Link a device, scan. Your chats stay on your phone.

  2. Add whatzmcp to your agent

    One command or one config entry, with your key sent as a header. Pick your client in the panel.

  3. Ask in your own words

    "Check my WhatsApp and answer anyone waiting." Your agent does the rest within the limits below.

Link +44 7700 900123

connecting
  1. Open WhatsApp on your phone
  2. Linked devices, then Link a device
  3. Point the camera at this code

Or type an 8 character pairing code instead: K7Q2M9XD

The code is short lived. If it runs out, your agent starts a new one.
ChatGPT: sign in planned
# add the server, key in a header
claude mcp add --transport http whatzmcp "$WHATZMCP_MCP_URL" \
  --header "X-API-Key: $WHATZMCP_API_KEY"

# then, inside Claude Code
/mcp

/mcp lists the whatzmcp tools. Your agent can now wait for messages, reply and check delivery.

// claude_desktop_config.json (needs Node.js)
{ "mcpServers": { "whatzmcp": {
  "command": "npx",
  "args": ["mcp-remote", "<your MCP address>",
           "--header", "X-API-Key:${KEY}"],
  "env": { "KEY": "<your API key>" } } } }

Accounts with the Claude request headers beta can add a custom connector instead.

// ~/.cursor/mcp.json
{ "mcpServers": { "whatzmcp": {
  "url": "<your MCP address>",
  "headers": { "X-API-Key": "<your API key>" } } } }
codex mcp add whatzmcp --url "$WHATZMCP_MCP_URL" \
  --bearer-token-env-var WHATZMCP_API_KEY

Works in the Codex CLI, IDE extension and app.

# Settings, MCP, or in your config:
mcp.servers.whatzmcp: transport "streamable-http", header X-API-Key

# check the connection
openclaw mcp doctor whatzmcp --probe

Use OpenClaw 2026.5.12 or later.

Check my WhatsApp and answer anyone waiting. Follow up with people who went quiet.

Webhooks, optional

No server needed. Webhooks if you want them.

An agent like Claude or OpenClaw just waits for messages, so you never open a port. When something should react while no agent is running, such as an automation or your own backend, add a webhook and each event is posted to your https address.

  • message.received
  • message.sent
  • message.delivered
  • message.read
  • message.failed
  • account.connected
  • account.disconnected
  • account.restricted
  • account.limit_reached

Signed with HMAC SHA-256 in the X-Webhook-Signature header. Send a test event, watch delivery health, and re-enable a webhook that paused after repeated failures.

See a message.received payload
POST to your webhookmessage.received
{
  "event": "message.received",
  "created_at": "2026-10-17T09:38:12.214Z",
  "account_id": "Pn4kT7wQ2zX9cV1bN6mL",
  "channel": "whatsapp_web",
  "message": {
    "id": "aB3dE5fG7hI9jK1lM2nO",
    "direction": "inbound",
    "text": "Can I move my appointment to Thursday?",
    "media": null,
    "status": "received",
    "error": null
  },
  "contact": {
    "id": "jk213msdfj1234asmf",
    "phone": "+447700900456",
    "name": "Marco Bellini"
  }
}
Safety and limits

"Will WhatsApp ban my number?" It can. These limits keep the risk low.

Nobody can promise an account will never be restricted. whatzmcp links your number the way WhatsApp Web does. It is unofficial, and it is not the WhatsApp Business API: no templates, no green tick. WhatsApp can disconnect or ban a number that sends unsolicited messages.

So these limits are built into every send, and no setting turns them off. They keep your agent behaving like a person answering their own phone, not a broadcast tool.

Before you ask for an invite: what whatzmcp will not do

  • Write replies. It has no AI of its own and never sends on its own. Your agent decides every word.
  • Bulk messaging. It is not a broadcast or blasting tool.
  • Message someone after STOP. A STOP reply blocks further messages to that person from your number.
  • Work with ChatGPT yet. ChatGPT connectors cannot send a key header; sign in is planned.
  • Link more than one number per account during early access.

Limits on every account

Checked on our side before each message goes out, whatever agent sends it.

Messages sent today12 / 50
At 50 the send is refused with daily_send_cap and the seconds until the next day.
New people today2 / 10
People who never wrote to you. Replies do not count.

Example day, as get_usage reports it.

New people on a freshly linked number0first 2 active days, then about one more a day
Messages to one person who has not replied3then it waits
Same first message to people who never wrote, within 30 minutesmax 5more suspends sending until review
Connected WhatsApp numbers during early access1

Values as applied to every early access account, October 2026. A day is one UTC day. Replies to people who wrote to you first do not count against the new people limit.

Your side of the deal

  • Open WhatsApp on your phone now and then. Phones that stay offline for a long time get their linked devices logged out.
  • Not allowed: a public "ask me anything" bot for strangers, cold messages to bought or scraped lists, or spreading sends over several accounts to get around the limits.
FAQ

Questions people search for before linking a number

Anything else? Ask when you join the early access list.

What is a WhatsApp MCP server?+

An MCP server gives an AI agent new tools. A WhatsApp MCP server lets the agent use WhatsApp: whatzmcp links your own number as a linked device, and your agent can see new messages, reply with text and one photo, video, audio file or document, check whether a message was delivered or read, and see how many sends it has left today. Your agent decides what to say; whatzmcp only sends and receives.

Does it use the WhatsApp Business API?+

No. whatzmcp links your own number as a device, the same way WhatsApp Web links a browser. That means no templates and no green tick, and it is unofficial, which is why every account has the limits shown above.

How do I connect Claude to WhatsApp?+

Link your WhatsApp number by QR code, then add whatzmcp to Claude with the MCP address and API key from your invite. In Claude desktop you add it through the claude_desktop_config.json file with the mcp-remote bridge, which needs Node.js. A custom connector with request headers also works on accounts that have that Claude beta.

Can Claude Code send and read WhatsApp messages?+

Yes. One claude mcp add command adds whatzmcp over HTTP with your key in a header, and /mcp then lists the tools. Claude Code can wait for new messages, reply by phone number or contact, send one attachment per message and check delivery: sent, delivered, read, or failed with a reason.

How do I connect OpenClaw to WhatsApp?+

In OpenClaw open Settings, then MCP, or add whatzmcp under mcp.servers with the streamable-http transport and the X-API-Key header. Check it with openclaw mcp doctor whatzmcp --probe. Use OpenClaw 2026.5.12 or later.

Will my WhatsApp number get banned if an AI agent uses it?+

Nobody can promise an account will never be restricted. whatzmcp is unofficial and is not the WhatsApp Business API, and WhatsApp can disconnect or ban a number used for unsolicited messages. To keep risk low, every account has limits no setting turns off: 50 messages and 10 new people a day, no new people on the first two active days of a freshly linked number, at most 3 messages to someone who has not replied, and a suspension if the same first message goes to more than 5 people who never wrote within 30 minutes. A STOP reply blocks further messages to that person.

Does it work with ChatGPT or Cursor?+

Cursor works: add whatzmcp to ~/.cursor/mcp.json with the url and a headers entry. ChatGPT does not work yet, because ChatGPT connectors cannot send a key header; sign in is planned. Claude Code, Claude desktop, Codex, OpenClaw and any MCP client that can send a header over Streamable HTTP work today.

Give your agent your WhatsApp, with the limits built in.

whatzmcp is invite only for now. Join the list and we will send your invite, API key and setup steps when your spot opens. Pricing is not published yet.

Joining the list costs nothing.