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.
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/mcpSet 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 buildEnvironment variables
| Variable | Required | Description |
|---|---|---|
| BOOMTOWER_API_KEY | Yes | Organization API key from the BoomTower admin |
| BOOMTOWER_API_URL | No | API base URL (defaults to https://api.boomtower.com in this environment) |
| BOOMTOWER_BEARER_TOKEN | No | Firebase user session token — only needed for immediate send_nudge_test with mode=test |
| BOOMTOWER_TENANT_ID | No | Optional; auto-resolved from GET /v1/organizations |
Cursor plugin
The official Cursor plugin bundles the MCP server config and an agent skill.
- Click Install in Cursor at the top of this page (or use the deeplink below).
- Open Cursor Settings → MCP and confirm boomtower is listed.
- Add
BOOMTOWER_API_KEYto the server's environment in MCP settings. - 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
| Tool | Description |
|---|---|
| create_scheduled_campaign | Composite: create nudge + group + attach recipients in one call. Optional sendNow enqueues an immediate send. |
| create_nudge | Create a nudge with prompt, type (text or AI), media type, and RRULE schedule. |
| create_group | Create a group and attach user and nudge IDs with active status. |
| send_nudge_test | Send immediately (mode=test, needs bearer token) or enqueue via outbox (mode=enqueue, works with API key). |
Workflows
Fast path (recommended)
- Call
create_scheduled_campaignwith name, AI prompt, schedule, and recipient user IDs. - Optionally set
sendNow: trueto enqueue an immediate send for verification. - 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
create_nudge— define prompt and schedulecreate_group— attach nudge and user IDssend_nudge_test— verify withmode=enqueue(API key) ormode=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,FRTimes 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 publicThe 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.