Skip to main content
Glama
Mailchimp MCP Server

Mailchimp MCP Server

by BusyBee3333

Mailchimp MCP Server

Complete Model Context Protocol (MCP) server for Mailchimp Marketing API v3.0 with 104+ tools and 15+ React UI apps.

πŸš€ Features

104+ MCP Tools

Comprehensive coverage of the Mailchimp Marketing API v3.0:

  • Campaigns (15 tools): Create, manage, send, schedule, and test email campaigns

  • Lists/Audiences (14 tools): Manage lists, segments, interest categories, and growth analytics

  • Members (12 tools): Add, update, tag, and track list subscribers

  • Ecommerce (28 tools): Manage stores, products, orders, carts, customers, and promo codes

  • Automations (10 tools): Manage automation workflows and emails

  • Reports (8 tools): Access campaign analytics, click tracking, and performance data

  • Landing Pages (8 tools): Create and manage landing pages

  • Templates (6 tools): Manage email templates

  • Search (2 tools): Search campaigns and members

  • Tags (1 tool): Search and manage tags

15+ React UI Apps

Beautiful, dark-themed React applications for visual interaction:

  1. Campaign Dashboard - View and manage all campaigns

  2. Audience Manager - Comprehensive audience/list management

  3. Subscriber Grid - Searchable subscriber table

  4. Segment Builder - Create and manage segments

  5. Template Gallery - Browse and use email templates

  6. Automation Flow - Manage automation workflows

  7. Campaign Analytics - Detailed campaign performance metrics

  8. A/B Test Results - Compare A/B test outcomes

  9. Email Preview - Preview campaign emails

  10. Tag Manager - Organize and apply tags

  11. Landing Page Builder - Create landing pages

  12. Content Manager - Manage email content

  13. Growth Chart - Visualize audience growth over time

  14. Send Time Optimizer - Find optimal send times

  15. List Health Monitor - Track list health metrics

  16. Ecommerce Dashboard - Manage stores and products

  17. Promo Code Manager - Create and track promo codes

Related MCP server: Mailchimp MCP Server

πŸ“¦ Installation

npm install
npm run build

πŸ”§ Configuration

Set your Mailchimp API key as an environment variable:

export MAILCHIMP_API_KEY="your-api-key-us19"

Your API key format: xxxxxxxxxxxxxxxxxxxxx-datacenter (e.g., abc123-us19)

You can obtain your API key from: Mailchimp Account β†’ Extras β†’ API Keys

🎯 Usage

As MCP Server

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mailchimp": {
      "command": "node",
      "args": ["/path/to/servers/mailchimp/dist/index.js"],
      "env": {
        "MAILCHIMP_API_KEY": "your-api-key-us19"
      }
    }
  }
}

Standalone

npm start

πŸ“š API Coverage

Campaign Management

  • Create campaigns (regular, A/B split, RSS, variate)

  • Set HTML/template content

  • Send, schedule, pause, resume campaigns

  • Send test emails

  • Replicate campaigns

  • Get send checklist

Audience/List Management

  • Create and manage audiences

  • Add/update/remove members (batch operations supported)

  • Create segments (static, saved, fuzzy)

  • Manage interest categories and groups

  • Track growth history

Member Management

  • Add/update members with merge fields

  • Tag management (add/remove tags)

  • Track member activity and goals

  • Bulk subscribe operations

  • VIP member designation

Automation Workflows

  • List all automations

  • Pause/start workflows

  • Manage automation emails

  • Queue management

Analytics & Reports

  • Campaign performance reports

  • Click-through tracking

  • Open rate details

  • Domain performance analysis

  • A/B test results

  • Email activity per subscriber

E-commerce

  • Store management

  • Product catalog (variants, SKUs, inventory)

  • Order tracking

  • Cart abandonment

  • Customer management

  • Promo rules and codes

Templates & Landing Pages

  • Template gallery

  • Create custom templates

  • Landing page builder

  • Publish/unpublish pages

🎨 React Apps

