moengage-mcp
MCP server for MoEngage marketing platform, exposing campaign and email-template tools with full campaign targeting filter tree via API-key auth.
README
moengage-mcp
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) |
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 — MoEngage turned this endpoint off; kept for when it returns |
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) |
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 |
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.mddocuments 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.