// Integrations
AI assistants (MCP)
Connect Claude, Cursor or any MCP client to your account.
Our MCP server lets an AI assistant work with your project in plain language. It works with Claude Desktop, Claude Code, Cursor and any other Model Context Protocol client.
- “How many conversations are still open today?”
- “Show me the last five messages from +91 98765 43210.”
- “Tag everyone who asked about pricing this week as hot-lead.”
It runs on your own computer as the npm package wacrm-mcp and calls the public API with your key, so every request is limited by that key's scopes.
Set it up#
1. Create an API key under Settings → API keys. For an assistant that only answers questions, give it only the :read scopes.
2. Add the server to your client's MCP configuration (for Claude Desktop: Settings → Developer → Edit config). The same snippet, already filled in with your address, is under Settings → API keys in the dashboard.
{
"mcpServers": {
"whatsapp": {
"command": "npx",
"args": ["-y", "wacrm-mcp"],
"env": {
"WACRM_BASE_URL": "https://whatsapp.esendblue.com",
"WACRM_API_KEY": "wacrm_live_YOUR_KEY"
}
}
}
}3. Restart the client. The tools appear under the server's name.
Read-only until you allow more#
With the configuration above the assistant can read but cannot change anything or send anything. To allow more, add these to env:
| Variable | Adds |
|---|---|
"WACRM_ENABLE_WRITES": "true" | Sending messages, creating and updating contacts |
"WACRM_ENABLE_BROADCASTS": "true" | Launching campaigns (needs writes as well) |
Messages are real
Tools#
| Tool | Group | Scope | Does |
|---|---|---|---|
whoami | read | — | Which project and scopes the key has |
list_contacts | read | contacts:read | List or search contacts |
get_contact | read | contacts:read | Read one contact |
list_conversations | read | conversations:read | List conversations by status or contact |
get_conversation | read | conversations:read | Read one conversation |
list_messages | read | messages:read | Read a conversation's messages |
get_broadcast | read | broadcasts:send | A campaign's delivery progress |
send_message | write | messages:send | Send text, media or a template |
create_contact | write | contacts:write | Create (or find) a contact |
update_contact | write | contacts:write | Update a contact or replace its tags |
send_broadcast | broadcast | broadcasts:send | Launch a campaign — asks for confirmation |
Running several projects? Add one server entry per project, each with its own key and a different name.