You use Claude every day, and your customers live on WhatsApp. Copying chats into Claude and pasting answers back is slow, and Claude can’t send anything on its own.
With WaBot’s WhatsApp MCP server, it can. Claude Code connects with one terminal command. Claude Desktop connects through a small local bridge called mcp-remote. claude.ai custom connectors can only connect if your organisation has the request-headers beta and Anthropic has approved WaBot’s header names, so for most people the answer there is “not yet”. Below: the exact setup for each, then three prompts that work today. New to MCP? Start with the WhatsApp MCP server overview.
What Claude is, and which Claude you need
Claude is Anthropic’s AI assistant. It comes as the claude.ai website and mobile apps, the Claude desktop app, and Claude Code, a coding agent that runs in your terminal and IDE. All of them can use MCP tools, but they connect to servers differently, and WaBot’s server needs two custom HTTP headers (clientid and clientsecret) on every request. That one detail decides the route:
| Claude app | Connects to WaBot? | How |
|---|---|---|
| Claude Code | Yes, directly | claude mcp add with --header |
| Claude Desktop | Yes, via bridge | mcp-remote in claude_desktop_config.json |
| claude.ai (web, mobile) custom connector | Not yet for most accounts | Needs the Request headers beta and approved header names |
First, get your credentials: in the WaBot app open Developer → Developer Credentials. You’ll see your Client ID, Client Secret and a Copy MCP config button. Treat the secret like a password.
Set up Claude Code (recommended)
Anthropic’s Claude Code MCP documentation adds a remote server with claude mcp add --transport http and passes headers with --header. Run this in your terminal, with your own values in place of the placeholders:
claude mcp add --transport http wabot https://api.wabot.shop/mcp \
--header "clientid: <Client ID>" \
--header "clientsecret: <Client Secret>"
- By default this is saved at local scope: only you, only the current project, stored in
~/.claude.json. Add--scope userto use WaBot in every project. - Start Claude Code and type
/mcpto check that wabot is connected and see its tools.
Sharing the setup with your team
Project scope writes a .mcp.json file to the project root, which goes into version control. Never put the secret in it. Claude Code expands environment variables in headers, so each person sets WABOT_CLIENT_ID and WABOT_CLIENT_SECRET in their own shell:
{
"mcpServers": {
"wabot": {
"type": "http",
"url": "https://api.wabot.shop/mcp",
"headers": {
"clientid": "${WABOT_CLIENT_ID}",
"clientsecret": "${WABOT_CLIENT_SECRET}"
}
}
}
}
When Claude Code asks permission to run a WaBot tool, don’t choose to always allow the ones that send (send_template_message, send_session_message). Approving reads is fine; review every send.
Set up Claude Desktop (through the mcp-remote bridge)
Claude Desktop runs local MCP servers from a config file (MCP guide for Claude Desktop). The open-source mcp-remote package acts as that local server and forwards every call to WaBot with your headers. You need Node.js 18 or newer.
- In Claude Desktop, open the Claude menu → Settings… → Developer → Edit Config. This opens
claude_desktop_config.json(on Windows,%APPDATA%\Claude\claude_desktop_config.json; on macOS,~/Library/Application Support/Claude/claude_desktop_config.json). - Add the
wabotentry below and save. - Quit Claude Desktop completely and open it again. Click the + (“Add files, connectors, and more”) button in the chat box → Connectors → Manage connectors and select wabot to see its tools.
{
"mcpServers": {
"wabot": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.wabot.shop/mcp",
"--transport", "http-only",
"--header", "clientid:${WABOT_CLIENT_ID}",
"--header", "clientsecret:${WABOT_CLIENT_SECRET}"
],
"env": {
"WABOT_CLIENT_ID": "<Client ID>",
"WABOT_CLIENT_SECRET": "<Client Secret>"
}
}
}
}
Why no space after the colon in clientid:${WABOT_CLIENT_ID}? mcp-remote’s README notes that Claude Desktop on Windows doesn’t escape spaces inside args, so the values live in env and the header strings have no spaces. This file stays on your computer; don’t sync it to a shared drive.
claude.ai custom connectors: where it stands
On claude.ai you add a server under Customize → Connectors → Add custom connector. Per Anthropic's connector docs, fixed credentials go in a Request headers section that is in beta for a limited set of organisations, and Anthropic reviews each custom header name before Claude will send it. WaBot uses the custom names clientid and clientsecret, not a standard Authorization header, so unless your organisation has the beta and those names are approved, the save fails. Use Claude Code or Claude Desktop until then. ChatGPT users: see the ChatGPT and Codex guide.
Use case 1: triage today’s WhatsApp chats
Good first test, because nothing gets sent.
List my WhatsApp chats from today. For each one, read the last few messages and tell me who is still waiting for a reply from us and what they asked. Don't send anything.
- Tools Claude calls:
list_recent_chats, thenget_messagesfor each conversation. - What you see: a short list, for example “Asha (+91 98xxx xxxxx) asked at 11:40 if Spice Route Café is open on Sunday, no reply yet”. Ask Claude to draft replies; if the customer wrote within 24 hours, it can send one with
send_session_messageafter you approve it.
Use case 2: create a utility template and get it approved
Create a utility template called order_ready_v1 in English on my main WhatsApp number. Body: "Hi {{1}}, your order {{2}} is ready for pickup at Spice Route Café. Reply here if you need anything." Show me the template before you submit it, then check its status with Meta.
- Tools Claude calls:
list_channels(to find your number’s ID),create_template, thenget_template_statuswithsync: true. - What you see: the template for review, then PENDING. Meta’s review takes minutes to hours, so ask again later; Claude reports APPROVED, or REJECTED with Meta’s reason and a suggested fix (
update_templateresubmits). Unsure about categories? Read template categories.
Use case 3: draw an existing workflow before you change it
List my WhatsApp workflows. Then show me a diagram of the one called Price enquiry and explain in plain words what it does.
- Tools Claude calls:
list_workflows, thenpreview_workflow_schematic. - What you see: a Mermaid flowchart and a step list (trigger, match text, template sent). If your Claude app doesn’t draw Mermaid, paste the code into any Mermaid viewer. From here you can ask for a change; WaBot’s
update_simple_autoflowedits simple auto-replies.
Stay safe
- Ask Claude to show the message and the recipient before sending, and approve tool calls one at a time.
- Test on your own number first.
- Message customers only within WhatsApp’s rules: templates outside 24 hours, marketing only with opt-in.
- New automations are created off; switch them on only after you’ve read the diagram.
Limits
- 60 requests a minute per Client ID; every tool call is written to WaBot’s audit log.
wait_for_replywaits 2 to 30 seconds. Reply notifications fromsubscribe_repliesonly arrive in clients that keep MCP’s event stream open; we haven’t relied on Claude for that, so usewait_for_reply.- Not available through MCP: campaigns and broadcast scheduling, campaign analytics, segments, deleting workflows, and advanced workflow steps (branching, webhooks, agent handoff, code). Use the WaBot app for those.
Full tool reference: WaBot MCP guide. Prefer an IDE? See Cursor.
Give Claude your WhatsApp
Create your free WaBot account and connect your WhatsApp number (that starts a 15-day Base Plan trial, no card needed). Then copy your MCP config from Developer → Developer Credentials into Claude.
Frequently asked questions
How do I connect Claude to WhatsApp?
Use WaBot’s MCP server. In Claude Code, run claude mcp add –transport http wabot https://api.wabot.shop/mcp with two –header flags for clientid and clientsecret. In Claude Desktop, add the mcp-remote bridge to claude_desktop_config.json.
Can I add WaBot as a custom connector on claude.ai?
Only if your organisation has the Request headers beta and Anthropic has approved the header names clientid and clientsecret. Otherwise use Claude Code or Claude Desktop.
Can Claude send WhatsApp messages by itself?
Yes, once connected it can send templates and, within 24 hours of a customer’s message, normal replies. Keep tool approvals on so you see each message before it goes.
Does Claude see all my WhatsApp chats?
It can read recent conversations through WaBot when you ask it to. Every tool call is logged in WaBot’s audit log.
The bottom line
Claude Code is the quickest way to put Claude on your WhatsApp Business number: one command and two headers. Claude Desktop works through mcp-remote. claude.ai has to wait for header support. Start with chat triage, which sends nothing, then templates, then automations, and keep approvals on for anything that reaches a customer.
