Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Moengage

FreeNot checked

MCP server for MoEngage marketing platform, exposing campaign and email-template tools with full campaign targeting filter tree via API-key auth.

GitHubEmbed

About

MCP server for MoEngage marketing platform, exposing campaign and email-template tools with full campaign targeting filter tree via API-key auth.

README

A Model Context Protocol (MCP) server for the MoEngage marketing platform. Exposes campaign and email-template tools over stdio, built on FastMCP.

Unlike MoEngage's official MCP (analytics-oriented, interactive OAuth), this server uses the documented Campaign/Content API with plain API-key auth — it runs headless, and it reads campaign targeting (the full segmentation_details filter tree via search_campaigns), which the official server does not expose.

Tools

Campaigns (9)

Tool Mutates Purpose
search_campaigns no Search/filter campaigns; returns config including the full targeting filter tree (segmentation_details). Email html_content is replaced with a byte count unless include_content=true
get_campaign_meta no Thin identity view: status, channel, delivery type, team, tags, dates (no targeting)
get_child_executions no Individual runs of a recurring (periodic) campaign
get_personalized_preview no Render campaign content with placeholders resolved for sample attributes
get_campaign_stats no ⚠ Disabled upstream — hidden unless MOENGAGE_ENABLE_STATS=true; re-enable when MoEngage turns the endpoint back on
create_campaign yes Create a campaign
update_campaign yes Update campaign config
change_campaign_status yes Activate / pause / stop a campaign
test_campaign yes Send a real test push/email to named recipients

Email templates (9)

Tool Mutates Purpose
search_templates no Search templates with filters and pagination
analyze_template no Parse template HTML into structured content nodes
compare_templates no Structured diff of two templates
build_email_template no Build + validate a template, return a structured preview (no publish); autofix=true repairs mechanical layout issues (isolation spacers, missing disclaimer/footer)
get_server_info no Data center + dashboard base URL
publish_template yes Build + validate + publish to MoEngage
update_template yes Update an existing template
localize_template yes Publish a translated market variant
patch_template_text yes Modify specific text nodes without a rebuild

Tools return structured previews, never raw HTML — large payloads would overflow an agent's context window.

Gating writes: the server ships all tools; restrict the mutating ones in your MCP client (e.g. Claude Code permissions.allow listing only the read tools). Read and write tools share MoEngage's campaign-API rate limits (5/min, 25/hr, 100/day) — avoid fanning out calls.

Install & run

pip install git+https://github.com/poddubnyoleg/moengage_mcp.git
moengage-mcp            # stdio

Claude Code / Claude Desktop config:

{
  "mcpServers": {
    "moengage": {
      "type": "stdio",
      "command": "moengage-mcp"
    }
  }
}

Configuration

Environment variables (or a local .env, see .env.example):

Variable Required Description
MOENGAGE_API_KEY yes Campaign/Content API key (dashboard → Settings → APIs)
MOENGAGE_WORKSPACE_ID yes Workspace (app) ID
MOENGAGE_DATA_CENTER yes Regional DC, e.g. 02 for dashboard-02.moengage.com
MOENGAGE_FOOTER_CONFIG no Brand links for the email footer component — inline JSON or a file path (schema in footer.py); without it the footer carries only an Unsubscribe link
MOENGAGE_ENABLE_STATS no Set true to register get_campaign_stats (hidden by default while the upstream endpoint is disabled)

API errors (including 401 on rotated keys) come back as structured error dicts, so a consuming agent can report them instead of failing opaquely.

Notes

  • content/email/TEMPLATE_GUIDELINES.md documents an example house style the template validator enforces (component order, CTA compliance, Jinja rules) — adapt to your brand.
  • Audience reachability counts are only returned by MoEngage for one-time scheduled campaigns, not periodic ones.

License

MIT

from github.com/poddubnyoleg/moengage_mcp

Install Moengage in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install moengage-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add moengage-mcp -- uvx --from git+https://github.com/poddubnyoleg/moengage_mcp moengage-mcp

FAQ

Is Moengage MCP free?

Yes, Moengage MCP is free — one-click install via Unyly at no cost.

Does Moengage need an API key?

No, Moengage runs without API keys or environment variables.

Is Moengage hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Moengage in Claude Desktop, Claude Code or Cursor?

Open Moengage on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Moengage with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs