Provides comprehensive management of Mailchimp accounts, enabling users to create and schedule campaigns, manage audiences and segments, track performance reports, and control automation workflows.
Supports performance tracking and reporting for RSS-driven email campaigns.
Allows for the retrieval and management of e-commerce data from connected stores, such as Shopify, including orders, products, and customer information.
Mailchimp MCP Server
A Model Context Protocol (MCP) server for the Mailchimp Marketing API. 53 tools to query and manage your Mailchimp account directly from Claude.
Features
Read
Campaigns - List, search, and inspect campaign details
Reports - Open/click rates, bounces, per-link clicks, domain performance, unsubscribe details
Email activity - Per-recipient open/click tracking, member activity history
Audiences - Browse audiences, members, segments, tags, and growth history
Automations - List workflows, inspect emails in a workflow, view queues
Templates - Browse available email templates
Landing pages - List and inspect landing pages
E-commerce - Stores, orders, products, customers (requires e-commerce integration)
Campaign folders - Browse folder organization
Batch operations - Monitor bulk operation status
Write
Members - Add, update, unsubscribe, delete, and tag contacts
Campaigns - Create drafts, set HTML content, schedule, unschedule, duplicate, delete
Segments/Tags - Create, delete, add/remove members
Automations - Pause and start automation workflows
Batch - Run bulk API operations in a single request
Prerequisites
Python 3.10+
Installation
Using uvx (recommended)
No installation needed — run directly:
uvx mailchimp-mcp-serverUsing pip
pip install mailchimp-mcp-serverThen run:
mailchimp-mcp-serverFrom source
git clone https://github.com/damientilman/mailchimp-mcp-server.git
cd mailchimp-mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e .Configuration
Variable | Required | Description |
| Yes | Your Mailchimp API key (format: |
| No | Set to |
| No | Set to |
The datacenter (us8, us21, etc.) is automatically extracted from the key.
Safety modes
Read-only mode — When MAILCHIMP_READ_ONLY=true, all write tools (create, update, delete, schedule, etc.) are blocked and return an error. Read tools work normally. This is the recommended default for shared or exploratory setups where you only need reporting and analytics.
Dry-run mode — When MAILCHIMP_DRY_RUN=true, write tools return a preview of the action they would perform (tool name, target resource, parameters) without making any API call. Useful for testing prompts before going live.
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"mailchimp": {
"command": "uvx",
"args": ["mailchimp-mcp-server"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}{
"mcpServers": {
"mailchimp": {
"command": "mailchimp-mcp-server",
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}{
"mcpServers": {
"mailchimp": {
"command": "uvx",
"args": ["mailchimp-mcp-server"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here",
"MAILCHIMP_READ_ONLY": "true"
}
}
}
}Claude Code
claude mcp add mailchimp \
-s user \
-e MAILCHIMP_API_KEY=your-api-key-here \
-- uvx mailchimp-mcp-serverFor read-only mode:
claude mcp add mailchimp \
-s user \
-e MAILCHIMP_API_KEY=your-api-key-here \
-e MAILCHIMP_READ_ONLY=true \
-- uvx mailchimp-mcp-serverAvailable Tools
Account
Tool | Description |
| Get account name, email, and subscriber count |
Campaigns (read)
Tool | Description |
| List campaigns with optional filters (status, date) |
| Get full details of a specific campaign |
| List campaign folders |
Campaign Reports
Tool | Description |
| Get performance metrics (opens, clicks, bounces) |
| Get per-link click data for a campaign |
| Per-recipient activity (opens, clicks, bounces) |
| Who opened, when, how many times |
| List of recipients with delivery status |
| Who unsubscribed after a campaign |
| Performance by email domain (gmail, outlook, etc.) |
| Revenue per product for a campaign |
| Sub-reports (A/B tests, RSS, etc.) |
Campaigns (write)
Tool | Description |
| Create a new campaign draft |
| Update subject line, title, preview text, etc. |
| Set the HTML content of a campaign draft |
| Schedule a campaign for a specific date/time |
| Unschedule a campaign (back to draft) |
| Duplicate an existing campaign |
| Delete an unsent campaign |
Audiences (read)
Tool | Description |
| List all audiences with stats |
| Get detailed info for a specific audience |
| List members with optional status filter |
| Search members by email or name |
| Monthly growth data (subscribes, unsubscribes) |
| List segments and tags for an audience |
Members (read)
Tool | Description |
| Activity history of a specific contact |
| All tags assigned to a contact |
| Custom events for a contact |
Members (write)
Tool | Description |
| Add a new contact to an audience |
| Update a contact's name or status |
| Unsubscribe a contact |
| Permanently delete a contact |
| Add or remove tags from a contact |
Segments & Tags (write)
Tool | Description |
| Create a new segment or tag |
| Delete a segment or tag |
| Add contacts to a segment/tag |
| Remove contacts from a segment/tag |
Automations
Tool | Description |
| List automated email workflows |
| List emails in a workflow |
| View the send queue for an automation email |
| Pause all emails in a workflow |
| Start/resume all emails in a workflow |
Templates
Tool | Description |
| List available email templates |
Landing Pages
Tool | Description |
| List all landing pages |
| Get details of a landing page |
E-commerce
Tool | Description |
| List connected e-commerce stores |
| List orders from a store |
| List products from a store |
| List customers from a store |
Batch Operations
Tool | Description |
| Run multiple API operations in bulk |
| Check status of a batch operation |
| List recent batch operations |
Example Prompts
Once connected, you can ask Claude things like:
"Show me all my sent campaigns from the last 3 months"
"What was the open rate and click rate for my last newsletter?"
"How many subscribers did I gain this year?"
"Which links got the most clicks in campaign X?"
"Search for subscriber
"Add tag 'VIP' to all members who opened my last campaign"
"Create a draft campaign for my main audience with subject 'March Update'"
"Unsubscribe
"Show me the domain performance breakdown for my last campaign"
"Pause my welcome automation"
"List all orders from my Shopify store this month"
Author
Built by Damien Tilman — damien@tilman.marketing
License
MIT — see LICENSE for details.