Skip to main content
MoEngage offers a hosted Model Context Protocol (MCP) server that lets AI assistants work with your campaigns directly in your workspace. Your assistant can build campaign drafts, search and review campaigns, and analyze performance — all through natural-language conversation. The MoEngage MCP server is available as a custom connector. We are actively working to list it on the Claude and ChatGPT marketplaces for one-click installation.
The MoEngage AI Connector (MCP server) is currently available in DC01, DC02, DC03, and DC04.

Setup

https://mcp.moengage.com
For the MoEngage docs MCP, use https://www.moengage.com/docs/mcp

Authentication

The MoEngage MCP server uses OAuth-based authentication tied to your MoEngage account. The first time you connect, you authenticate with your MoEngage credentials; if you are already signed in, you will see an authorization prompt. The screen shows:
  • Account — your MoEngage email
  • Workspace — the workspace you are currently signed into
  • Role — your role in that workspace (for example, Manager, Admin)
  • Data Center — your data center environment
  • Permissions requested — the scopes the server needs (for example, reading campaign data and creating or managing campaigns)
Click Accept to grant access. MCP Request Access

Key authentication behaviors

  • The server inherits the environment, workspace, and role of your active MoEngage session.
  • Authentication tokens are derived from your active MoEngage session.
  • If you log out or switch workspaces, you are prompted to re-authenticate.
  • All actions respect your existing MoEngage role-based permissions — including which tools your role can use. Reading campaign data requires read access; building or editing campaigns requires campaign create/manage permission.

Built for agents

The server is designed so that any AI assistant — not just one vendor’s — can build a correct campaign on the first try. Two capabilities make that possible:
  • discover_schema returns the exact, current request shape for whatever you’re building (required fields, allowed values, a working example) — so the assistant doesn’t guess.
  • get_content_guide serves validated, on-demand guidance for writing content (Jinja personalization, email HTML) — so the content is correct, not trial-and-error.
The MCP builds and validates drafts. Publishing a campaign remains a human action in the MoEngage dashboard.

What you can do

Build

Draft push and email campaigns — including A/B variants, multi-locale, scheduling, segmentation, and content blocks.

Author content

Get validated patterns for Jinja personalization and email HTML, and preview how content renders for sample users.

Search & review

Find campaigns across every channel; read a campaign’s full configuration and content.

Analyze

Pull performance, delivery funnels, click breakdowns, and device analytics.

Available tools

Create, edit, and test-send are supported for Push and Email. Search and analytics work for all channels (Push, Email, SMS, WhatsApp, Webhook); SMS and other non‑Push/Email channels are read-only.

Build a campaign

ToolDescription
discover_schemaReturns the exact request shape for a campaign type, component, template, or modifier — required/forbidden fields, a proven minimum example, and the rules for that type. Call this before building any payload.
create_campaign_draftCreate a campaign draft in one call.
patch_campaign_componentsUpdate one or more components of an existing draft.
validate_campaign_draftDry-run the full publish validation against a draft without changing it; returns field-level errors if anything is missing.
create_personalization_previewRender personalization for sample users to spot-check content before creating.
test_campaign_inline / test_campaign_by_draft_idSend a test message to verify a draft.
update_campaign_statusSTOP, PAUSE, or RESUME an already-running campaign (not drafts).

Author content

ToolDescription
get_content_guideValidated authoring guidance for content — how to write Jinja personalization and email HTML well. Request a topic (jinja, email_html, email_deliverability) and an optional section to get just the part you need. This is authoring quality guidance, distinct from discover_schema (which gives the request shape).

Content blocks

ToolDescription
create_content_block / edit_content_blockCreate or update a reusable content block (for example, a shared email footer).
search_content_blocks / get_content_blocks_by_idsFind content blocks by label, or fetch them by ID.

Search & read

ToolDescription
search_campaignsSearch campaigns across all channels by name, status, ID, channel, delivery type, or date range. Include DRAFT in the status filter to see drafts.
get_campaign / get_campaign_metaFetch a single campaign’s full configuration and content, or just its metadata.
list_custom_segments / get_custom_segmentBrowse and read custom segments for audience targeting.
Supported status filters: ACTIVE, DRAFT, EXPIRED, NOT_SENT, PAUSED, SCHEDULED, SENDING, SENT, STOPPED, UNDER_REVIEW, REJECTED.

Analytics

All analytics tools enforce a maximum date range of 30 days.
ToolDescription
get_campaign_statsAggregate performance — delivery rate, opens, clicks, CTR, and channel-specific metrics. Up to 50 campaigns per call.
get_detailed_campaign_statsBreakdowns by conversion goal, device/platform, locale, and A/B variation.
get_delivery_statsThe delivery funnel — reachable users, frequency-cap removals, send/delivery failures, and per-platform device stats.
get_click_performancePer-URL click breakdown, with total and unique counts.
get_device_analyticsPerformance by device dimensions — OEM, app version, or dormancy, with multi-dimensional splits.

Building a campaign, step by step

1

Discover the shape

The assistant calls discover_schema for your channel and delivery type to get the exact payload structure.
2

Author the content

For email HTML or Jinja personalization, it calls get_content_guide for validated patterns.
3

Create the draft

create_campaign_draft (or patch_campaign_components to refine an existing draft).
4

Preview personalization

create_personalization_preview confirms the content renders correctly for sample users.
5

Validate

validate_campaign_draft runs the full publish check and reports any field-level issues.
6

Publish

Review and publish the draft from the MoEngage dashboard.

Example prompts

What you want to doExample prompt
Build a campaign”Draft a one-time push to all users for tomorrow 10am IST titled ‘Weekend sale’.”
Personalize content”Write the email greeting with a first-name fallback and mention the user’s city.”
Find campaigns”List all active push campaigns.”
Check performance”What’s the CTR for my email campaigns over the last 2 weeks?”
Diagnose delivery”Why did my last push campaign have a low delivery rate?”
Analyze A/B tests”Which variation won in campaign XYZ?”
Review content”Show me the email content for campaign ABC.”
Device insights”How does Android vs iOS performance compare for my push campaigns?”

Known behaviors and limitations

We document known quirks so you and your assistant can work around them instead of hitting them unexpectedly.
  • Publishing is not available through the MCP — drafts are published from the MoEngage dashboard.
  • SMS and other non-Push/Email channels are read-only: searchable and analyzable, but not creatable.
  • Date range for analytics is limited to 30 days per query.
  • Batch size: get_campaign_stats accepts up to 50 campaign IDs per request.
  • Content size: email HTML can be large (10–50 KB); fetch full content deliberately.
  • Campaign-name date format: campaign names often encode dates as DDMMYY (for example, 230326 = 23 March 2026). If analytics return all zeros, check your date range first.
  • Analytics response shape: stats are returned as a single cross-channel structure — metrics that don’t apply to a campaign’s channel come back as 0, not absent. Don’t infer a campaign’s channel from which fields are non-zero.

Security and permissions

  • The MCP server can build and validate campaign drafts and read and analyze campaign data. It does not publish campaigns — publishing is a human action in the dashboard.
  • Every action is scoped to the workspace and role of the authenticated user. Tools your role lacks permission for are not available to you.
  • Data shared with AI assistants is subject to the respective AI provider’s data-handling policies.
  • Review MoEngage’s Privacy Policy and Terms of Use for more information.

Troubleshooting

The server inherits the active session from your MoEngage account.
  1. Verify you are signed in to the correct MoEngage workspace.
  2. If you signed out or switched workspaces, re-authenticate the MCP connection to restore access.
Tool availability follows your MoEngage role. If you can’t see build tools, confirm your role has campaign create/manage permission in the current workspace.