You already ask an AI agent to write code, draft emails and sort spreadsheets. The obvious next request is “message the customers who are waiting” or “set up an auto-reply for price enquiries”, and the agent can’t, because it has no way into your WhatsApp Business number.
A WhatsApp MCP server fixes that. WaBot runs one at https://api.wabot.shop/mcp. Any AI agent that can reach a remote MCP server and send two custom headers (your WaBot Client ID and Client Secret) can create and check templates, send WhatsApp messages, read replies, build simple automations and WhatsApp Flows in your account. Claude Code, Codex, Cursor, VS Code, Gemini CLI, Antigravity, Windsurf and Devin can connect directly. Claude Desktop needs a small bridge. ChatGPT on the web and claude.ai can’t connect to it for most accounts yet. Details below, and the official reference is the WaBot MCP guide.
What MCP is, in one paragraph
The Model Context Protocol (MCP) is an open standard for giving AI apps tools. A server describes its tools (name, what it does, what inputs it takes); the AI app, called the client, lists them to the model; the model decides when to call one; the client runs the call and shows you the result. It is the same idea as a plugin, but one server works across many different AI apps instead of one.
For WhatsApp, this means you describe the job in plain words (“send Asha the order-ready template”) and the agent works out which WaBot tools to call and with what values.
How WaBot’s MCP server works
- Address:
https://api.wabot.shop/mcp, using the Streamable HTTP transport. The server is calledwabot. - Login: two HTTP headers on every request,
clientidandclientsecret. Copy them from the WaBot app under Developer → Developer Credentials; the same page has a Copy MCP config button. There is no OAuth sign-in and no bearer token, which is why the header support of each agent decides how it connects. - Your account is implied: the agent doesn’t need an account ID; WaBot works it out from the Client ID.
- Rate limit: 60 requests a minute per Client ID. Agents rarely get close, but a loop that polls every second will.
- Audit log: every tool call is recorded against your account.
Most agents that take a JSON config accept something close to this (each agent’s guide gives its exact format):
{
"mcpServers": {
"wabot": {
"url": "https://api.wabot.shop/mcp",
"headers": {
"clientid": "<Client ID>",
"clientsecret": "<Client Secret>"
}
}
}
}
Never commit the Client Secret to git or paste it into a shared chat. Anyone with it can send WhatsApp messages from your account. Where your agent supports environment variables in its config, use them; each guide below shows how.
Which AI agents can connect
We checked each product’s own documentation in November 2026 for one thing: can it call a remote MCP server and send custom headers? These products change monthly, so follow the guide for the current steps.
| Agent | Connects | How | Guide |
|---|---|---|---|
| Claude Code (CLI) | Directly | claude mcp add --transport http with two --header flags (docs) | Claude guide |
| Claude Desktop | Via bridge | Local mcp-remote bridge in claude_desktop_config.json | Claude guide |
| claude.ai custom connectors | Not yet for most accounts | Request headers are a limited beta and custom header names need Anthropic’s approval (docs) | Claude guide |
| Codex CLI, Codex IDE extension, ChatGPT desktop app | Directly | ~/.codex/config.toml with env_http_headers (docs) | ChatGPT and Codex guide |
| ChatGPT on the web | Not yet | Remote tools come through plugins; no documented way to add your own server with custom headers | ChatGPT and Codex guide |
| VS Code + GitHub Copilot | Directly | .vscode/mcp.json with headers and masked inputs (docs) | VS Code guide |
| Cursor | Directly | ~/.cursor/mcp.json or .cursor/mcp.json with headers (docs) | Cursor guide |
| Windsurf (Cascade) | Directly | mcp_config.json with server URL and headers (docs) | Windsurf guide |
| Gemini CLI | Directly | settings.json with httpUrl and headers (docs) | Gemini CLI guide |
| Google Antigravity | Directly | mcp_config.json with serverUrl and headers (docs) | Antigravity guide |
| Devin | Directly | Custom MCP over HTTP with headers (docs) | Devin guide |
“Via bridge” means the app only starts local programs, so you run the open-source mcp-remote package (Node.js 18 or newer) on your computer and it forwards calls, with your headers, to WaBot. It works, but it is one more moving part.
The 36 tools, in plain words
You never call these yourself; the agent picks them. Knowing them helps you ask for things the server can actually do.
| Area | What the agent can do | Tools |
|---|---|---|
| Account | See your account and connected WhatsApp numbers | get_account, list_channels |
| Templates | List, read, create and edit templates; check Meta’s approval | list_templates, get_template, create_template, get_template_status, update_template |
| Contacts and messages | Add or find a contact; send a template or, inside 24 hours, a normal message | create_contact, find_contact, send_template_message, send_session_message |
| Conversations and replies | Read recent chats and messages; wait up to 30 seconds for a reply; subscribe to reply notifications | list_recent_chats, get_messages, wait_for_reply, subscribe_replies, unsubscribe_replies, list_reply_subscriptions |
| Workflows | See triggers, actions and existing workflows; draw a diagram; build keyword auto-replies and 2 to 10 step chains; switch them on or off | list_workflow_triggers, list_workflow_actions, list_workflows, get_workflow, preview_workflow_schematic, create_master_workflow, create_simple_autoflow, append_autoflow_child, create_chained_autoflow, update_simple_autoflow, set_workflow_status |
| WhatsApp Flows | Build in-chat forms as drafts, publish or retire them | list_whatsapp_flow_categories, list_whatsapp_flow_field_types, list_whatsapp_flows, get_whatsapp_flow, create_whatsapp_flow, update_whatsapp_flow, publish_whatsapp_flow, deprecate_whatsapp_flow |
Two behaviours worth knowing. New automations are created switched off; the agent turns them on only when you say so (activate: true or set_workflow_status). And reply notifications from subscribe_replies only reach agents that keep MCP’s event stream open, which many don’t, so wait_for_reply is the dependable way to react to a customer in a session.
WhatsApp’s rules still apply
- First message, or more than 24 hours since the customer last wrote: only an approved template can go out (
send_template_message). See template categories. - Inside 24 hours of the customer’s last message: a normal message is fine (
send_session_message). - New templates go to Meta for review, which takes minutes to hours. The agent checks with
get_template_statusandsync: true. - Marketing only to people who agreed to hear from you. See WhatsApp opt-in.
Stay safe: the agent sends real messages
- Ask the agent to show the message and the recipient before it sends. Most agents can also be set to ask before each tool call; keep that on.
- Test on your own number first (+91 98xxx xxxxx in our examples) before anything goes to customers.
- Keep new automations off until you have read the diagram from
preview_workflow_schematic. - Keep the Client Secret out of git and shared configs. If it leaks, contact WaBot support to replace it.
What the MCP server can’t do (yet)
Through MCP the agent cannot schedule campaigns or broadcasts, read campaign analytics, build segments, delete workflows, or add advanced workflow steps such as branching, webhooks, agent handoff or code. Do those in the WaBot app. If a tool answers “Unauthorized to make this request”, the credentials don’t have access to that area; contact support.
Connect your AI agent to WhatsApp
Create your free WaBot account and connect your WhatsApp number (that starts a 15-day Base Plan trial, no card needed). Then open Developer → Developer Credentials and copy your MCP config.
Frequently asked questions
Is there a WhatsApp MCP server?
Yes. WaBot runs one at https://api.wabot.shop/mcp (Streamable HTTP). It authenticates with two headers, clientid and clientsecret, from Developer → Developer Credentials in your WaBot account, and offers 36 tools for templates, messages, replies, workflows and WhatsApp Flows.
Can ChatGPT connect to WhatsApp through MCP?
Not ChatGPT on the web today: it gets remote tools through plugins and has no documented way to add your own server with custom headers. Codex CLI, the Codex IDE extension and the ChatGPT desktop app can connect using config.toml.
Does Claude work with the WhatsApp MCP server?
Claude Code connects directly with claude mcp add and two –header flags. Claude Desktop connects through the mcp-remote bridge. claude.ai custom connectors need request headers, which are a limited beta.
Can the AI agent message any customer at any time?
No. WhatsApp’s rules apply: outside the 24-hour window only approved templates can be sent, and marketing needs the customer’s opt-in. The server also limits each Client ID to 60 requests a minute.
Is my data safe?
The agent only gets what your credentials allow, every tool call is written to an audit log, and you can keep tool approvals switched on in your agent. Keep the Client Secret out of code repositories.
The short version
WaBot’s MCP server turns your AI agent into a WhatsApp assistant: templates, messages, replies, auto-replies and forms, all from a prompt. If your agent can send two custom headers to a remote MCP server, it can connect today. Pick your agent from the table, follow its guide, test on your own number, and keep a human eye on anything that goes to customers.
