Campaign Monitor MCP
Provides tools to manage Campaign Monitor email campaigns, subscriber lists, journeys, segments, transactional email, clients, and account settings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Campaign Monitor MCPCreate a new email campaign for the 'VIP Customers' list"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Campaign Monitor MCP
A Model Context Protocol (MCP) server that wraps the full Campaign Monitor REST API v3.3, giving Claude the ability to manage email campaigns, subscriber lists, journeys, segments, transactional email, and more via natural language.
Features
103 tools covering the complete Campaign Monitor API:
📧 Campaigns — create, send, schedule, preview, and pull stats (opens, clicks, bounces, spam)
👥 Subscribers — add, update, import in bulk, unsubscribe, delete, view history
📋 Lists — full CRUD, custom fields, webhooks, subscriber state queries
🔀 Segments — create and manage rule-based segments, query matching subscribers
🤖 Journeys — list automations, view per-email stats, publish trigger events
📄 Templates — create, update, copy templates across clients
⚡ Transactional — send classic and smart emails, view message timeline and stats
🏢 Clients — manage clients, people, suppression lists, sending domains, billing
⚙️ Account — admins, billing details, primary contact, timezones
Requirements
Node.js 18+
Installation
Claude Desktop (manual)
Clone this repo and install dependencies:
git clone https://github.com/pauliowest/cmon-mcp.git
cd cmon-mcp
npm install
npm run buildAdd to your
claude_desktop_config.json(found at~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS):
{
"mcpServers": {
"Campaign Monitor": {
"command": "node",
"args": ["/path/to/cmon-mcp/dist/index.js"],
"env": {
"CM_API_KEY": "your_api_key_here",
"CM_CLIENT_ID": "your_client_id_here"
}
}
}
}Restart Claude Desktop.
Finding your Client ID
If you're unsure of your Client ID, leave CM_CLIENT_ID blank and ask Claude to run get_clients — it will return all available clients and their IDs.
Environment Variables
Variable | Required | Description |
| ✅ | Your Campaign Monitor API key |
| Optional | Default client ID — tools fall back to this when no client is specified explicitly |
Development
npm run build # compile TypeScript → dist/
npm run dev # watch mode
npm run inspector # open MCP Inspector UI for manual tool testingArchitecture
src/
index.ts # Entry point — wires up MCP server + stdio transport
client.ts # CampaignMonitorClient — all HTTP + Basic Auth
tools/
account.ts # 11 tools — billing, admins, timezones
campaigns.ts # 17 tools — CRUD, send, stats
clients.ts # 19 tools — client management, people, domains
journeys.ts # 8 tools — automations + stats
lists.ts # 20 tools — CRUD, custom fields, webhooks
segments.ts # 7 tools — rule-based segments
subscribers.ts # 7 tools — add, import, manage
templates.ts # 5 tools — template management
transactional.ts # 9 tools — classic + smart emailLicense
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pauliowest/cmon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server