Labsco
MCP SERVER

Mailchimp MCP

by damientilman

Run a Mailchimp account from the conversation — audiences, campaigns, reports, automations and e-commerce — with a read-only switch for exploring first.

Marketing Automation & AdvertisingVerified
Summary
Close to the whole Mailchimp Marketing API, with the switches you want in place before an agent gets near the send button.

227 tools is enough to draft an email, test it, schedule it, send it and then read back per-recipient opens and per-link clicks — and the same surface contains delete_audience and send_campaign. Read-only mode, dry-run mode, the per-tool risk tier on tools/list and MAILCHIMP_TOOLS for exposing a subset are what let you decide how much of that surface to hand over.

What it is

A Python server over the Mailchimp Marketing API with 227 tools, covering campaigns from draft to send report, audiences and members, segments and tags, merge fields, automations and Customer Journeys, templates, landing pages, surveys, the File Manager, verified domains and the whole e-commerce object graph. It calls the API over plain HTTP rather than through Mailchimp's Python client.

What you get
  • Reporting in depth: get_campaign_report for the aggregate, get_campaign_click_details per link, get_open_details and get_email_activity per recipient, get_domain_performance by mailbox provider, get_campaign_locations by country
  • Audiences browsed and interrogated — list_audiences, get_audience_details, get_audience_growth_history month by month, and search_members, which finds a person by email or name across every audience at once
  • Member writes: add_member, update_member, upsert_member, tag_member, unsubscribe_member, and batch_subscribe for up to 500 people in a single synchronous call
  • The full campaign cycle — create_campaign, set_campaign_content, send_test_email, schedule_campaign, send_campaign, cancel_send — plus resend_to_non_openers, which drafts a follow-up aimed only at the people who never opened
  • Segments and merge fields created and edited, interest categories and options, webhooks, and folders for campaigns and templates
  • E-commerce both ways: stores, products and variants, customers, orders and order lines, carts including abandoned ones, promo rules and the redeemable codes attached to them
  • describe_tools returns every tool's risk tier — read, write or destructive — and the same classification travels as readOnlyHint, destructiveHint and idempotentHint on the standard tools/list
  • MAILCHIMP_TOOLS trims what the model ever sees: the author puts the full set at about 63k tokens a turn and the read tier at roughly 115 tools and 29k tokens
Requirements

A Mailchimp API key in MAILCHIMP_API_KEY; the datacentre suffix on the key (us8, us21) is read off it automatically. Python 3.10 or newer — run it as uvx mailchimp-mcp with no install, from pip, or from the published ghcr.io/damientilman/mailchimp-mcp-server image. MAILCHIMP_READ_ONLY=true blocks every write, MAILCHIMP_DRY_RUN=true returns what a write would have done without calling the API, and a MAILCHIMP_API_KEY_<NAME> variable adds a second account that every tool can address through its account argument.

Setup effort

One command plus a key — uvx mailchimp-mcp, then supply credentials