All apps use a consistent dark theme with Tailwind CSS:

  • Background: bg-gray-900

  • Cards: bg-gray-800 with border-gray-700

  • Accents: Blue (blue-400, blue-600) and Green (green-400, green-600)

  • Typography: White text with gray variants for hierarchy

Running Individual Apps

cd src/ui/react-app/campaign-dashboard
npm install
npm run dev

πŸ” Authentication

The server uses HTTP Basic authentication with Mailchimp's API:

  • Username: anystring (Mailchimp ignores this)

  • Password: Your API key

⚑ Rate Limiting

Mailchimp enforces rate limits (typically 10 requests/second). The client automatically:

  • Tracks rate limit headers

  • Waits when limit is reached

  • Resumes after reset time

πŸ“– Tool Examples

Create a Campaign

{
  "type": "regular",
  "recipients": {
    "list_id": "abc123"
  },
  "settings": {
    "subject_line": "Welcome to our newsletter!",
    "from_name": "Your Company",
    "reply_to": "hello@yourcompany.com",
    "title": "Welcome Campaign"
  }
}

Add a Subscriber

{
  "list_id": "abc123",
  "email_address": "subscriber@example.com",
  "status": "subscribed",
  "merge_fields": {
    "FNAME": "John",
    "LNAME": "Doe"
  }
}

Get Campaign Report

{
  "campaign_id": "abc123"
}

πŸ§ͺ Testing

npm run typecheck  # TypeScript type checking
npm test          # Run tests (if configured)

πŸ—οΈ Architecture

mailchimp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts              # MCP server entry point
β”‚   β”œβ”€β”€ clients/
β”‚   β”‚   └── mailchimp.ts      # Mailchimp API client
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   β”œβ”€β”€ campaigns-tools.ts
β”‚   β”‚   β”œβ”€β”€ lists-tools.ts
β”‚   β”‚   β”œβ”€β”€ members-tools.ts
β”‚   β”‚   β”œβ”€β”€ automations-tools.ts
β”‚   β”‚   β”œβ”€β”€ templates-tools.ts
β”‚   β”‚   β”œβ”€β”€ reports-tools.ts
β”‚   β”‚   β”œβ”€β”€ landing-pages-tools.ts
β”‚   β”‚   β”œβ”€β”€ ecommerce-tools.ts
β”‚   β”‚   β”œβ”€β”€ tags-tools.ts
β”‚   β”‚   └── search-tools.ts
β”‚   β”œβ”€β”€ types/
β”‚   β”‚   └── index.ts          # TypeScript type definitions
β”‚   └── ui/
β”‚       └── react-app/        # 15+ React applications
β”‚           β”œβ”€β”€ campaign-dashboard/
β”‚           β”œβ”€β”€ audience-manager/
β”‚           β”œβ”€β”€ subscriber-grid/
β”‚           └── ... (12+ more apps)
β”œβ”€β”€ dist/                     # Compiled JavaScript
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── README.md

πŸ“„ License

MIT

🀝 Contributing

Contributions welcome! Please read our contributing guidelines and submit PRs.

πŸ“ž Support


Built with ❀️ for the MCP community

Available Tools

120 tools
mailchimp_audiences_batch_subscribeB

Batch subscribe or update multiple members in a single API call (up to 500 members)

Inputs: list_id (required), members (required), update_existing.

mailchimp_audiences_create_segmentB

Create a new saved or static segment for a list

Inputs: name (required), list_id (required), options, static_segment.

mailchimp_audiences_get_growth_historyB

Get month-by-month growth history for an audience showing subscriptions and unsubscriptions

Inputs: list_id (required), count, offset, sort_dir, +1 more.

mailchimp_audiences_get_interest_categoriesC

Get all interest categories (groups) for a list

Inputs: list_id (required), type, count, offset.

mailchimp_audiences_get_segmentsC

Get all segments for a list/audience

Inputs: list_id (required), type, count, offset, +4 more.

mailchimp_audiences_get_statsA

Get detailed statistics for a specific audience/list including subscriber counts, open/click rates, and growth data

