MCP server for AI agents

Reference for the MCP server: URLs, scopes, every tool, approval rules and limits. Agents use it to set up your brand, settings and Autopilot, and to draft AI campaigns.

Every workspace has an MCP server (Model Context Protocol). An AI agent connects with an Action key (act_…) and can read and change your brand profile, workspace settings and Autopilot, and draft campaigns with the AI campaign generator. The tools call the same services as the dashboard, so the same checks apply.

New to this? Start with the step-by-step guide.

URLs

  • Workspace URL: /api/v1/mcp/t/<your-slug>. Only keys from this workspace work here. A key from another workspace gets 403.
  • Central URL: /api/v1/mcp. One address for every workspace. The key decides the workspace.

Both URLs show the same tools for the same key. The server name is engage-<slug>. Find both URLs in Settings → Agent access.

Connect

Create a key in Settings → Agent access. Then, for Claude Code:

claude mcp add --transport http engage https://<api-host>/api/v1/mcp/t/<slug> \
  --header "Authorization: Bearer act_…"

For Cursor and other clients, use a JSON config:

{
  "mcpServers": {
    "engage": {
      "url": "https://<api-host>/api/v1/mcp/t/<slug>",
      "headers": { "Authorization": "Bearer act_…" }
    }
  }
}

The transport is streamable HTTP. Each request stands alone, so no session is kept on the server.

Scopes

  • read: read tools. Every key needs it.
  • configure: change brand, settings, variables and the Autopilot setup. This scope also lets an agent turn on Autopilot in review_required mode, because a person still approves each campaign.
  • write:draft: build and manage draft campaigns, templates, segments and folders; draft campaigns with the AI campaign generator; pause, archive and unenroll; dismiss Autopilot opportunities. Nothing new is sent.
  • write:live: ask to publish campaigns and enroll segments (an owner approves), enroll one contact, approve Autopilot opportunities, and ask for auto_execute mode.

tools/list shows only the tools that the key's scopes allow.

Tools

  • Workspace: workspace_whoami, credits_balance, channels_list, campaigns_list, campaigns_get, segments_list, segments_get, segments_preview
  • Brand: brand_get, brand_readiness, brand_preview, brand_update
  • Settings: settings_get, settings_update, variables_list, variables_create, variables_update, variables_delete
  • Autopilot: autopilot_get_config, autopilot_list_templates, autopilot_connected_channels, autopilot_suggest_event_map, autopilot_update_config, autopilot_enable, autopilot_set_autonomy, autopilot_disable, autopilot_reset_preview, autopilot_reset, autopilot_run_classify, autopilot_run_detect, autopilot_performance, autopilot_lifecycle_distribution, autopilot_list_opportunities, autopilot_get_opportunity, autopilot_approve_opportunity, autopilot_dismiss_opportunity
  • AI campaigns: campaigns_generate, campaigns_generation_get, campaigns_generations_list, campaigns_generation_refine, campaigns_generation_accept
  • Campaigns: campaigns_reference, campaigns_create, campaigns_update, campaigns_get_flow, campaigns_set_flow, campaigns_preflight, campaigns_activate, campaigns_pause, campaigns_archive, campaigns_duplicate, campaigns_delete, campaigns_set_end_date, campaigns_move, campaigns_report, campaigns_enrollments_list, campaigns_enroll_contact, campaigns_enroll_segment, campaigns_unenroll, campaign_folders_list, campaign_folders_create
  • Templates: templates_list, templates_get, templates_preview, templates_create, templates_update, templates_delete
  • Segments: segments_create, segments_update, segments_delete
  • Approvals: approvals_list, approvals_get

The server also gives two guided prompts, configure_brand and setup_autopilot, and three read-only resources: engage://brand, engage://autopilot/config and engage://settings.

Campaign management

An agent builds a campaign in the same order as the dashboard:

  1. campaigns_reference: read the trigger, step, edge and rule shapes.
  2. campaigns_create: make a draft with a name and a trigger (manual, event, segment or segment_membership).
  3. templates_create: write each email, SMS or push message, or reuse one from templates_list. Check it with templates_preview.
  4. campaigns_set_flow: send all steps and edges. Steps use your own keys, and edges point at those keys. If the flow has no start step, one is added. The reply says whether anything blocks publishing.
  5. campaigns_preflight: run the publish checks until ready is true.
  6. campaigns_activate: ask to publish. An owner or admin approves it.
  7. campaigns_report: read deliveries, enrollments, conversions, revenue, the step funnel, channels and A/B variants.
  • Publishing and enrolling a segment always need approval. The request shows the audience size, and every outside host that a webhook step sends contact data to.
  • On an active campaign, changing the campaign, its flow, a template it uses, or the rules of its trigger segment needs approval. So does a later end time, or removing the end time.
  • Deleting a draft is direct. Deleting any other campaign needs approval, because its results go too. Use campaigns_archive to keep the results.
  • A template or segment that an active campaign uses cannot be deleted.
  • campaigns_pause is always allowed.
  • Publishing and enrolling follow the same billing rule as the dashboard: a suspended workspace or a zero balance cannot send.
  • Agents write email bodies as HTML. Build WhatsApp templates, in-app messages and weather triggers in the dashboard.

AI campaign generation

  • campaigns_generate starts the generator with a prompt, and an optional goal, audience and tone. It runs in the background, so the agent checks it with campaigns_generation_get until the status is completed.
  • A completed generation shows the draft: the campaign name, description and every message.
  • campaigns_generation_refine rewrites it with feedback and returns a new generation.
  • campaigns_generation_accept saves it as a draft campaign. Nothing is sent; a person publishes it.
  • Generate and refine count against the workspace's daily AI limit, the same as the dashboard. When the limit is reached, the tool reports it.
  • A generation that an agent starts records the agent key, not a user.

How updates work

  • Update tools change only the fields that you send. A list (for example banned_words) replaces the saved list.
  • Every write tool takes dry_run. A dry run shows the change and saves nothing.
  • Every write tool takes idempotency_key. A repeat call with the same key and input returns the first result for 24 hours.
  • Brand links must use http or https.

Changes that need you

Some changes return status: pending_approval. They run only after an owner or admin approves them in Settings → Agent access. A request expires after 72 hours.

  • Publish a campaign, or enroll a segment into one. The key needs write:live, and the person who approves needs campaign:publish.
  • Change an active campaign, its flow, a template it uses, or its trigger segment's rules. Extend or remove an active campaign's end time.
  • Delete a campaign that is not a draft (the approver needs campaign:delete).
  • Turn on Autopilot in auto_execute mode, or switch to it. The key needs write:live, and the person who approves needs campaign:publish.
  • Raise Autopilot limits or add a channel while Autopilot is in auto_execute.
  • Reset Autopilot.
  • Loosen the frequency cap, change or remove quiet hours, shorten the survey cooldown, or change the phone region.

Agents can always add or tighten limits, pause a campaign, and turn Autopilot off without approval.

What agents cannot do

Agents cannot see or change secrets, channel credentials, API keys, currency, billing, team members or approval rules.

Audit and rate limits

Every tool call is written to the Action audit log with the tool name, key, client name and a hash of the input. The Action rate limits apply per workspace and per key.