Skip to content
WACRM.AI
Three colleagues working together at a desk with a laptop and a monitor in a bright office

Industry playbook

WhatsApp MCP server: let AI agents operate your WhatsApp CRM

A WhatsApp MCP server lets an AI assistant such as Claude Desktop or Cursor work inside your WhatsApp CRM through tool calls. WACRM's server, wacrm-mcp, gives the assistant 11 tools for templates, conversations, contacts, order updates, the wallet and the inbox, each one limited by a scoped, capped API key you control.

By the WACRM team Updated

11 min read Share

A WhatsApp MCP server is the bridge between an AI assistant and your WhatsApp CRM: the assistant asks for a tool, the server makes one checked API call, and the answer comes back into the chat with the assistant. In WACRM that bridge is wacrm-mcp, part of WACRM API & MCP, and it works on your WhatsApp Business number under keys you scope, cap and revoke yourself. This playbook belongs to the WACRM guides for every business that sells online.

What is a WhatsApp MCP server?

It is an MCP server whose tools are WhatsApp CRM actions. The Model Context Protocol, which Anthropic introduced on 25 November 2024, is described by its maintainers as an open-source standard for connecting AI applications to external systems. Claude, ChatGPT, Visual Studio Code and Cursor are among the clients that support it, so one server works with many assistants.

The three parts of an MCP connection

The MCP architecture has three participants:

  • Host: the AI application you type into, such as Claude Desktop or Cursor.
  • Client: the piece inside the host that keeps one connection to one server.
  • Server: the program that offers tools, resources and prompts. wacrm-mcp offers tools only.

Messages between them use JSON-RPC 2.0. A local server talks to its client over standard input and output (stdio); a remote one uses Streamable HTTP. wacrm-mcp is a local stdio server: it runs with Node.js 20 or newer on the computer where your AI client runs, and it reaches WACRM over HTTPS with your API key.

A business number, not a WhatsApp Web session

Many “WhatsApp MCP” projects you find online drive a personal WhatsApp account through a WhatsApp Web session. That is a different thing. wacrm-mcp never touches a phone session: every tool calls the WACRM Core API, which works on the WhatsApp Business Platform number your project is connected to. Your messages, contacts and inbox stay in the CRM your team already uses, and every call goes through the same scope check as any other API request.

Note

In one line: the AI model lives in your client, the business rules live in the WACRM Core API, and wacrm-mcp only translates one tool call into one API call. It holds no business logic of its own.

What can an AI agent do in WACRM through MCP?

It can do what a teammate does in the inbox, within the scopes of its key. The 11 tools fall into five groups: messages, contacts, order updates, the wallet and the inbox.

ToolWhat the agent can doScope needed
send_templateSend an approved WhatsApp template to a customer; a retry with the same Idempotency-Key never sends twicemessages:send
read_conversationRead the message history with one contact, page by pagecontacts:read
create_contactAdd a contact from a phone number, with an optional name and emailcontacts:write
notify_orderSubscribe your own HTTPS endpoint to message-status updates for order and delivery confirmationswa_webhooks:write
wallet_balanceRead the project’s token wallet balance and this cycle’s usagewallet:read
list_conversationsList inbox conversations by status, owner, label, search or open windowcontacts:read
assign_conversationGive up to 20 conversations to a teammate or an AI agent, or clear the ownerinbox:write
add_noteAdd a private note for your team; it is never sent to the customerinbox:write
label_conversationAdd or remove labels on up to 20 conversationsinbox:write
resolve_conversationResolve up to 20 conversations; a new customer message reopens oneinbox:write
inbox_reportRead the daily inbox report by agent, team, channel or label, or the live viewinbox:read

The tool list and scopes match the wacrm-mcp page, which stays the reference if the list changes. The Workspace’s MCP preset ticks exactly the seven scopes in the right-hand column, and you can untick any of them.

How does one tool call reach WhatsApp?

In five short hops, with two checks before anything happens. You ask your assistant something in plain words, the model picks a tool, and the client sends a tools/call request to wacrm-mcp.

  • 1 · You ask

    ”Which chats are still waiting for a reply?“

  • 2 · Model picks a tool

    list_conversations with a status filter.

  • 3 · Action authorized

    wacrm-mcp asks the Core API to count one action against the key’s cap.

  • 4 · Scope checked

    The Core API checks the key’s scope and project, then runs the call.

  • 5 · Result

    The list comes back to your assistant, or a template goes out from your number.

