Skip to content
Agentmart
Submit a tool

Mailchimp MCP Server

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

Connector by cyanheads · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)Remote (HTTP)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/cyanheads-mailchimp-mcp-server

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
8 read · 4 write · 4 delete · 4 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 20

Read from the source code; the running server may list different tools.

Read 8 · Look things up without changing anything.

  • mailchimp_account
  • mailchimp_assets
  • mailchimp_audience_overview
  • mailchimp_campaign_report
  • mailchimp_find_subscriber
  • mailchimp_playbook
  • mailchimp_reports
  • mailchimp_search

Write 4 · Create, change, send or run things.

  • mailchimp_audiences
  • mailchimp_import_subscribers
  • mailchimp_merge_fields
  • mailchimp_upsert_subscriber

Delete 4 · Delete, drop, revoke or wipe things.

  • mailchimp_files
  • mailchimp_replicate_campaign
  • mailchimp_send_campaign
  • mailchimp_subscribers

Not yet classified 4 · We could not tell from the name and description.

  • mailchimp_campaigns
  • mailchimp_local_templates
  • mailchimp_segments
  • mailchimp_templates

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • MAILCHIMP_API_KEY

Other settings (environment variables or headers).

  • MAILCHIMP_ASSETS_DIR
  • MAILCHIMP_BASE_URL
  • MAILCHIMP_CONCURRENCY_LIMIT
  • MAILCHIMP_MAX_RETRIES
  • MAILCHIMP_TEMPLATES_DIR
  • MAILCHIMP_TIMEOUT_MS
  • MCP_LOG_LEVEL

Tools (20)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • mailchimp_accountread-only

    Read-only view of the Mailchimp account. Use `operation: info` for profile, plan, data center, and total subscribers. Use `operation: activity-feed` for the Chimp Chatter stream (recent subscribes, unsubscribes, campaign sends across the whole account).

  • mailchimp_assets

    Inspect and pre-warm the local-assets pipeline. Available only when `MAILCHIMP_ASSETS_DIR` is set on the server. Use `list` to see what's available, `info` to get a single file's hash + cache status, `sync` to upload everything ahead of a send (so the actual send is fast), and `clear-cache` to invalidate the local cache. Most workflows don't need this — auto-upload happens automatically when `@assets/<path>` references appear in campaign HTML via `mailchimp_send_campaign` or `mailchimp_campaigns set-content`.

  • mailchimp_audience_overviewread-only

    One-call health digest for an audience: info, stats, N months of growth history, top email clients, and the full merge-field schema. Use this at the start of any session that will work with subscribers, segments, or campaigns — it answers 'what does this audience look like?' in a single request.

  • mailchimp_audiences

    Manage Mailchimp audiences (the UI term for "lists"). Supports read, create/update, per-audience analytics (activity, growth, email clients, abuse reports, top locations), and signup-form configuration. Does NOT support delete — on free plan the 1-audience cap makes it catastrophic, so humans do it in the UI.

  • mailchimp_campaign_reportread-only

    Post-send analytics digest for a campaign. One call returns headline delivery metrics (sent/bounce/abuse), engagement (opens, clicks, unsubscribes), top clicked links, top locations, recent unsubscribes, and industry benchmarks when available. For individual dimensions in detail, use the `mailchimp_reports` primitive tool with `operation: 'slice'`.

  • mailchimp_campaigns

    Campaign record management: list/get/create/update, replicate, content read/write, get-checklist, and RSS/resend controls. DELETE is intentionally not exposed — deleting a sent campaign destroys its historical reports; use `cancel-send` to abort an in-flight send, or delete via the Mailchimp UI if you truly need to. Use the `mailchimp_send_campaign` workflow tool to actually send a campaign (it chains create/content/checklist/send and requires explicit `confirmSend: true`).

  • mailchimp_files

    Upload, list, fetch, rename, and delete files in Mailchimp's File Manager (Content Studio). Use `upload` to push an image into Mailchimp — the response's `fullSizeUrl` is the public CDN URL to embed in campaign HTML (`<img src="…">`). Use `update` to rename a file or move it between folders (pass `folderId: 0` to move to root). Works on every plan tier (including free). **Size caps: 1 MB per image, 10 MB per non-image file.** For `upload`, encode the file bytes as base64 and pass via `fileData` along with a `name` that includes the extension — see `fileData` field for the allowed-extension lis…

  • mailchimp_find_subscriberread-only

    Locate a subscriber by email address or free-form search fragment across one audience (when `audienceId` is provided) or all audiences on the account. Fragments without @ are accepted. Returns exact and fuzzy matches from Mailchimp search, enriched with merge fields, stats, and active tags. Most free accounts have a single audience, so this is usually a fast one-call lookup.

  • mailchimp_import_subscribers

    Description is built at runtime.

  • mailchimp_local_templates

    Author and render local email templates. **Canonical write path for templates on free-tier Mailchimp accounts** — Mailchimp's upstream `/templates` API is read-only on free, so this tool is how you create reusable templates programmatically. Templates are `.eta` files in `MAILCHIMP_TEMPLATES_DIR`, with optional YAML frontmatter (subject, previewText, vars); legacy `<name>.meta.yaml` sidecars are read when frontmatter is absent. Eta supports partials via `<%~ include('partials/header', it) %>`, conditionals (`<% if (it.x) { %>`), and loops. Use `seed-from-mailchimp` to bootstrap a template from…

  • mailchimp_merge_fields

    Read + create/update custom subscriber attributes (merge fields). Tags like `FNAME`, `LNAME`, `EMAIL` are baked into the audience schema and used by campaigns for personalization. This tool intentionally has no delete — removing a merge field drops a data column across every subscriber, which should happen in the Mailchimp UI with its confirmation dialog.

  • mailchimp_playbookread-only

    Returns a structured procedural playbook merged with live account state. Call this at the start of a complex multi-step task (designing a campaign, sending a campaign, reviewing a send, diagnosing deliverability, cleaning a list, onboarding, triaging a subscriber) to get a tailored walkthrough. Advice-only — call the suggested follow-up tools to execute. Returns markdown instructions + a live-state snapshot + `nextToolSuggestions` with pre-filled arguments.

  • mailchimp_replicate_campaigncan change or delete data

    Duplicate an existing campaign, optionally override subject/from/reply/audience/segment/content, then leave as draft (default), send a test, send, or schedule. **Send-capable — default to `mode: 'draft'`.** Only use `mode: 'send'` or `'schedule'` when the user has explicitly authorized dispatch; phrasing like 'clone this campaign and update the audience' or 'set up a v2' is NOT authorization to send — leave as `draft`, return the new `campaignId` and `webUrl`, and let the user run a follow-up send after reviewing. Send/schedule modes require `confirmSend: true`. Use for the common 'send v2 of …

  • mailchimp_reportsread-only

    Campaign reports — generic slicer. Use `operation: list` for the report index, `get` for a single campaign's headline metrics, and `slice` with a `dimension` enum to pull one specific breakdown (click-details, open-details, locations, unsubscribed, abuse-reports, advice, domain-performance, eepurl, email-activity, sent-to). For the common 'summarize this campaign' question, prefer the `mailchimp_campaign_report` workflow tool — it parallelizes the top 5 slices into one response.

  • mailchimp_searchread-only

    Global search. Use `scope: members` to find subscribers by email/name fragment across all audiences (or pass `audienceId` to restrict). Use `scope: campaigns` to find campaigns by subject / title / preview text / archive. For subscriber detail + tags, prefer `mailchimp_find_subscriber` — this tool is for lightweight discovery.