Inputs: list_id (required).

mailchimp_automations_add_to_queueB

Manually add a subscriber to an automation email queue

Inputs: email_id (required), workflow_id (required), email_address (required).

mailchimp_automations_getA

Get information about a specific automation workflow

Inputs: workflow_id (required).

mailchimp_automations_get_emailB

Get information about a specific automation email

Inputs: email_id (required), workflow_id (required).

mailchimp_automations_listB

Get all automations (classic automations/workflows) in your account

Inputs: count, offset, status, since_start_time, +3 more.

mailchimp_automations_list_emailsB

Get all emails in an automation workflow

Inputs: workflow_id (required).

mailchimp_automations_list_queueA

Get all subscribers in the queue for an automation email

Inputs: email_id (required), workflow_id (required).

mailchimp_automations_pauseA

Pause all emails in an automation workflow

Inputs: workflow_id (required).

mailchimp_automations_pause_emailC

Pause a specific automation email

Inputs: email_id (required), workflow_id (required).

mailchimp_automations_startB

Start all emails in an automation workflow

Inputs: workflow_id (required).

mailchimp_automations_start_emailB

Start a specific automation email

Inputs: email_id (required), workflow_id (required).

mailchimp_campaigns_createC

Create a new campaign

Inputs: type (required), settings (required), recipients (required).

mailchimp_campaigns_deleteA

Permanently delete a campaign

Inputs: campaign_id (required).

mailchimp_campaigns_getC

Get details for a specific campaign by ID

Inputs: campaign_id (required).

mailchimp_campaigns_get_contentA

Get the HTML and plain-text content for a campaign

Inputs: campaign_id (required).

mailchimp_campaigns_get_send_checklistB

Review pre-send checklist for a campaign

Inputs: campaign_id (required).

mailchimp_campaigns_listB

List all campaigns in your Mailchimp account with optional filters

Inputs: type, count, offset, status, +4 more.

mailchimp_campaigns_pauseB

Pause an RSS campaign

Inputs: campaign_id (required).

mailchimp_campaigns_replicateC

Replicate (duplicate) a campaign

Inputs: campaign_id (required).

mailchimp_campaigns_resumeA

Resume a paused RSS campaign

Inputs: campaign_id (required).

mailchimp_campaigns_scheduleB

Schedule a campaign to be sent at a specific time

Inputs: campaign_id (required), schedule_time (required), timewarp, batch_delivery.

mailchimp_campaigns_sendC

Send a campaign immediately

Inputs: campaign_id (required).

mailchimp_campaigns_set_contentB

Set the content for a campaign (HTML, plain text, template, or URL)

Inputs: campaign_id (required), url, html, template, +1 more.

mailchimp_campaigns_testB

Send a test email for a campaign

Inputs: send_type (required), campaign_id (required), test_emails (required).

mailchimp_campaigns_unscheduleA

Unschedule a scheduled campaign

Inputs: campaign_id (required).

mailchimp_campaigns_updateC

Update a campaign's settings

Inputs: campaign_id (required), settings, tracking, recipients.

mailchimp_ecommerce_carts_addA

Add a new cart (for abandoned cart tracking)

Inputs: id (required), lines (required), customer (required), store_id (required), +3 more.

mailchimp_ecommerce_carts_deleteC

Delete a cart

Inputs: cart_id (required), store_id (required).

mailchimp_ecommerce_carts_getC

Get information about a specific cart

Inputs: cart_id (required), store_id (required).

mailchimp_ecommerce_carts_listA

Get all carts (abandoned carts) for a store

Inputs: store_id (required), count, offset.

mailchimp_ecommerce_carts_updateC

Update a cart

Inputs: cart_id (required), store_id (required), lines, order_total, +1 more.

mailchimp_ecommerce_customers_addC

Add a new customer

Inputs: id (required), store_id (required), email_address (required), opt_in_status (required), +3 more.

mailchimp_ecommerce_customers_deleteC

Delete a customer

Inputs: store_id (required), customer_id (required).

mailchimp_ecommerce_customers_getB