How a WACRM MCP tool call travels. If the cap is reached, the plan does not include MCP or the scope is missing, the call stops at step 3 or 4 and the assistant gets an error code instead of a result.

Two WhatsApp rules shape what the assistant can send. Meta opens a 24-hour customer service window each time a customer writes to you; outside it a business can only send template messages, according to Meta’s pricing documentation. That is why the MCP send tool is send_template: an approved template is valid at any time. Since 1 July 2025 Meta bills the WhatsApp Business Platform per delivered message, so each template the assistant sends is a message your business pays Meta for.

When a call fails, the assistant sees why. A missing scope comes back as insufficient_scope, a used-up plan limit as plan_limit_reached, and rate limiting as an error too. A tool never returns a silent empty result, so the model cannot mistake “not allowed” for “nothing found”.

How do you keep the agent inside safe limits?

By deciding, per key, what it may touch and how often. These controls sit in the WACRM Core API and the Workspace, not in the assistant, so a prompt cannot talk its way past them:

  1. Scopes per key. A key carries only the scopes you ticked. A tool whose scope is missing answers insufficient_scope instead of acting.
  2. One project per key. A project key reaches its own project only; asking for another project’s data returns not found.
  3. A monthly action cap. Set any whole number from 1 to 1,000,000, or leave it empty. Each tool call counts as one action. At the cap, the key list shows “Cap reached” and further calls are refused, and not charged, until you raise the cap or the month resets (UTC).
  4. A bulk limit of 20. assign_conversation, label_conversation and resolve_conversation refuse more than 20 conversations in one call with bulk_requires_approval. Larger clean-ups stay with a person.
  5. Sends that never double. send_template always carries an Idempotency-Key, so a client that retries after a timeout replays the first answer instead of messaging the customer twice.
  6. Revoke in one click. Revoking a key stops that client at once. The AI tools (MCP) page is visible to the project owner only, and its usage card lists recent actions and whether each was allowed or refused.

Note

Keep the key out of the chat. The key is shown once, sits in the client’s config as WACRM_API_KEY, and is sent only as the Authorization: Bearer header. wacrm-mcp never logs it or echoes it in a tool result, so never paste it into a prompt.

WhatsApp’s Business Policy also asks a business that automates replies to offer clear escalation paths to a person. An assistant on MCP is an internal helper for your team, so the customer-facing rule is met the usual way: a teammate stays one tap away in the inbox.

Which playbooks work for an online store?

Start with work where a wrong guess costs nothing, then add sends. These four cover most of what a shop asks its assistant, and each one names the tools and scopes it needs, so you can create a key for that job only.

Morning inbox triage

Ask the assistant for every open chat that is still waiting, grouped by topic, with a one-line summary of each. It calls list_conversations with status open and the open-window filter, reads the threads that need context with read_conversation, and suggests labels such as “sizing”, “delivery” or “refund”.

Example use case: the owner’s assistant reads the inbox and proposes labels and a note. Nothing is sent to customers. Sample text, no customer data.

Once you agree, label_conversation applies the labels and add_note leaves a private note on the damaged-parcel chat. Tools and scopes: contacts:read, inbox:write. A restaurant taking delivery orders or a clinic with a morning queue of booking questions runs the same play.

Order confirmations and delivery status

If your store runs on WooCommerce or Shopify, WACRM order automation already sends order confirmations from approved templates. The assistant helps with the exceptions: a confirmation for an order a teammate took by phone, or a delivery-delay notice. It sends with send_template, and notify_order subscribes your own HTTPS endpoint to message.status events, so your system learns when each message was delivered or read. Each delivery carries an X-WACRM-Signature header; the webhooks guide shows how to verify it.

Leads from email and forms

A wholesale enquiry arrives by email, or a contact form lands in your helpdesk. Ask the assistant to add the person with create_contact and leave a note on what they asked for. Your team then follows up on WhatsApp from the inbox. Scope: contacts:write. A contact plan limit, when reached, comes back as plan_limit_reached.

A weekly inbox report

Every Monday, ask for last week’s inbox report grouped by agent or by label, and for the live view of chats waiting right now. inbox_report returns the inbox report as JSON the assistant can summarise; the CSV export stays in the Workspace. Add wallet_balance to the same prompt to see the token balance and this cycle’s usage before a busy week. Scopes: inbox:read, wallet:read. Both are read-only, which makes this the safest first job for a new key.

