Mailchimp MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install mcp-mailchimp
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "MAILCHIMP_API_KEY=${MAILCHIMP_API_KEY}" mailchimp -- node "<FULL_PATH_TO_MCP_MAILCHIMP>/dist/index.js"

Replace <FULL_PATH_TO_MCP_MAILCHIMP>/dist/index.js with the actual folder you prepared in step 1.

Required:MAILCHIMP_API_KEY
README.md

Production-grade MCP server for the Mailchimp Marketing API

mcp-mailchimp

Production-grade MCP server for the Mailchimp Marketing API. 33 tools covering campaigns, audiences, members, tags, segments, templates, reports, and automations.

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

  1. Log in to Mailchimp
  2. Go to Account & Billing > Extras > API Keys
  3. Click Create A Key
  4. 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 (33)

Account

Tool Description
ping Validate API key and get account info

Campaigns

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
replicate_campaign Copy an existing campaign
send_test_email Send test email to specified addresses

Campaign Content

Tool Description
get_campaign_content Get campaign HTML and plain-text content
set_campaign_content Set content via HTML or template

Reports

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

Audiences

Tool Description
list_audiences List all audiences with subscriber counts
get_audience Get audience details and stats
create_audience Create a new audience/list

Members

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
search_members Search members across all audiences
get_member_activity Recent subscriber activity (opens, clicks, etc.)

Tags

Tool Description
list_tags List all tags for an audience
manage_member_tags Add or remove tags on a subscriber

Segments

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

Templates

Tool Description
list_templates List available email templates
get_template Get template details and HTML content

Automations

Tool Description
list_automations List classic automations
pause_automation Pause all emails in a workflow
start_automation Start all emails in a workflow

Examples

"What campaigns have I sent recently?"

Uses list_campaigns with status=sent to show recent campaigns with open/click stats.

"Add john@example.com to my newsletter list and tag them as VIP"

Uses add_or_update_member then manage_member_tags to subscribe and tag in one flow.

"How did my last campaign perform?"

Uses list_campaigns to find the latest, then get_campaign_report for opens, clicks, bounces.

"Send a test of my draft campaign to my email"

Uses send_test_email to send a preview before the real send.

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

Tools (33)

pingValidate API key and get account info
list_campaignsList campaigns with status/audience filters
get_campaignGet campaign details
create_campaignCreate a new email campaign
update_campaignUpdate campaign settings
send_campaignSend a campaign immediately
schedule_campaignSchedule a campaign for a specific time
replicate_campaignCopy an existing campaign
send_test_emailSend test email to specified addresses
get_campaign_contentGet campaign HTML and plain-text content
set_campaign_contentSet content via HTML or template
get_campaign_reportPerformance report for a campaign
get_click_reportClick details for a campaign
get_open_reportOpen details for a campaign
list_audiencesList all audiences with subscriber counts
get_audienceGet audience details and stats
create_audienceCreate a new audience
list_membersList/filter audience members by status
get_memberGet subscriber details by email
add_or_update_memberAdd new subscriber or update existing
archive_memberArchive a subscriber
search_membersSearch members across all audiences
get_member_activityRecent subscriber activity
list_tagsList all tags for an audience
manage_member_tagsAdd or remove tags on a subscriber
list_segmentsList saved segments for an audience
get_segment_membersList members in a segment
create_segmentCreate a static segment
list_templatesList available email templates
get_templateGet template details and HTML content
list_automationsList classic automations
pause_automationPause all emails in a workflow
start_automationStart all emails in a workflow

Environment Variables

MAILCHIMP_API_KEYrequiredYour Mailchimp API key (format: xxxxxxxxxx-usXX)

Configuration

claude_desktop_config.json
{"mcpServers": {"mailchimp": {"command": "mcp-mailchimp", "env": {"MAILCHIMP_API_KEY": "your-api-key-here"}}}}

Try it

What campaigns have I sent recently and how did they perform?
Add john@example.com to my newsletter list and tag them as VIP.
Send a test of my latest draft campaign to my email address.
List all members in my main audience who have not opened the last email.

Frequently Asked Questions

What are the key features of Mailchimp MCP Server?

Comprehensive management of campaigns, audiences, and members. Detailed reporting tools for opens, clicks, and bounces. Support for subscriber tagging and segmentation. Automation control for pausing and starting workflows. Template management and content updates.

What can I use Mailchimp MCP Server for?

Automating the process of adding new leads from a CRM to a Mailchimp audience. Quickly checking campaign performance metrics without leaving the IDE. Managing subscriber tags based on user behavior or external data. Testing email campaign content before final deployment.

How do I install Mailchimp MCP Server?

Install Mailchimp MCP Server by running: pip install mcp-mailchimp

What MCP clients work with Mailchimp MCP Server?

Mailchimp MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Mailchimp MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare