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 gets403. - 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 inreview_requiredmode, 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 forauto_executemode.
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:
campaigns_reference: read the trigger, step, edge and rule shapes.campaigns_create: make a draft with a name and a trigger (manual,event,segmentorsegment_membership).templates_create: write each email, SMS or push message, or reuse one fromtemplates_list. Check it withtemplates_preview.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.campaigns_preflight: run the publish checks untilreadyis true.campaigns_activate: ask to publish. An owner or admin approves it.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_archiveto keep the results. - A template or segment that an active campaign uses cannot be deleted.
campaigns_pauseis 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_generatestarts the generator with a prompt, and an optional goal, audience and tone. It runs in the background, so the agent checks it withcampaigns_generation_getuntil the status iscompleted.- A completed generation shows the draft: the campaign name, description and every message.
campaigns_generation_refinerewrites it with feedback and returns a new generation.campaigns_generation_acceptsaves 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
httporhttps.
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 needscampaign: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_executemode, or switch to it. The key needswrite:live, and the person who approves needscampaign: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.
Related
Guide: set up Engage with an AI agent
Step by step: create an agent key, connect Claude or Cursor, then let the agent set up your brand and Autopilot, and build, publish and manage campaigns.
Actions Gateway
Scoped Action API keys so customer bots can read EngageApp campaigns, segments, channels, credits, and Autopilot — without using unscoped df_ keys.
API keys
Create and manage secret, publishable, and scoped Action API keys. Secret df_ keys do not grant dashboard or campaign access.
Engagement Autopilot
An AI engagement brain that watches each contact’s lifecycle, spots opportunities, and proactively drafts (or ships) tailored campaigns to grow retention.
Autonomy & guardrails
Choose whether the autopilot proposes or ships campaigns, and set the volume, audience, and channel limits that bound it.