“Did the supplier ever reply?”

Ask your assistant that, and it can go and look. uni-msg connects Claude, Cursor or ChatGPT to your own WhatsApp number — so it finds the thread, reads it back, drafts the reply, and waits for your yes before sending.

Claude · connected to uni-msg
Did the supplier ever come back about the delivery date?
list_conversationsread_thread
Karim replied on Tuesday. He can do Friday the 12th, but only if the order is confirmed by Wednesday — he asked twice and hasn't had an answer.
Tell him Friday works and we'll confirm today.
Ready to send to Karim (+971 50 xxx xxxx): “Friday the 12th works for us. Confirming the order today — thanks for chasing.” Send it?
yes
send_message
Sent.

The grey labels are the tools it called. There are thirteen of them.

What just happened there

It found the thread itself

You did not paste anything or search for a contact. It listed the conversations, picked the right one, and opened it.

It read for meaning, not keywords

The useful part was not “Karim replied” — it was the condition buried in the thread: confirm by Wednesday, or Friday goes away.

It stopped before sending

It showed you the recipient and the exact wording, then waited. That pause is the whole safety model, and it is deliberate.

It used your number

Karim saw a message from you, in the thread you already had with him. Not a business account he has never spoken to.

The questions people actually ask

Can it send something without asking me?

The tool descriptions tell the assistant to confirm the recipient first, and in practice it does — that is the pause you see above. But it is guidance to a model, not a hard lock. Treat it the way you would a shell with production access, and it behaves well.

Does it read all my messages?

Only what it asks for. It lists conversations to find the right one, then reads that thread. Nothing is copied anywhere; the assistant sees a thread the same moment you would.

Do I need a Meta Business account?

No. You link your own number as a companion device — the same mechanism behind WhatsApp Web — with an eight-character pairing code. No application, no business verification, no template approval, and it stays your number.

Which assistants work with it?

Anything that speaks the Model Context Protocol: Claude Code, Claude Desktop, Cursor, Gemini CLI, and ChatGPT in developer mode. One endpoint serves all of them.

What happens when it gets something wrong?

Errors come back as readable tool results rather than thrown exceptions, so the assistant can see what went wrong and correct itself instead of stalling. Anything key-shaped in an error is stripped before the model sees it.

Two minutes, honestly

Make an API key, paste one line into your client, then link your number with a pairing code from WhatsApp’s Linked devices screen. That is the whole thing.

claude mcp add --transport http uni-msg https://uni-msg.com/mcp \
  --header "Authorization: Bearer wsa_your_key"

Using Cursor, Gemini CLI, Claude Desktop or ChatGPT instead? The config for each is on the setup page.

Where to keep it on a leash

An assistant is good at the tedious half — finding the thread, reading it, summarising, drafting. It is not good at judging whether a message should be sent at all: whether the tone fits the relationship, whether now is the right moment, whether this deserves a phone call instead.

Let it do the first half. Keep the judgement. Sends cannot be recalled.

Try it on one thread

Link a number, ask your assistant about a conversation you already had, and see whether the answer is any good. Plans start at no cost and scale with volume — the details are on the home page.