Production-grade MCP server for the Mailchimp Marketing API — 71 tools for campaigns, audiences, members, tags, segments, templates, reports, automations, webhooks, merge fields, interest groups, landing pages, batch operations, e-commerce, A/B testing, and audience analytics.
Project description
mcp-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 john@example.com 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_mailchimp-0.3.0.tar.gz.
File metadata
- Download URL: mcp_mailchimp-0.3.0.tar.gz
- Upload date:
- Size: 42.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f770fe5c3597fb437049d0fb3d15c9921419ce60fc15a162d0a835fd7128c6a5
|
|
| MD5 |
ab77642c3ffe1425d64ab3eb4f7ff2fb
|
|
| BLAKE2b-256 |
e5641d20afac35fa1a4be830a295143b23ae6b2d87f9119d60ed31914aee8b45
|
File details
Details for the file mcp_mailchimp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcp_mailchimp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63a27dd61524aa51467b2a60603073836cc309fc25daddbb8ed210544ead0930
|
|
| MD5 |
fda65a648bbe7eb156c0bbda75a04c4c
|
|
| BLAKE2b-256 |
70571b97cecd0471980afaf602de9959a405a09d48985a9556be519e7ee80efa
|