Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Mailchimp MCP Server

by cyanheadsversion 0.6.0i★ –iRuns on your computer
Registry nameio.github.cyanheads/mailchimp-mcp-server

Install

Overview

Description from the maker (original English)

Mailchimp via MCP: draft, test, and send campaigns; manage audiences and subscribers; pull reports.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio, Streamable HTTP
  • Category: Marketing & social media
  • You need to fill in: MAILCHIMP_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: MAILCHIMP_API_KEY, MAILCHIMP_BASE_URL, MAILCHIMP_TIMEOUT_MS, MAILCHIMP_MAX_RETRIES, MAILCHIMP_CONCURRENCY_LIMIT, MAILCHIMP_ASSETS_DIR, MAILCHIMP_TEMPLATES_DIR, MCP_LOG_LEVEL

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "mailchimp": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/mailchimp-mcp-server"
      ],
      "env": {
        "MAILCHIMP_API_KEY": "your-value",
        "MAILCHIMP_BASE_URL": "your-value",
        "MAILCHIMP_TIMEOUT_MS": "your-value",
        "MAILCHIMP_MAX_RETRIES": "your-value",
        "MAILCHIMP_CONCURRENCY_LIMIT": "your-value",
        "MAILCHIMP_ASSETS_DIR": "your-value",
        "MAILCHIMP_TEMPLATES_DIR": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add mailchimp --env MAILCHIMP_API_KEY=your-value --env MAILCHIMP_BASE_URL=your-value --env MAILCHIMP_TIMEOUT_MS=your-value --env MAILCHIMP_MAX_RETRIES=your-value --env MAILCHIMP_CONCURRENCY_LIMIT=your-value --env MAILCHIMP_ASSETS_DIR=your-value --env MAILCHIMP_TEMPLATES_DIR=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/mailchimp-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mailchimp": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/mailchimp-mcp-server"
      ],
      "env": {
        "MAILCHIMP_API_KEY": "your-value",
        "MAILCHIMP_BASE_URL": "your-value",
        "MAILCHIMP_TIMEOUT_MS": "your-value",
        "MAILCHIMP_MAX_RETRIES": "your-value",
        "MAILCHIMP_CONCURRENCY_LIMIT": "your-value",
        "MAILCHIMP_ASSETS_DIR": "your-value",
        "MAILCHIMP_TEMPLATES_DIR": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mailchimp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/mailchimp-mcp-server"
      ],
      "env": {
        "MAILCHIMP_API_KEY": "your-value",
        "MAILCHIMP_BASE_URL": "your-value",
        "MAILCHIMP_TIMEOUT_MS": "your-value",
        "MAILCHIMP_MAX_RETRIES": "your-value",
        "MAILCHIMP_CONCURRENCY_LIMIT": "your-value",
        "MAILCHIMP_ASSETS_DIR": "your-value",
        "MAILCHIMP_TEMPLATES_DIR": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MAILCHIMP_API_KEY required env
    Mailchimp Marketing API key, including the '-dc' data-center suffix (e.g. 'abc...-us22'). Generate at Mailchimp → Account → Extras → API keys.
  • MAILCHIMP_BASE_URL env
    Override the API base URL (for mock servers or testing). Defaults to 'https://{dc}.api.mailchimp.com/3.0' derived from the API key suffix.
  • MAILCHIMP_TIMEOUT_MS env
    Per-request timeout in milliseconds.
  • MAILCHIMP_MAX_RETRIES env
    Max retry attempts for transient upstream failures (0-10).
  • MAILCHIMP_CONCURRENCY_LIMIT env
    Max in-flight upstream requests across this process (1-10).
  • MAILCHIMP_ASSETS_DIR env
    Absolute path to a local assets directory. When set (Node-only — Workers ignored), enables the `mailchimp_assets` tool and auto-uploads `@assets/ ` references in campaign HTML to Mailchimp File Manag…
  • MAILCHIMP_TEMPLATES_DIR env
    Absolute path to a local templates directory. When set (Node-only), enables the `mailchimp_local_templates` tool and support for `content.localTemplate` on campaign tools. Templates are `.eta` files…
  • MCP_LOG_LEVEL env
    Minimum log level for output: debug, info, notice, warning, or error.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 3567 servers in this category
  • Published to the registry more recently than 82% of the other 3567 servers in this category
  • Basic checks equal to or better than 100% of the other 3567 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Mailchimp MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: MAILCHIMP_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.6.0) reached the registry 6 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 10 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 10 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/mailchimp-mcp-server Draft, test, and send Mailchimp campaigns straight from your MCP client — with audience management, subscriber CRUD, and post-send analytics behind safe-by-default send gates. STDIO or Streamable HTTP. 18 Tools (+2 conditional) • 4 Resources • 1 Prompt


Overview

Mailchimp campaign management. Draft, test, and send email campaigns, manage audiences and subscribers, and review post-send analytics, with optional local image and template directories for authoring.

Tools
ToolDescription
mailchimp_accountAccount profile, plan, data center, and the Chimp Chatter activity feed
mailchimp_audiencesRead, create, and update audiences (lists), with per-audience analytics and signup-form config
mailchimp_audience_overviewOne-call audience digest: info, stats, growth history, top email clients, merge-field schema
mailchimp_subscribersSubscriber reads, updates, archive, tags, notes, and engagement history
mailchimp_upsert_subscriberAdd or update one subscriber idempotently, with status, merge fields, tags, and a note
mailchimp_find_subscriberLocate a subscriber by email in one audience or across the account
mailchimp_import_subscribersBatch add or update up to 500 subscribers per call, pending by default
mailchimp_segmentsSegment CRUD (saved, static, fuzzy), member listing, and batch add/remove
mailchimp_merge_fieldsRead, create, and update custom subscriber attributes
mailchimp_campaignsCampaign records, content, send checklist, and RSS/resend controls
mailchimp_send_campaignCompose a campaign and leave it as a draft, test it, send it, or schedule it in one call
mailchimp_replicate_campaignDuplicate a campaign with overrides, then draft, test, send, or schedule
mailchimp_reportsCampaign reports: the index, one report, or one of ten report dimensions
mailchimp_campaign_reportPost-send digest: headline metrics plus top links, locations, and unsubscribes
mailchimp_templatesMailchimp-hosted templates; reads work on free plans, writes need a paid plan
mailchimp_filesFile Manager uploads, listing, renames, and deletes on Mailchimp's CDN
mailchimp_searchSearch members or campaigns across the account
mailchimp_assets *(conditional: MAILCHIMP_ASSETS_DIR)*Inspect and pre-warm uploads for @assets/ references in campaign HTML
mailchimp_local_templates *(conditional: MAILCHIMP_TEMPLATES_DIR)*Author and render local .eta templates, the template write path on free plans
mailchimp_playbookProcedural playbooks merged with live account state; advice only
Resources
ResourceDescription
mailchimp://accountAccount snapshot: profile, plan, data center, total subscribers
mailchimp://audiences/{audienceId}Audience snapshot: name, contact, stats, double opt-in status
mailchimp://campaigns/{campaignId}Campaign snapshot: status, settings, recipients
mailchimp://campaigns/{campaignId}/reportPost-send headline metrics for a campaign

All resource data is also reachable through tools; audiences and campaigns are listed with each tool's list operation.