Get information about a specific customer

Inputs: store_id (required), customer_id (required).

mailchimp_ecommerce_customers_listB

Get all customers for a store

Inputs: store_id (required), count, offset, email_address.

mailchimp_ecommerce_customers_updateC

Update a customer

Inputs: store_id (required), customer_id (required), last_name, first_name, +1 more.

mailchimp_ecommerce_orders_addC

Add a new order

Inputs: id (required), lines (required), customer (required), store_id (required), +5 more.

mailchimp_ecommerce_orders_deleteC

Delete an order

Inputs: order_id (required), store_id (required).

mailchimp_ecommerce_orders_getB

Get information about a specific order

Inputs: order_id (required), store_id (required).

mailchimp_ecommerce_orders_listB

Get all orders for a store

Inputs: store_id (required), count, offset, campaign_id, +1 more.

mailchimp_ecommerce_orders_updateC

Update an order

Inputs: order_id (required), store_id (required), lines, customer, +2 more.

mailchimp_ecommerce_products_addB

Add a new product to a store

Inputs: id (required), title (required), store_id (required), variants (required), +6 more.

mailchimp_ecommerce_products_deleteB

Delete a product

Inputs: store_id (required), product_id (required).

mailchimp_ecommerce_products_getC

Get information about a specific product

Inputs: store_id (required), product_id (required).

mailchimp_ecommerce_products_listB

Get all products for a store

Inputs: store_id (required), count, offset.

mailchimp_ecommerce_products_updateC

Update a product

Inputs: store_id (required), product_id (required), url, title, +2 more.

mailchimp_ecommerce_promo_codes_addC

Add a promo code to a promo rule

Inputs: id (required), code (required), rule_id (required), store_id (required), +2 more.

mailchimp_ecommerce_promo_codes_listB

Get all promo codes for a promo rule

Inputs: rule_id (required), store_id (required), count, offset.

mailchimp_ecommerce_promo_rules_listB

Get all promo rules for a store

Inputs: store_id (required), count, offset.

mailchimp_ecommerce_stores_addB

Add a new e-commerce store

Inputs: id (required), name (required), list_id (required), currency_code (required), +4 more.

mailchimp_ecommerce_stores_deleteB

Delete a store

Inputs: store_id (required).

mailchimp_ecommerce_stores_getB

Get information about a specific store

Inputs: store_id (required).

mailchimp_ecommerce_stores_listA

Get all e-commerce stores connected to your account

Inputs: count, offset.

mailchimp_ecommerce_stores_updateC

Update a store

Inputs: store_id (required), name, domain, currency_code, +1 more.

mailchimp_landing_pages_createC

Create a new landing page

Inputs: name (required), template_id (required), title, list_id, +3 more.

mailchimp_landing_pages_deleteD

Delete a landing page

Inputs: page_id (required).

mailchimp_landing_pages_getB

Get information about a specific landing page

Inputs: page_id (required).

mailchimp_landing_pages_get_contentB

Get the HTML content for a landing page

Inputs: page_id (required).

mailchimp_landing_pages_listC

Get all landing pages in your Mailchimp account

Inputs: count, offset, sort_dir, sort_field.

mailchimp_landing_pages_publishC

Publish a landing page

Inputs: page_id (required).

mailchimp_landing_pages_unpublishB

Unpublish a landing page

Inputs: page_id (required).

mailchimp_landing_pages_updateC

Update a landing page

Inputs: page_id (required), name, title, list_id, +2 more.

mailchimp_lists_batch_subscribeC

Batch add or update multiple list members at once

Inputs: list_id (required), members (required), update_existing.

mailchimp_lists_createC

Create a new audience/list

Inputs: name (required), contact (required), campaign_defaults (required), email_type_option (required), +3 more.

mailchimp_lists_create_segmentC

Create a new segment for a list

Inputs: name (required), list_id (required), options, static_segment.

mailchimp_lists_deleteA

Permanently delete a list and all its members

Inputs: list_id (required).

mailchimp_lists_delete_segmentB

Delete a segment

Inputs: list_id (required), segment_id (required).

mailchimp_lists_getB

Get details for a specific list/audience

Inputs: list_id (required).

mailchimp_lists_get_growth_historyC

Get month-by-month growth statistics for a list

Inputs: list_id (required), count, offset, sort_dir, +1 more.

mailchimp_lists_get_interest_categoriesC

Get all interest categories (group titles) for a list

Inputs: list_id (required), type, count, offset.

mailchimp_lists_get_interestsB

Get all interests (group names) in a specific interest category

Inputs: list_id (required), category_id (required), count, offset.

mailchimp_lists_get_segmentB

Get details for a specific segment

Inputs: list_id (required), segment_id (required).

mailchimp_lists_get_segmentsC

Get all segments for a list

Inputs: list_id (required), type, count, offset, +2 more.

mailchimp_lists_listC

Get all lists/audiences in your Mailchimp account

Inputs: count, email, offset, sort_dir, +3 more.

mailchimp_lists_updateC

Update list settings

Inputs: list_id (required), name, contact, campaign_defaults, +2 more.

mailchimp_lists_update_segmentC

Update a segment

Inputs: list_id (required), segment_id (required), name, options.

mailchimp_members_addC

Add a new member to a list

Inputs: status (required), list_id (required), email_address (required), vip, +5 more.

mailchimp_members_add_or_updateB

Add a new member or update existing member (upsert)

Inputs: list_id (required), email_address (required), status_if_new (required), vip, +3 more.

mailchimp_members_add_tagsC

Add or remove tags for a member

Inputs: tags (required), list_id (required), email_address (required).

mailchimp_members_archiveB

Permanently delete (archive) a member from a list

Inputs: list_id (required), email_address (required).

mailchimp_members_batch_add_removeB

Batch add or remove members from a segment

Inputs: list_id (required), segment_id (required), members_to_add, members_to_remove.

mailchimp_members_deleteA

Delete (unsubscribe and archive) a member from a list

Inputs: list_id (required), email_address (required).

mailchimp_members_getB

Get information about a specific list member

Inputs: list_id (required), email_address (required).

mailchimp_members_get_activityB

Get recent activity for a specific list member

Inputs: list_id (required), email_address (required), count, offset.

mailchimp_members_get_goalsA

Get recent goal events for a specific list member

Inputs: list_id (required), email_address (required).

mailchimp_members_get_tagsC

Get all tags assigned to a member

Inputs: list_id (required), email_address (required).

mailchimp_members_listB

Get all members (subscribers) in a list

Inputs: list_id (required), count, offset, status, +7 more.

mailchimp_members_updateC

Update an existing list member

Inputs: list_id (required), email_address (required), vip, status, +3 more.

mailchimp_merge_fields_createB

Create a new merge field (custom field) for a list

Inputs: tag (required), name (required), type (required), list_id (required), +6 more.

mailchimp_merge_fields_deleteA

Delete a merge field. Note: built-in fields (EMAIL, FNAME, LNAME) cannot be deleted.

Inputs: list_id (required), merge_id (required).

mailchimp_merge_fields_getB

Get a specific merge field by ID

Inputs: list_id (required), merge_id (required).

mailchimp_merge_fields_listA

Get all merge fields (custom fields) for a list/audience

Inputs: list_id (required), type, count, offset, +1 more.

mailchimp_merge_fields_updateB

Update an existing merge field

Inputs: list_id (required), merge_id (required), tag, name, +6 more.

mailchimp_reports_getB

Get a detailed campaign report

Inputs: campaign_id (required).

mailchimp_reports_get_click_detailB

Get click details for a specific link in a campaign

Inputs: link_id (required), campaign_id (required).

mailchimp_reports_get_click_detailsA

Get detailed click reports for all links in a campaign

Inputs: campaign_id (required), count, offset.

mailchimp_reports_get_domain_performanceA

Get top-performing email domains for a campaign

Inputs: campaign_id (required).

mailchimp_reports_get_email_activityB

Get activity for a specific subscriber in a campaign

