Integrations

BoomTower MCP Server

Connect AI apps like Cursor and Claude Desktop to BoomTower's scheduled SMS and email nudges via the Model Context Protocol. The MCP server wraps the REST API so agents can create campaigns, attach recipients, and trigger sends without writing HTTP clients by hand.

Cursor plugin

One-click install, then add your org API key in Cursor MCP settings.

Install in Cursor

Overview

The MCP server is published as @boom-tower/mcp on npm and bundled in the cursor-plugin/ directory of the BoomTower repository. It runs as a local stdio process that your AI client spawns. All API calls use your organization's X-API-Key header against https://api.boomtower.com.

Scheduled delivery still runs on BoomTower infrastructure: Cloud Scheduler calls POST /v1/consider and POST /v1/send. The MCP server configures nudges and groups; it does not replace the backend scheduler.

Install

npm (recommended)

No clone required — Cursor and Claude Desktop can run the server via npx:

npx -y @boom-tower/mcp

Set BOOMTOWER_API_KEY in your MCP client's environment configuration (see below).

From source

git clone https://github.com/boneill42/boomtower.git
cd boomtower/mcp
npm install
npm run build

Environment variables

VariableRequiredDescription
BOOMTOWER_API_KEYYesOrganization API key from the BoomTower admin
BOOMTOWER_API_URLNoAPI base URL (defaults to https://api.boomtower.com in this environment)
BOOMTOWER_BEARER_TOKENNoFirebase user session token — only needed for immediate send_nudge_test with mode=test
BOOMTOWER_TENANT_IDNoOptional; auto-resolved from GET /v1/organizations

Cursor plugin

The official Cursor plugin bundles the MCP server config and an agent skill.

  1. Click Install in Cursor at the top of this page (or use the deeplink below).
  2. Open Cursor Settings → MCP and confirm boomtower is listed.
  3. Add BOOMTOWER_API_KEY to the server's environment in MCP settings.
  4. Reload the window. The agent skill guides tool use for campaigns and test sends.

Plugin source: github.com/boneill42/boomtower/cursor-plugin

Test locally before marketplace publish: ln -sf /path/to/boomtower/cursor-plugin ~/.cursor/plugins/local/boomtower

Manual Cursor setup

Alternatively, add this to .cursor/mcp.json or Cursor Settings → MCP:

{
  "mcpServers": {
    "boomtower": {
      "command": "npx",
      "args": ["-y", "@boom-tower/mcp"],
      "env": {
        "BOOMTOWER_API_URL": "https://api.boomtower.com",
        "BOOMTOWER_API_KEY": "your-org-api-key"
      }
    }
  }
}

Restart Cursor or reload MCP servers. You should see boomtower listed with four tools available.

Tip: Use an organization API key from the BoomTower admin panel. User Firebase tokens are only required for immediate test sends (mode=test).

Claude Desktop

Claude Desktop uses the same JSON shape:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "boomtower": {
      "command": "npx",
      "args": ["-y", "@boom-tower/mcp"],
      "env": {
        "BOOMTOWER_API_URL": "https://api.boomtower.com",
        "BOOMTOWER_API_KEY": "your-org-api-key"
      }
    }
  }
}

Tools reference

ToolDescription
create_scheduled_campaignComposite: create nudge + group + attach recipients in one call. Optional sendNow enqueues an immediate send.
create_nudgeCreate a nudge with prompt, type (text or AI), media type, and RRULE schedule.
create_groupCreate a group and attach user and nudge IDs with active status.
send_nudge_testSend immediately (mode=test, needs bearer token) or enqueue via outbox (mode=enqueue, works with API key).

Workflows

Fast path (recommended)

  1. Call create_scheduled_campaign with name, AI prompt, schedule, and recipient user IDs.
  2. Optionally set sendNow: true to enqueue an immediate send for verification.
  3. Recurring delivery is handled by BoomTower's scheduler.
{
  "name": "Morning check-in",
  "prompt": "Send a warm, brief morning wellness check-in. Ask how they're feeling today.",
  "schedule": "DTSTART=20260514T080000;FREQ=DAILY;INTERVAL=1",
  "recipients": [{ "userId": "2abc..." }],
  "sendNow": true
}

Granular path

  1. create_nudge — define prompt and schedule
  2. create_group — attach nudge and user IDs
  3. send_nudge_test — verify with mode=enqueue (API key) or mode=test (bearer token)

Delivery prerequisites

Recipients must already exist as BoomTower users. Each user needs:

  • enabledChannels: ["sms"] and/or ["email"]
  • Valid phone number (SMS) or email address (email)
  • optInMessaging: true
  • Active membership on a group with the nudge attached as active

User creation requires a Firebase session (not an org API key). Create users through the BoomTower web app or signup flow first, then reference their user IDs in MCP tools.

Schedule format

Use inline RRULE strings matching the BoomTower admin UI (same format as the REST API schedule field):

DTSTART=20260514T090000;FREQ=DAILY;INTERVAL=1
DTSTART=20260514T100000;FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,FR

Times are interpreted in the timezone passed to POST /v1/consider (default America/New_York on the backend).

npm & marketplace

Publish to npm

cd mcp
npm login
npm publish --access public

The package is published under the @boom-tower npm scope. The one-click Cursor install and plugin both rely on npx @boom-tower/mcp.

Cursor Marketplace

Submit the cursor-plugin/ directory for review at cursor.com/marketplace/publish. All plugins are manually reviewed and must be open source.

Community listing

List on cursor.directory while marketplace review is in progress.

Source & REST API

MCP server: mcp/. Cursor plugin: cursor-plugin/. REST endpoints: API reference.