The server also publishes an agent skill, mailchimp-guide (skill://mailchimp-guide/SKILL.md, source in skills/mailchimp-guide/): the send, campaign-lookup, click-tracing, and subscriber gates, plus where each ID comes from.

Prompts
PromptDescription
newsletter_from_sourceCompose an editorial newsletter from a URL or brief, then walk it through draft, test, and send

Design reference: docs/email-design-playbook.md.

Capability reference

mailchimp_account tool
  • operation: info returns profile, plan, data center, total subscribers, and industry benchmarks; operation: activity-feed returns Chimp Chatter events, paged by count (max 100, default 20) and offset
  • An empty activity feed carries a note naming the likely causes

mailchimp_audiences tool
  • Operations: list, get, create, update, the analytics reads list-activity, list-growth, list-clients, list-abuse-reports, list-locations, and get-signup-forms / customize-signup-forms (takes signupFormConfig); every operation except list and create needs audienceId
  • create requires name, contact (company, address1, city, state, zip, country), permissionReminder, and campaignDefaults (fromName, fromEmail; language defaults to en)
  • update with a partial contact or campaignDefaults keeps the omitted subfields' current values (one read before the write)

mailchimp_audience_overview tool
  • audienceId plus growthMonths (1–36, default 12); returns info, stats, contact, campaign defaults, growth history, top email clients, and the merge-field schema
  • notes[] explains empty growth or email-client arrays, separating "no data yet" from zero engagement

mailchimp_subscribers tool
  • audienceId on every call and email on every operation except list, which narrows by status only and rejects email (look one address up with get or mailchimp_find_subscriber); operations: list, get, update, archive, list-tags, set-tags, list-notes / add-note / update-note / delete-note (by noteId), and list-activity / list-events / list-goals
  • Addresses are trimmed and rejected if the local or domain part is missing; an empty list email stays unfiltered. update to subscribed asks for confirmation when resuming a subscription; already-subscribed members are left as they are
  • set-tags is declarative: tags becomes the full active set and every other tag is removed unless named in preserveTags (static-segment membership is stored as a tag). Returns tagsAdded, tagsRemoved, and tagsActive

mailchimp_upsert_subscriber tool
  • audienceId, email, and status required; optional mergeFields, tags + preserveTags (same declarative sync as set-tags), note, vip, language; updateExistingStatus: false applies status to new records only
  • Returns isNew, the resulting status, tagsAdded / tagsRemoved / tagsFinal, noteAttached, and webUrl
  • status: "pending" uses Mailchimp's double opt-in flow. New or resumed subscribed status asks for confirmation of documented consent before anything is written; declining writes nothing. Already-subscribed updates and updateExistingStatus: false keep the existing status without asking

mailchimp_find_subscriber tool
  • email accepts an address or free-form search fragment, including a fragment without @, scoped to one audienceId or, when omitted, every audience on the account (echoed as searchedAcross)
  • Returns exactMatches and fuzzyMatches with merge fields and stats; includeTags (default true) adds each match's tags at one extra call per match

mailchimp_import_subscribers tool
  • audienceId and 1–500 subscribers rows per call; status defaults to pending (double opt-in) and a per-row status overrides it; updateExisting defaults to false, so existing records are skipped
  • Any row that would be subscribed needs one confirmation before the whole batch writes; declining writes nothing. Pending-only imports need none
  • Returns totalCreated, totalUpdated, errorCount, and per-row succeeded and failed entries; incomplete addresses fail as invalid_email, and a batch with no valid rows makes no upstream request

mailchimp_segments tool
  • audienceId on every call and segmentId on every operation except list (filterable by type: saved, static, fuzzy) and create; create / update take name, staticEmails, or saved-segment options
  • batch-update-members applies membersToAdd / membersToRemove to a static segment and returns added, removed, and per-email errors
  • Free plans get static and basic saved segments; advanced conditions need Premium and fail as mailchimp_forbidden

mailchimp_merge_fields tool
  • list, get, create, update; create requires name, tag (10 characters max), and type; get / update take mergeId
  • options carries type-specific config: choices for dropdown / radio, date_format for date / birthday, phone_format for phone

mailchimp_campaigns tool
  • Operations: list (filter by status, listId, sinceSendTime / beforeSendTime), get, create (type of regular / plaintext / rss, plus recipients and settings), update, replicate, get-content, set-content, get-checklist, cancel-send, create-resend, pause-rss, resume-rss; all but list and create take campaignId
  • set-content accepts html, plainText, templateId + templateSections, archiveContent, url, or localTemplate (exclusive with html and templateId); get-checklist returns isReady and typed items
  • get-content accepts variant: html | plainText | archiveHtml | all (default all); empty bodies are omitted and formatted output carries complete selected bodies as fenced JSON
  • No send, test, schedule, or delete here; dispatch goes through mailchimp_send_campaign or mailchimp_replicate_campaign

mailchimp_send_campaign tool
  • audienceId, subject, fromName, replyTo, and content (at least one of html, plainText, templateId, localTemplate) required; mode is draft (default), test (needs testEmails, max 50), send, or schedule (needs `scheduleT

Only the beginning is shown; read the rest in the repo

Ask PopNx