A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Full Mailchimp Marketing API for Claude — 112 tools across campaigns, audiences, reports, segments, automations and e-co
The most complete Model Context Protocol (MCP) server for the Mailchimp Marketing API — 112 tools to query and manage your Mailchimp account from any MCP-compatible client, with A/B campaign support, geographic reporting, full landing-page lifecycle, CRM-style member notes, e-commerce carts and promo codes, and read-only / dry-run safety modes.
Uses the Mailchimp Marketing API via requests. Not based on the official mailchimp-marketing-python client. I hit too many issues with it so I went with raw HTTP calls instead.
Read
Write
uvx (recommended)No installation needed — run directly:
uvx mailchimp-mcp
pippip install mailchimp-mcp
Then run:
mailchimp-mcp
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 .
| Variable | Required | Description |
|---|---|---|
MAILCHIMP_API_KEY | Yes | Your Mailchimp API key (format: <key>-<dc>, e.g. abc123-us8) |
MAILCHIMP_READ_ONLY | No | Set to true to disable all write operations (default: false) |
MAILCHIMP_DRY_RUN | No | Set to true to preview write operations without executing them (default: false) |
The datacenter (us8, us21, etc.) is automatically extracted from the key.
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.
Most MCP clients accept a JSON configuration block describing how to launch the server.
Configure yours to invoke uvx mailchimp-mcp (or mailchimp-mcp if installed via pip)
with MAILCHIMP_API_KEY exported in the environment.
{
"mcpServers": {
"mailchimp": {
"command": "uvx",
"args": ["mailchimp-mcp"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}
{
"mcpServers": {
"mailchimp": {
"command": "mailchimp-mcp",
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}
{
"mcpServers": {
"mailchimp": {
"command": "uvx",
"args": ["mailchimp-mcp"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here",
"MAILCHIMP_READ_ONLY": "true"
}
}
}
}
If your MCP client provides a CLI to register servers, the equivalent invocation is:
mcp-cli add mailchimp \
-e MAILCHIMP_API_KEY=your-api-key-here \
-- uvx mailchimp-mcp
Replace mcp-cli with your client's binary name. For read-only mode, add
-e MAILCHIMP_READ_ONLY=true to the command.
| Tool | Description |
|---|---|
get_account_info | Get account name, email, and subscriber count |
| Tool | Description |
|---|---|
list_campaigns | List campaigns with optional filters (status, date) |
get_campaign_details | Get full details of a specific campaign |
list_campaign_folders | List campaign folders |
| Tool | Description |
|---|---|
get_campaign_report | Get performance metrics (opens, clicks, bounces) |
get_campaign_click_details | Get per-link click data for a campaign |
get_email_activity | Per-recipient activity (opens, clicks, bounces) |
get_open_details | Who opened, when, how many times |
get_campaign_recipients | List of recipients with delivery status |
get_campaign_unsubscribes | Who unsubscribed after a campaign |
get_domain_performance | Performance by email domain (gmail, outlook, etc.) |
get_ecommerce_product_activity | Revenue per product for a campaign |
get_campaign_sub_reports | Sub-reports (A/B tests, RSS, etc.) |
get_campaign_advice | Mailchimp's automated post-send feedback on a campaign |
get_campaign_locations | Geographic open data (country, region) |
get_eepurl_activity | Social sharing stats (Twitter, Facebook, referrers) |
| Tool | Description |
|---|---|
create_campaign | Create a new campaign draft (regular or A/B variate, with optional segment targeting) |
update_campaign | Update settings or segment targeting of a campaign |
set_campaign_content | Set the HTML content of a campaign draft |
schedule_campaign | Schedule a campaign for a specific date/time |
unschedule_campaign | Unschedule a campaign (back to draft) |
replicate_campaign | Duplicate an existing campaign |
delete_campaign | Delete an unsent campaign |
send_campaign | Send a campaign immediately |
send_test_email | Send a test email for a campaign |
cancel_send | Cancel a campaign that is currently sending |
| Tool | Description |
|---|---|
list_audiences | List all audiences with stats |
get_audience_details | Get detailed info for a specific audience |
list_audience_members | List members with optional status filter |
search_members | Search members by email or name |
get_audience_growth_history | Monthly growth data (subscribes, unsubscribes) |
| Tool | Description |
|---|---|
get_member_activity | Activity history of a specific contact |
get_member_tags | All tags assigned to a contact |
get_member_events | Custom events for a contact |
list_member_notes | List CRM-style internal notes attached to a contact |
| Tool | Description |
|---|---|
add_member | Add a new contact to an audience |
update_member | Update a contact's name or status |
unsubscribe_member | Unsubscribe a contact |
delete_member | Permanently delete a contact |
tag_member | Add or remove tags from a contact |
add_member_note | Attach a CRM-style internal note to a contact |
update_member_note | Update the text of an existing member note |
delete_member_note | Delete a member note |
| Tool | Description |
|---|---|
batch_subscribe | Batch add/update multiple members in an audience |
update_audience | Update audience settings (name, defaults, permission reminder) |
create_audience | Create a new audience with contact info and campaign defaults |
delete_audience | Permanently delete an audience and all its data |
| Tool | Description |
|---|---|
list_segments | List segments and tags for an audience |
get_segment | Get segment details including conditions |
list_segment_members | List members in a segment |
create_segment | Create a new segment or tag (static or dynamic with conditions) |
update_segment | Update a segment's name or conditions |
delete_segment | Delete a segment or tag |
add_members_to_segment | Add contacts to a segment/tag |
remove_members_from_segment | Remove contacts from a segment/tag |
| Tool | Description |
|---|---|
list_merge_fields | List custom fields for an audience |
create_merge_field | Create a new custom field (text, number, dropdown, etc.) |
update_merge_field | Update a custom field |
delete_merge_field | Delete a custom field |
| Tool | Description |
|---|---|
list_interest_categories | List interest categories for an audience |
create_interest_category | Create a new interest category |
list_interests | List interests within a category |
create_interest | Create a new interest option |
delete_interest_category | Delete an interest category |
delete_interest | Delete an interest option |
| Tool | Description |
|---|---|
list_webhooks | List webhooks for an audience |
create_webhook | Create a new webhook |
delete_webhook | Delete a webhook |
| Tool | Description |
|---|---|
list_automations | List automated email workflows |
get_automation_emails | List emails in a workflow |
get_automation_email_queue | View the send queue for an automation email |
pause_automation | Pause all emails in a workflow |
start_automation | Start/resume all emails in a workflow |
| Tool | Description |
|---|---|
list_templates | List available email templates |
get_template | Get template metadata (name, type, dates, thumbnail) |
get_template_default_content | Get template HTML content |
create_template | Create a new email template |
update_template | Update template name or HTML |
delete_template | Delete a user-created template |
| Tool | Description |
|---|---|
list_landing_pages | List all landing pages |
get_landing_page | Get details of a landing page |
create_landing_page | Create a new landing page from a template |
update_landing_page | Update settings of an existing landing page |
delete_landing_page | Permanently delete a landing page |
publish_landing_page | Publish a landing page to its public URL |
unpublish_landing_page | Take a published landing page offline |
| Tool | Description |
|---|---|
list_ecommerce_stores | List connected e-commerce stores |
list_store_orders | List orders from a store |
list_store_products | List products from a store |
list_store_customers | List customers from a store |
| Tool | Description |
|---|---|
list_store_carts | List carts (including abandoned) for a store |
get_store_cart | Get a single cart with full line items |
create_store_cart | Push a cart (e.g. an abandoned cart from an external system) |
update_store_cart | Update a cart's totals, currency, checkout URL, or line items |
delete_store_cart | Permanently delete a cart |
| Tool | Description |
|---|---|
list_promo_rules | List discount rules for a store |
get_promo_rule | Get a single promo rule's configuration |
create_promo_rule | Create a discount rule (fixed amount, percentage, free shipping) |
update_promo_rule | Update a rule's amount, target, dates, or enabled state |
delete_promo_rule | Permanently delete a rule and all its codes |
list_promo_codes | List redeemable codes attached to a rule |
get_promo_code | Get a single promo code with usage stats |
create_promo_code | Create a redeemable code (e.g. 'SUMMER20') under a rule |
update_promo_code | Update a code's string, redemption URL, or enabled state |
delete_promo_code | Permanently delete a promo code |
| Tool | Description |
|---|---|
create_batch | Run multiple API operations in bulk |
get_batch_status | Check status of a batch operation |
list_batches | List recent batch operations |
Once connected, you can ask your MCP client to perform requests like:
Contributions are welcome. See CONTRIBUTING.md for development setup, test instructions, and pull request guidelines.
If you find a security vulnerability, please follow the responsible disclosure process described in SECURITY.md.
See CHANGELOG.md for the full release history.
Built by Damien Tilman — damien@tilman.marketing
MIT — see LICENSE for details.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F
Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control sc