Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 2.03 KB

File metadata and controls

58 lines (47 loc) · 2.03 KB

MCP server

wacrm ships a Model Context Protocol server so you can drive your CRM from AI assistants — Claude Desktop, Claude Code, Cursor, and any other MCP client — in natural language:

"How many conversations are still open today?" "Show the last five messages with +1 415 555 0123." "Send the order_update template to that contact."

It lives in mcp-server/ and is published to npm as wacrm-mcp. Under the hood it's a thin wrapper over the public API, so every request is authenticated and scoped by your instance exactly like any other API call.

Quick start

  1. Create an API key in the dashboard: Settings → API keys. Grant only the scopes your assistant needs (a read-only assistant only needs the *:read scopes).

  2. Add the server to your MCP client config:

    {
      "mcpServers": {
        "wacrm": {
          "command": "npx",
          "args": ["-y", "wacrm-mcp"],
          "env": {
            "WACRM_BASE_URL": "https://crm.example.com",
            "WACRM_API_KEY": "wacrm_live_xxxxxxxxxxxxxxxxxxxxxxxx"
          }
        }
      }
    }

That's read-only — the safe default. To let the assistant change data or send messages, add "WACRM_ENABLE_WRITES": "true" (and "WACRM_ENABLE_BROADCASTS": "true" for mass sends) to env.

What it exposes

  • Reads (always on): whoami, contacts (list/get), conversations (list/get), messages (list), broadcast status.
  • Writes (opt-in): send a message, create/update a contact.
  • Broadcasts (opt-in): launch a template broadcast — requires an explicit confirm and is marked destructive.

Safety

Because sending WhatsApp messages is a real side effect, the server is read-only until you opt in, layered on top of the API key's own scopes. Give an assistant a read-only key and read-only config and it physically cannot send anything. See the server README for the full tool list and safety model.