Blueticks

Using the MCP server

Drop Blueticks into Claude Code, Claude Desktop, Cursor, or any other MCP-compatible host with a single npm install.

@blueticks/mcp is a local stdio Model Context Protocol server that wraps the Blueticks Node SDK and exposes every Blueticks resource as an MCP tool: scheduled_messages, chats, groups, audiences, campaigns, contacts, engine, webhooks, utils.

LLM hosts that speak MCP can call those tools directly — your agent sends WhatsApp messages, manages campaigns, or queries chat history without you writing any glue code.

Install

You don't need to install it as a project dependency — MCP hosts launch the server via npx on demand.

# Optional: pre-install for offline use
npm install -g @blueticks/mcp

Configure your MCP host

The server reads BLUETICKS_API_KEY from its environment. Set it in your host's MCP config:

Add to ~/.claude.json (or your project's .mcp.json):

{
  "mcpServers": {
    "blueticks": {
      "command": "npx",
      "args": ["-y", "@blueticks/mcp"],
      "env": {
        "BLUETICKS_API_KEY": "BLUETICKS_API_KEY"
      }
    }
  }
}

Restart Claude Code. The 9 Blueticks tools become available automatically.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on your platform:

{
  "mcpServers": {
    "blueticks": {
      "command": "npx",
      "args": ["-y", "@blueticks/mcp"],
      "env": {
        "BLUETICKS_API_KEY": "BLUETICKS_API_KEY"
      }
    }
  }
}

Restart Claude Desktop.

In Cursor's settings, add an MCP server with command npx -y @blueticks/mcp and env var BLUETICKS_API_KEY=BLUETICKS_API_KEY.

See Authentication for how to get an API key.

What the agent can do

Once wired, the LLM can act on your WhatsApp account:

  • Send messages: scheduled_messages action send (text, media, or poll — schedule for later via send_at), plus list / get / update / cancel for queue management.
  • Read chats: chats action list / search / list_messages (with load_more_history to pull older messages from the phone).
  • Manage groups: groups action create / update / get.
  • Run campaigns: campaigns action create / pause / resume / cancel. Campaign templates support the built-in {whatsappname} / {displayname} / {phone} tokens plus any custom variables attached to audience contacts.
  • Maintain audiences: audiences action append_contacts with variables for per-contact substitution values.
  • Subscribe to events: webhooks action create to register signed HTTPS callbacks for message.queued / delivered / read / failed, session.connected / disconnected, campaign.started / paused / resumed / completed / aborted.

Every tool returns a structured content[] block with JSON the agent can reason over — including field-level details on validation errors so the LLM can self-correct.

Source