Inputs: campaign_id (required), email_address (required).

mailchimp_reports_get_open_detailsC

Get detailed open information for a campaign

Inputs: campaign_id (required), count, since, offset.

mailchimp_reports_get_sub_reportsA

Get sub-reports for multivariate, RSS, or A/B test campaigns

Inputs: campaign_id (required).

mailchimp_reports_listC

Get campaign reports for your Mailchimp account

Inputs: type, count, offset, since_send_time, +1 more.

mailchimp_search_campaignsA

Search all campaigns in your account for specific query terms

Inputs: query (required), count, offset.

mailchimp_search_membersB

Search for members across all lists or a specific list

Inputs: query (required), count, offset, list_id.

mailchimp_templates_createC

Create a new template

Inputs: html (required), name (required), folder_id.

mailchimp_templates_deleteC

Delete a template

Inputs: template_id (required).

mailchimp_templates_getA

Get information about a specific template

Inputs: template_id (required).

mailchimp_templates_get_default_contentB

Get the default content for a template

Inputs: template_id (required).

mailchimp_templates_listC

Get all templates in your Mailchimp account

Inputs: type, count, offset, category, +6 more.

mailchimp_templates_updateC

Update a template

Inputs: template_id (required), html, name, folder_id.

mailchimp_webhooks_createA

Create a new webhook for a list. Webhooks fire when subscribers are added, removed, or their info changes.

Inputs: url (required), list_id (required), events, sources.

mailchimp_webhooks_deleteB

Delete a webhook

Inputs: list_id (required), webhook_id (required).

mailchimp_webhooks_getA

Get details for a specific webhook

Inputs: list_id (required), webhook_id (required).

mailchimp_webhooks_listA

Get all webhooks for a specific list/audience

Inputs: list_id (required).

mailchimp_webhooks_updateC

Update an existing webhook

Inputs: list_id (required), webhook_id (required), url, events, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 120 tools

    Disambiguation1/5

    The set contains multiple exact-purpose duplicates, such as mailchimp_lists_batch_subscribe vs mailchimp_audiences_batch_subscribe, mailchimp_lists_get_growth_history vs mailchimp_audiences_get_growth_history, and mailchimp_lists_get_segments vs mailchimp_audiences_get_segments. Members_delete and members_archive also have nearly identical descriptions, making tool selection highly ambiguous.

    Naming Consistency3/5

    Most tools follow a mailchimp_<domain>_<resource>_<action> pattern and are consistently snake_case, but there are notable deviations: search_campaigns and search_members invert the verb placement, and lists/audiences are used interchangeably for the same underlying resource. Members_add_tags is also misnamed since it handles both adding and removing tags.

    Tool Count1/5

    120 tools is far beyond the 50+ extreme threshold and creates an enormous navigation burden. Even with Mailchimp's broad API surface, the count is excessive and includes many redundant or near-duplicate tools.

    Completeness3/5

    Core areas like campaigns, lists, members, templates, landing pages, and ecommerce CRUD are well covered, but there are notable gaps: promo rules only have list, promo codes only have list/add, and automations lack update/delete lifecycle operations. These gaps require agents to work around missing functionality.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that interfaces with the Mailchimp Marketing API to manage audiences, email campaigns, and subscribers. It enables users to create and schedule campaigns, handle member lists, and send test or live emails through natural language commands.
      13
      31 npm
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A production-grade MCP server that integrates with the Mailchimp Marketing API to manage campaigns, audiences, members, and reports. It provides 28 specialized tools for automating marketing tasks such as sending emails, managing subscriber tags, and analyzing performance data.
      71
      1
      MIT
    • A
      license
      Not graded
      quality
      F
      maintenance
      Comprehensive MCP server for the Mautic marketing automation API, providing 203 tools for managing contacts, campaigns, emails, segments, and more.
      2
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      A hybrid Mailchimp MCP server with 12 tools: 10 native tools for common email workflows plus search and execute to access all 282 Mailchimp Marketing API endpoints on demand.
      12
      31 npm
      MIT