Mailchimp
Mailchimp Marketing API v3.0 for audience and campaign data
26 tools available
Installation
Claude Desktop
{
"mcpServers": {
"hopkin-mailchimp": {
"url": "https://mailchimp.mcp.hopkin.ai",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
CLI
npm install -g @hopkin/cli
hopkin auth set-key hpk_live_...
hopkin mailchimp ping
Tools
-accounts
mailchimp_list_accounts List Connected Mailchimp Accounts
List all Mailchimp accounts connected for the authenticated user. Returns account IDs, names, data centers, and login emails.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
1 optional parameter
| Parameter | Type | Description |
|---|---|---|
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-audiences
mailchimp_list_audiences List Mailchimp Audiences
List all audiences (lists) in the Mailchimp account with name search and pagination. Returns member count, open rate, click rate, and list rating for each audience.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
6 optional parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results to return (1–100). Default: 20. |
cursor | string | Opaque pagination cursor from a previous response. |
refresh | boolean | Force a fresh fetch bypassing the cache. |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
search | string | Filter audiences by name (case-insensitive substring match). |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
audience
mailchimp_get_audience Get Mailchimp Audience Details
Get detailed information about a specific Mailchimp audience (list), including stats, settings, and campaign defaults.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience (list) ID. |
reason required | string | Why this tool call is needed |
2 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
k-auth-status
mailchimp_check_auth_status Check Mailchimp Authentication Status
Troubleshoot authentication issues and get user profile info. Only use when another tool fails with a permission or authentication error — do NOT call proactively.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
1 optional parameter
| Parameter | Type | Description |
|---|---|---|
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-automations
mailchimp_list_automations List Mailchimp Automations
List automations (classic automations / customer journeys) in the Mailchimp account with status filtering, title search, and pagination.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
7 optional parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results to return (1–100). Default: 20. |
cursor | string | Opaque pagination cursor from a previous response. |
refresh | boolean | Force a fresh fetch bypassing the cache. |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
status | array | Filter automations by status. E.g. ["sending", "paused"]. |
search | string | Filter automations by title (case-insensitive substring match). |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
automation
mailchimp_get_automation Get Mailchimp Automation Details
Get detailed information about a specific Mailchimp automation including all associated emails with their delivery stats.
| Parameter | Type | Description |
|---|---|---|
automation_id required | string | The Mailchimp automation (classic automation / customer journey) ID. |
reason required | string | Why this tool call is needed |
2 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
billing-status
mailchimp_get_billing_status Billing status
Why a call was refused with a billing error (402) and how to get unblocked. Reports whether this organization is entitled, its subscription status, tier, trial end, credits used and left this period, the price table and a link to the billing page. With checkout_tier, the organization owner also gets a Stripe Checkout link for that plan; a member gets the owner's contact and a message to forward. Call it after any 402. While waiting for a human to pay, poll it every 10 seconds for the first minute, every 30 seconds until 5 minutes, then every 60 seconds until 15 minutes, then stop and tell the human. Once it returns entitled: true, retry the blocked call; if the retry still returns 402, wait 15 seconds and retry once. A Checkout link is a payment link: give it to the organization owner only.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
1 optional parameter
| Parameter | Type | Description |
|---|---|---|
checkout_tier | string | Organization owner only: also create a Stripe Checkout link for this plan. A member gets the owner's contact and a message to forward instead. |
-campaigns
mailchimp_list_campaigns List Mailchimp Campaigns
List campaigns in the Mailchimp account with status filtering, server-side title search, sorting, date range filtering, and pagination. Results include web_id, audience name, and send_time for easy identification. Use since_send_time/before_send_time to filter by send date window. Search: passing search routes every page to Mailchimp's /search-campaigns endpoint for accurate server-side matching — ideal for disambiguating campaigns by title. Search results come back most recently sent first, with unsent drafts last; sort_field and sort_dir apply to the unsearched listing, while status, type and the send-date window are applied to search results here. That endpoint returns one batch and accepts no pagination, so a broad search can be capped: when it is, the response carries search_total_matches — Mailchimp's own count of everything that matched, before any filter of yours — and narrowing the search is the only way to reach the rest. Do not subtract count from it: count is what is left after your filters, so the difference is not the number of unreachable campaigns. Paging: repeat the exact same call with cursor set to the previous response's nextCursor — a cursor only continues the call that issued it, and changing any filter (including adding or removing search) invalidates it.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
12 optional parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results to return (1–100). Default: 20. |
cursor | string | Opaque pagination cursor from a previous response. |
refresh | boolean | Force a fresh fetch bypassing the cache. |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
status | array | Filter campaigns by status. E.g. ["sent", "sending"]. |
type | array | Filter campaigns by type. E.g. ["absplit", "variate"] to find A/B and multivariate campaigns. |
search | string | Full-text search across campaigns via Mailchimp /search-campaigns, so a match need not contain this string literally. Returns one capped batch, most recently sent first — see the tool description for how paging and capping work. |
sort_field | string | Sort campaigns by this field. Defaults to create_time (Mailchimp default). Use send_time to get most recently sent campaigns first. |
sort_dir | string | Sort direction. ASC for oldest first, DESC for newest first. Defaults to DESC. |
since_send_time | string | Only return campaigns sent after this time. ISO 8601 format: 2025-01-01T00:00:00Z |
before_send_time | string | Only return campaigns sent before this time. ISO 8601 format: 2025-12-31T23:59:59Z |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
campaign
mailchimp_get_campaign Get Mailchimp Campaign Details
Get detailed information about a specific Mailchimp campaign. Optionally includes content preview (text/HTML, truncated) and send checklist.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
6 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
campaign_id | string | The Mailchimp campaign ID. Required unless web_id is provided. |
web_id | integer | Alternative to campaign_id: the numeric web_id from Mailchimp UI URLs. If both are provided, campaign_id takes precedence. |
include_content | boolean | Include a preview of the campaign HTML/text content (truncated to 5000 chars). |
include_send_checklist | boolean | Include the send checklist for the campaign. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-connections
mailchimp_list_connections List Mailchimp Connections
List the Mailchimp connections available to you — both ones you own and ones shared with you via an organization. Use this to discover connection IDs for set_default / share / rename / revoke.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
default-connection
mailchimp_set_default_connection Set Default Mailchimp Connection
Set the Mailchimp connection that should be used by default for subsequent Mailchimp tool calls. The default is scoped to the calling actor (your user account, or the API key being used).
| Parameter | Type | Description |
|---|---|---|
connection_id required | string | UUID of the connection to mark as the actor's default Mailchimp connection. |
reason required | string | Why this tool call is needed |
e-connection
are-connection
me-connection
mailchimp_rename_connection Rename Mailchimp Connection
Rename the display name of an owned Mailchimp connection. The OAuth grant and underlying account are unaffected — this only changes the human-readable label. You must be the owner.
| Parameter | Type | Description |
|---|---|---|
connection_id required | string | UUID of the connection to rename. You must be the owner. |
display_name required | string | New human-readable name for the connection. |
reason required | string | Why this tool call is needed |
ke-connection
mailchimp_revoke_connection Revoke Mailchimp Connection
Revoke (soft-delete) an owned Mailchimp connection. Any defaults pointing to it are invalidated and shared org members lose access. The OAuth grant at Mailchimp is NOT revoked by this tool — the user must disconnect via the dashboard if they want to fully revoke at Mailchimp. You must be the owner.
| Parameter | Type | Description |
|---|---|---|
connection_id required | string | UUID of the connection to revoke. You must be the owner. |
reason required | string | Why this tool call is needed |
loper-feedback
mailchimp_developer_feedback Submit Developer Feedback
Submit feedback about missing tools, improvements, or workflow gaps in the Mailchimp MCP toolset. Not for user-facing issues like auth or API errors.
| Parameter | Type | Description |
|---|---|---|
feedback_type required | string | Feedback category: new_tool (request new capability), improvement (enhance existing tool), bug (report issue), workflow_gap (missing workflow) |
title required | string | Concise title summarizing the feedback |
description required | string | What is needed and why |
reason required | string | Why this tool call is needed |
3 optional parameters
| Parameter | Type | Description |
|---|---|---|
current_workaround | string | Current workaround, if any |
priority | string | Impact level: low (nice-to-have), medium (improves workflow), high (blocking issue) |
interface | string | Interface the feedback originated from: MCP (default) or CLI |
Uncategorized
mailchimp_ping Ping Mailchimp MCP Server
Health check for the Mailchimp MCP server. Does not call the Mailchimp API.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
1 optional parameter
| Parameter | Type | Description |
|---|---|---|
message | string | Optional message to echo back |
campaign-report
mailchimp_get_campaign_report Get Mailchimp Campaign Report
Get a detailed performance report for a sent Mailchimp campaign, including opens, clicks, bounces, forwards, ecommerce, delivery status, and industry comparison stats.
| Parameter | Type | Description |
|---|---|---|
campaign_id required | string | The Mailchimp campaign ID. Campaign must be in "sent" status. |
reason required | string | Why this tool call is needed |
2 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
audience-insights
mailchimp_get_audience_insights Get Mailchimp Audience Insights
Get insights for a Mailchimp audience including growth history, activity, email clients, and geographic locations. Each data source is fetched in parallel and degrades gracefully on failure.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience/list ID. |
reason required | string | Why this tool call is needed |
6 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
include_growth_history | boolean | |
include_activity | boolean | |
include_clients | boolean | |
include_locations | boolean | |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
email-activity
mailchimp_get_email_activity Get Mailchimp Email Activity
Get email activity (opens, clicks, bounces) for individual recipients of a sent Mailchimp campaign. Supports pagination.
| Parameter | Type | Description |
|---|---|---|
campaign_id required | string | The Mailchimp campaign ID. |
reason required | string | Why this tool call is needed |
4 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
limit | integer | |
cursor | string | |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
ab-test-report
mailchimp_get_ab_test_report Get Mailchimp A/B Test or Multivariate Report
Get per-variant performance data for an A/B split or multivariate campaign test. Returns variant-level metrics including opens, clicks, bounces, ecommerce, and winner status. Each variant includes a test_type field (subject_line, from_name, content, send_time, multivariate, unknown) and a changed_dimensions object with structured variant definition data (subject_line, from_name, reply_to, content_label, send_time_variant). Ecommerce data includes currency and an ecommerce_data_complete flag indicating whether all variants have data. Works for both A/B split (2 variants) and multivariate (multiple combinations) campaigns. Use mailchimp_list_campaigns with type filter ["absplit", "variate"] to find testable campaigns.
| Parameter | Type | Description |
|---|---|---|
campaign_id required | string | The Mailchimp campaign ID. Must be an A/B split or multivariate campaign. |
reason required | string | Why this tool call is needed |
3 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
include_ecommerce | boolean | Include per-variant ecommerce data (orders, revenue). Only available if ecommerce tracking is enabled. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-segments
mailchimp_list_segments List Mailchimp Segments
List segments for a Mailchimp audience with optional type filtering and pagination. Segment types include saved, static, and fuzzy.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience/list ID. |
reason required | string | Why this tool call is needed |
5 optional parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Filter by segment type. |
limit | integer | |
cursor | string | |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-subscribers
mailchimp_list_subscribers List Mailchimp Subscribers
List subscribers (members) of a Mailchimp audience with status filtering, email search, and pagination. Requires an audience_id. Use search to find specific subscribers by email or name. status accepts up to 5 values and merges them into one list ordered by email; when that merge reaches its per-status fetch cap the response carries truncated: true — narrow to one status or use search to see the rest. Paging: repeat the exact same call with cursor set to the previous response's nextCursor — a cursor only continues the call that issued it, and changing any filter (search, status, audience_id) invalidates it. Search caveat: Mailchimp's search endpoint returns one batch and accepts no pagination, so a broad search can be capped. When that happens the response carries search_total_matches — Mailchimp's own count of everything that matched, before the status filter is applied — and narrowing the search is the only way to reach the rest. Do not subtract count from it: count is what is left after filtering. Without search, the listing pages through the whole audience normally.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience (list) ID to list subscribers from. |
reason required | string | Why this tool call is needed |
6 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
status | array | Filter by subscription status. E.g. ["subscribed", "unsubscribed"]. |
search | string | Search subscribers by email address or name. Uses the Mailchimp search-members endpoint. |
limit | integer | Maximum number of results to return (1-100). Default: 20. |
cursor | string | Opaque pagination cursor from a previous response. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
subscriber
mailchimp_get_subscriber Get Mailchimp Subscriber Details
Get detailed information about a specific subscriber by email address or MD5 hash. Optionally includes recent activity feed.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience (list) ID. |
email_or_hash required | string | Email address or MD5 subscriber hash. |
reason required | string | Why this tool call is needed |
3 optional parameters
| Parameter | Type | Description |
|---|---|---|
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
include_activity | boolean | Include recent activity feed for this subscriber. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-tags
mailchimp_list_tags List Mailchimp Tags
List tags for a Mailchimp audience with pagination. Tags are user-defined labels applied to subscribers for organization and segmentation.
| Parameter | Type | Description |
|---|---|---|
audience_id required | string | The Mailchimp audience/list ID. |
reason required | string | Why this tool call is needed |
4 optional parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | |
cursor | string | |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
-templates
mailchimp_list_templates List Mailchimp Templates
List email templates in the Mailchimp account with type filtering, name search, and pagination. Filter by type (user, base, gallery) to narrow results.
| Parameter | Type | Description |
|---|---|---|
reason required | string | Why this tool call is needed |
7 optional parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results to return (1–100). Default: 20. |
cursor | string | Opaque pagination cursor from a previous response. |
refresh | boolean | Force a fresh fetch bypassing the cache. |
account_id | string | Mailchimp account ID. Required when multiple accounts are connected. Use mailchimp_list_accounts to see available accounts. |
search | string | Filter templates by name (case-insensitive substring match). |
type | string | Filter templates by type. |
connection_id | string | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |