About Mailchimp MCP Server
Mailchimp MCP Server exposes Mailchimp Marketing API operations to MCP-compatible clients. Its broad toolset covers campaign execution and analytics, audience and subscriber management, automations, and connected-store data.
Key features
- 01Create, edit, schedule, and send campaigns
- 02Manage audiences, subscribers, tags, and segments
- 03Inspect campaign and audience analytics
- 04Manage templates and automations
- 05Access connected-store orders and carts
- 06Submit batch API operations
Use cases
- 01Prepare and send email campaigns
- 02Update subscriber records and segments
- 03Review campaign performance and audience growth
- 04Find orders and abandoned carts linked to marketing
MCP support
Exposes Mailchimp Marketing API operations as tools for MCP-compatible clients such as Claude Desktop, Claude Code, and Cursor. An API key is configured for server access.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-mailchimp
Production-grade MCP server for the Mailchimp Marketing API. 71 tools covering campaigns, audiences, members, tags, segments, templates, reports, automations, webhooks, merge fields, interest groups, landing pages, batch operations, e-commerce, A/B testing, member notes, file manager, and audience analytics.
Built for Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
Quick Start
1. Install
pip install mcp-mailchimp
Or from source:
git clone https://github.com/AlexlaGuardia/mcp-mailchimp.git
cd mcp-mailchimp
pip install .
2. Get Your API Key
- Log in to Mailchimp
- Go to Account & Billing > Extras > API Keys
- Click Create A Key
- Copy the key (format:
xxxxxxxxxx-usXX)
3. Configure Your Client
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"mailchimp": {
"command": "mcp-mailchimp",
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code:
claude mcp add mailchimp -- env MAILCHIMP_API_KEY=your-key mcp-mailchimp
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"mailchimp": {
"command": "mcp-mailchimp",
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}
Or run directly:
MAILCHIMP_API_KEY=your-key mcp-mailchimp
Tools (71)
Account (1)
| Tool | Description |
|---|---|
ping | Validate API key and get account info |
Campaigns (11)
| Tool | Description |
|---|---|
list_campaigns | List campaigns with status/audience filters |
get_campaign | Get campaign details (settings, tracking, recipients) |
create_campaign | Create a new email campaign |
update_campaign | Update campaign settings (subject, from_name, etc.) |
send_campaign | Send a campaign immediately |
schedule_campaign | Schedule a campaign for a specific time |
unschedule_campaign | Unschedule a scheduled campaign |
cancel_campaign | Cancel a campaign currently sending |
delete_campaign | Permanently delete a draft campaign |
replicate_campaign | Copy an existing campaign |
send_test_email | Send test email to specified addresses |
Campaign Content (2)
| Tool | Description |
|---|---|
get_campaign_content | Get campaign HTML and plain-text content |
set_campaign_content | Set content via HTML or template |
Reports (5)
| Tool | Description |
|---|---|
get_campaign_report | Performance report (opens, clicks, bounces, unsubscribes) |
get_click_report | Click details -- which URLs were clicked and how often |
get_open_report | Open details -- which subscribers opened and when |
get_unsubscribe_report | Unsubscribe details -- who left and why |
get_sent_to_report | Delivery details -- recipient status (sent, bounced) |
Audiences (4)
| Tool | Description |
|---|---|
list_audiences | List all audiences with subscriber counts |
get_audience | Get audience details and stats |
create_audience | Create a new audience/list |
update_audience | Update audience settings |
Audience Analytics (3)
| Tool | Description |
|---|---|
get_audience_growth | Monthly growth history -- subscribes, unsubscribes, net change |
get_audience_locations | Subscriber location breakdown by country/region |
get_email_client_stats | Email domain performance -- Gmail, Outlook, Apple Mail breakdown |
Members (8)
| Tool | Description |
|---|---|
list_members | List/filter audience members by status |
get_member | Get subscriber details by email |
add_or_update_member | Add new subscriber or update existing (upsert) |
archive_member | Archive (soft-delete) a subscriber |
delete_member_permanent | Permanently delete a subscriber (irreversible) |
batch_subscribe_members | Batch subscribe up to 500 members at once |
search_members | Search members across all audiences |
get_member_activity | Recent subscriber activity (opens, clicks, etc.) |
Member Notes (2)
| Tool | Description |
|---|---|
list_member_notes | List CRM-style notes on a subscriber |
add_member_note | Add a note to a subscriber |
Tags (2)
| Tool | Description |
|---|---|
list_tags | List all tags for an audience |
manage_member_tags | Add or remove tags on a subscriber |
Segments (5)
| Tool | Description |
|---|---|
list_segments | List saved segments for an audience |
get_segment_members | List members in a segment |
create_segment | Create a static segment from email addresses |
update_segment | Update segment name or add/remove members |
delete_segment | Delete a segment |
Merge Fields (2)
| Tool | Description |
|---|---|
list_merge_fields | List custom fields (FNAME, LNAME, custom) |
create_merge_field | Create a custom merge field (text, number, date, etc.) |
Interest Categories & Groups (2)
| Tool | Description |
|---|---|
list_interest_categories | List interest groups (checkboxes, dropdowns, radios) |
list_interests | List individual options within a category |
Templates (4)
| Tool | Description |
|---|---|
list_templates | List available email templates |
get_template | Get template details and HTML content |
create_template | Create a new template from HTML |
delete_template | Delete a custom template |
Automations (5)
| Tool | Description |
|---|---|
list_automations | List classic automations |
get_automation | Get automation details and trigger info |
list_automation_emails | List all emails in an automation workflow |
pause_automation | Pause all emails in a workflow |
start_automation | Start all emails in a workflow |
Webhooks (3)
| Tool | Description |
|---|---|
list_webhooks | List webhooks for an audience |
create_webhook | Create a webhook for audience events |
delete_webhook | Delete a webhook |
E-Commerce (6)
| Tool | Description |
|---|---|
list_ecommerce_stores | List connected stores (Shopify, WooCommerce, etc.) |
list_store_products | List products in a connected store |
list_store_orders | List orders -- filter by campaign for revenue attribution |
get_ecommerce_customer | Get customer details with order count and total spent |
list_store_carts | List abandoned carts for recovery campaigns |
list_store_promo_codes | List promo codes for a promo rule |
A/B Testing (1)
| Tool | Description |
|---|---|
get_ab_test_results | Get variate campaign results -- which combination won |
Landing Pages (2)
| Tool | Description |
|---|---|
list_landing_pages | List landing pages with visit/conversion stats |
get_landing_page | Get landing page details and tracking data |
File Manager (2)
| Tool | Description |
|---|---|
list_files | List files in the Mailchimp file manager |
upload_file | Upload a file (base64-encoded) |
Batch Operations (1)
| Tool | Description |
|---|---|
create_batch_operation | Submit up to 500 API operations in a single batch |
Examples
"What campaigns have I sent recently?"
Uses
list_campaignswithstatus=sentto show recent campaigns with open/click stats.
"How has my audience grown this quarter?"
Uses
get_audience_growthto show monthly subscribe/unsubscribe trends.
"Which campaign drove the most revenue?"
Uses
list_store_orderswithcampaign_idto see revenue attribution per campaign.
"Show me abandoned carts from my Shopify store"
Uses
list_store_cartsto find recovery opportunities.
"Add a note to [email protected] that he called about pricing"
Uses
add_member_notefor CRM-style contact management.
"What A/B test subject line won?"
Uses
get_ab_test_resultsto see which variant performed best.
"Where are my subscribers located?"
Uses
get_audience_locationsfor geographic breakdown.
Requirements
- Python 3.10+
- Mailchimp account with API key
- MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.)
Development
git clone https://github.com/AlexlaGuardia/mcp-mailchimp.git
cd mcp-mailchimp
pip install -e ".[dev]"
pytest
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.