How does MCP differ from the built-in AI agent?

They do different jobs and work well together. The WACRM AI agent talks to your customers: it drafts replies from your catalog in the inbox, waits for approval or sends inside the rules the owner sets, and stops on the AI pause switch. An assistant on MCP works for your team, on your computer, in your own AI client.

Built-in WACRM AI agentYour own assistant over MCP
Who it talks toCustomers, in the WhatsApp chatYou and your team, in the AI client
Where it runsInside WACRMYour MCP client, with wacrm-mcp on the same computer
What it sends to WhatsAppReplies, approval-first or auto-send in the 24-hour windowApproved templates through send_template
Typical jobAnswer price and stock questions, hand chats to a personTriage, notes, labels, reports, exception sends

The two meet in the inbox: assign_conversation can give a conversation to an AI agent or to a teammate. The ecommerce AI agent playbook covers the customer-facing side in full.

How do you connect your first AI client?

In three steps from the Workspace, with no code:

  1. Pick your AI client. Open Settings → AI tools (MCP), click Connect a client and choose Claude Desktop, Cursor or another MCP client.
  2. Create a key with the MCP preset. The seven scopes come ticked. Untick what this job does not need and set a monthly action cap.
  3. Paste the config. Copy the key once, then the ready-made config: claude_desktop_config.json for Claude Desktop, .cursor/mcp.json for Cursor, or one command line for other clients. Restart the client and the 11 tools appear.

Our team gets you the wacrm-mcp server files with your Workspace and helps you connect it. MCP actions run on the Corporate and Partner plans; see pricing. For the full walkthrough, including a first API call with curl, follow the API and MCP quickstart. Developers who want the raw endpoints can use the developer reference.

What should you check before an agent acts on its own?

Run this checklist before you give a key the messages:send or inbox:write scope:

  • The key is made for one job, with only that job’s scopes ticked.
  • A monthly action cap is set, sized to a normal week of that job.
  • The templates the assistant may send are approved and named so the model picks the right one.
  • Your prompt asks the assistant to confirm with you before any send, label or resolve.
  • Someone reads the usage card on the AI tools (MCP) page each week.
  • You know where the revoke button is.

Shops that sell through WhatsApp every day can see the full setup on the online shops solution page. To connect your systems and your AI tools, start from WACRM API & MCP; for an agent built around your own workflow, our custom development team builds the connection with you.

WACRM

Talk to an expert

A person from the WACRM team replies.

Ask David a question about “WhatsApp MCP Server: Let AI Agents Operate Your CRM”.

Replies within one working day, usually sooner on WhatsApp.

Frequently asked questions

What is a WhatsApp MCP server?

It is a program that speaks the Model Context Protocol and turns WhatsApp CRM actions into tools an AI assistant can call. WACRM's server, wacrm-mcp, gives an MCP client such as Claude Desktop or Cursor 11 tools over the WACRM Core API, for example send_template, read_conversation and list_conversations, each checked against the scopes of your API key.

Can an AI assistant send WhatsApp messages to my customers through MCP?

Yes, with the send_template tool and a key that carries the messages:send scope. It sends an approved WhatsApp template, and a retry with the same Idempotency-Key never sends twice. Outside the 24-hour customer service window Meta only allows template messages, which is why the MCP send tool is template-based. None of the inbox tools sends anything to WhatsApp.

Is it safe to give an AI agent access to my WhatsApp inbox?

You decide how much it can do. Each key holds only the scopes you tick, a tool outside them answers insufficient_scope instead of acting, a monthly action cap stops the key when it is reached, and revoking the key stops the client at once. Bulk inbox actions over more than 20 conversations are refused, and private notes are never sent to the customer.

Do I need a developer to connect an AI client?

No code is needed. The AI tools (MCP) page in your Workspace creates the key and writes the config for Claude Desktop or Cursor, or gives one command line for another MCP client. The server runs with Node.js 20 or newer on the computer where your AI client runs; our team gets you the server files with your Workspace and helps you connect it.

Which WACRM plans include MCP?

MCP actions for AI tools run on the Corporate and Partner plans. On a lower plan the AI tools (MCP) page shows an upgrade notice. See the pricing page for the current plans.

Want this set up for you?

Quick Setup connects your number with coexistence in 48 hours, done by a person.