Mailchimp MCP Server
Provides comprehensive coverage of the Mailchimp Marketing API v3.0 with over 104 tools for managing campaigns, audiences, members, e-commerce, automations, reports, landing pages, templates, tags, and search.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mailchimp MCP Server Create a new email campaign for my list."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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:
Campaign Dashboard - View and manage all campaigns
Audience Manager - Comprehensive audience/list management
Subscriber Grid - Searchable subscriber table
Segment Builder - Create and manage segments
Template Gallery - Browse and use email templates
Automation Flow - Manage automation workflows
Campaign Analytics - Detailed campaign performance metrics
A/B Test Results - Compare A/B test outcomes
Email Preview - Preview campaign emails
Tag Manager - Organize and apply tags
Landing Page Builder - Create landing pages
Content Manager - Manage email content
Growth Chart - Visualize audience growth over time
Send Time Optimizer - Find optimal send times
List Health Monitor - Track list health metrics
Ecommerce Dashboard - Manage stores and products
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-900Cards:
bg-gray-800withborder-gray-700Accents: 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
Issues: GitHub Issues
π Related
Built with β€οΈ for the MCP community
Available Tools
120 toolsmailchimp_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_tags_searchB
Search for tags on a list by name
Inputs: name (required), list_id (required).
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
Scored across 120 tools
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.
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.
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.
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
Hosted Mailchimp MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Mailchimp MCP Pack β manage audiences, campaigns, and members via Mailchimp Marketing API.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseAqualityDmaintenanceAn 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.1331 npmMIT
- AlicenseBqualityDmaintenanceA 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.711MIT
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for the Mautic marketing automation API, providing 203 tools for managing contacts, campaigns, emails, segments, and more.2ISC
- AlicenseAqualityDmaintenanceA 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.1231 npmMIT