Show 5 more tools
  • mailchimp_segments

    CRUD for audience segments (saved, static, fuzzy) plus member listing and batch member add/remove for static segments. Free plan supports static + basic saved segments; Premium is required for advanced dynamic filters. Use `batch-update-members` to add/remove many subscribers in a single call — the operation is NOT reversible in one shot.

  • mailchimp_send_campaigncan change or delete data

    Compose a Mailchimp campaign and optionally test/send/schedule it in one call. Creates the draft, sets content, runs the send-checklist, then either leaves it as a draft (default) or dispatches per `mode`. **Send-capable — default to `mode: 'draft'`.** Only use `mode: 'send'` or `'schedule'` when the user has explicitly authorized dispatch; ambiguous phrasing like 'set up next week's newsletter', 'compose a draft', or 'the usual' does NOT authorize a send — leave as `draft`, return the `campaignId` and `webUrl`, and let the user run a follow-up send after reviewing. Send/schedule modes require…

  • mailchimp_subscribers

    Manage subscribers (Mailchimp 'list members') — CRUD except permanent-delete, plus tags/notes/activity. `update` to `subscribed` requests confirmation before writes when resuming marketing delivery; decline/cancel writes nothing. Already-subscribed members need no new confirmation and their subscribed status is not rewritten. Use `mailchimp_upsert_subscriber` to add a new subscriber (that tool handles tags and notes in one idempotent call). `archive` is the strongest removal available; it takes the subscriber out of the active audience but preserves the record, so they can resubscribe. GDPR-fo…

  • mailchimp_templates

    Mailchimp-hosted template surface. **For authoring new templates, prefer `mailchimp_local_templates` — that tool works on every plan tier (including free, where the writes here are forbidden) and templates live as `.eta` files under `MAILCHIMP_TEMPLATES_DIR`, git-versionable and composable via partials.** Use this tool for reading existing Mailchimp templates (`list`, `get`, `get-default-content` — work on free for `base`/`user` types) or, on paid plans, syncing changes upstream via `create`/`update`/`delete`. **All writes require a paid plan regardless of `type`** and return `Forbidden` with …

  • mailchimp_upsert_subscriber

    Add or update a subscriber in one idempotent call. Skips merge-field revalidation on updates that don't touch merge fields, so a stored malformed value can't block other writes. Tags are synced declaratively — pass the desired active set and the tool computes the add/remove delta. **Important:** Mailchimp stores static-segment membership as a tag, so a declarative sync will remove the subscriber from any named segment not listed in `tags`; use `preserveTags` to protect them. New or resumed `subscribed` status requires a confirmation round before any write, including tags and notes; decline/can…

Signals

Stars
2
Forks
0
Open issues
4
Weekly downloads
115
Last commit
Oct 17, 2026 (11 days ago)
Last release
Oct 13, 2026 (16 days ago)
Last package publish
Oct 13, 2026 (16 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.cyanheads/mailchimp-mcp-server
Version
0.4.0
Auth
No auth
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from cyanheads

Cite this page

Mailchimp MCP Server. Agent Mart. https://agentmart.dev/connectors/cyanheads-mailchimp-mcp-server (last updated 2026-10-24)