Atlas / MCP servers / damientilman / Mailchimp

MailchimpSAFE

mcp/damientilman/mailchimp-3

The most complete Mailchimp Marketing API MCP server: 227 tools across campaigns, audiences, reports, segments, automations and full e-commerce, with multi-account support and runtime-security guardrails (read-only, dry-run, audit, per-tool risk metadata).

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
200 116r · 79w · 32d
Transport
—
License
MIT
Stars
24
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://github.com/damientilman/mailchimp-mcp-server/actions/workflows/ci.yml) [](https://pypi.org/project/mailchimp-mcp/) [](https://pypi.org/project/mailchimp-mcp/) [](https://opensource.org/licenses/MIT) [](https://www.python.org/downloads/) [](https://modelcontextprotocol.io) [](https://github.com/damientilman/mailchimp-mcp-server/pkgs/container/mailchimp-mcp-server)

The most complete Model Context Protocol (MCP) server for the Mailchimp Marketing API: 227 tools to query and manage your Mailchimp account from any MCP-compatible client. It covers the full campaign, audience, member, segment, automation and reporting surface, complete e-commerce (read and write), landing pages, File Manager, surveys, signup forms and verified domains, plus multi-account support and runtime-security guardrails (read-only, dry-run and audit modes, with per-tool risk metadata).

Uses the Mailchimp Marketing API via `requests`. Not based on the official mailchimp-marketing-python client. I hit too many issues with it so I went with raw HTTP calls instead.

Read from source at commit c848116fa0f0OBSERVED · 2026-10-10
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add mailchimp-mcp --env MAILCHIMP_API_KEY=${MAILCHIMP_API_KEY} -- uvx mailchimp-mcp
claude-desktop
{
  "mcpServers": {
    "mailchimp-mcp": {
      "command": "uvx",
      "args": [
        "mailchimp-mcp"
      ],
      "env": {
        "MAILCHIMP_API_KEY": "${MAILCHIMP_API_KEY}"
      }
    }
  }
}
03

Exposed tools (200)

116 read · 79 write · 32 destructive. Blast radius: 32 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
add_automation_queue_subscriberwriteAdd a subscriber to the queue of a classic automation email.
add_memberwriteAdd a new member to an audience with optional name and tags.
add_member_eventwriteRecord a custom event for an audience member (e.g.
add_member_notewriteAdd a CRM-style internal note to a member. Not sent to the contact.
add_members_to_segmentwriteAdd members to a static segment or tag by email address.
batch_subscribewriteAdd or update up to 500 members in a single synchronous request.
cancel_sendwriteCancel a campaign mid-send, stopping delivery to remaining recipients.
create_account_exportwriteStart an account export job covering the requested categories of account data.
create_audiencewriteCreate a new audience (list) with required contact info, campaign defaults, and permission reminder.
create_batchwriteSubmit multiple API operations as a single asynchronous batch request.
create_batch_webhookwriteCreate a new batch webhook that notifies a URL when batch operations complete.
create_campaignwriteCreate a new email campaign in draft status, with optional segment targeting or A/B variate testing.
create_campaign_feedbackwriteAdd a team collaboration feedback comment to a campaign.
create_campaign_folderwriteCreate a new folder to organize campaigns.
create_connected_sitewriteConnect a website to Mailchimp, generating a tracking script for that domain.
create_interestwriteCreate a new interest option within an interest category (e.g. add
create_interest_categorywriteCreate a new interest category (group container) in an audience for organizing subscriber preferences.
create_landing_pagewriteCreate a new landing page in draft status from a template, optionally linked to a store.
create_merge_fieldwriteCreate a new custom merge field in an audience for storing additional member data.
create_promo_codewriteCreate a redeemable code under an existing promo rule.
create_promo_rulewriteCreate a promo rule (discount mechanic) in a store. Attach codes to it afterwards
create_segmentwriteCreate a new segment or tag in an audience for grouping members.
create_storewriteCreate an e-commerce store in Mailchimp to hold products, customers, carts, and orders.
create_store_cartwriteCreate a cart in a store with line items and a customer reference. Used to push
create_store_customerwriteCreate a customer in a store, linking their purchase activity to an email address.
create_store_orderwriteCreate an e-commerce order in a store with a customer and line items.
create_store_order_linewriteAdd a line item to an existing e-commerce order.
create_store_productwriteCreate a product in a store, including at least one variant.
create_store_product_imagewriteAdd an image to a product in an e-commerce store.
create_store_product_variantwriteAdd a new variant to an existing product in a store.
create_templatewriteCreate a new reusable email template from HTML content.
create_template_folderwriteCreate a new folder to organize templates.
create_verified_domainwriteBegin domain verification by sending a verification code to an address at that domain.
create_webhookwriteCreate a webhook that sends HTTP POST notifications to an external URL on audience events.
customize_signup_formreadCustomize an audience
delete_audiencedestructivePermanently delete an audience and all its members, segments, campaigns, and stats. Irreversible.
delete_batch_webhookdestructiveDelete a batch webhook permanently.
delete_campaigndestructivePermanently delete a campaign from the account.
delete_campaign_feedbackdestructiveDelete a campaign feedback comment permanently.
delete_campaign_folderdestructiveDelete a campaign folder permanently.
delete_connected_sitedestructiveDelete a connected site from the account permanently.
delete_filedestructivePermanently delete a file from the File Manager.
delete_interestdestructiveDelete a single interest option from a category, keeping the category and other options intact.
delete_interest_categorydestructiveDelete an interest category and all its interest options at once.
delete_landing_pagedestructivePermanently delete a landing page. Cannot be undone.
delete_memberdestructivePermanently delete a member and all their data from an audience.
delete_member_notedestructivePermanently delete a note attached to a member. Cannot be undone.
delete_member_permanentdestructivePermanently and irreversibly erase an audience member (GDPR-style deletion).
delete_merge_fielddestructiveDelete a custom merge field and all its stored data from an audience.
delete_promo_codedestructivePermanently delete a promo code. Past redemption history is lost. Irreversible.
delete_promo_ruledestructivePermanently delete a promo rule and all its associated promo codes. Irreversible.
delete_segmentdestructiveDelete a segment or tag from an audience. Members remain in the audience.
delete_storedestructivePermanently delete an e-commerce store from Mailchimp.
delete_store_cartdestructivePermanently delete a cart from a store. Cannot be undone.
delete_store_customerdestructivePermanently delete a customer from a store.
delete_store_orderdestructivePermanently delete an e-commerce order from a store.
delete_store_order_linedestructivePermanently delete a line item from an e-commerce order.
delete_store_productdestructivePermanently delete a product and all of its variants from a store.
delete_store_product_imagedestructivePermanently delete an image from a product in an e-commerce store.
delete_store_product_variantdestructivePermanently delete a single variant from a product in a store.
delete_templatedestructiveDelete a user-created template permanently.
delete_template_folderdestructiveDelete a template folder permanently.
delete_verified_domaindestructiveDelete a verified sending domain from the account permanently.
delete_webhookdestructiveDelete a webhook, immediately stopping event notifications to its URL.
describe_toolsreadList every tool with its machine-readable risk classification for policy enforcement.
get_account_exportreadRetrieve the status and download URL for a single account export job.
get_account_inforeadRetrieve Mailchimp account details including name, contact info, total subscribers, and industry benchmarks.
get_audience_abuse_reportreadRetrieve the details of a single abuse (spam) complaint report for an audience.
get_audience_activityreadRetrieve the recent daily activity (opens, clicks, sends, subscribes) for an audience.
get_audience_clientsreadList the top email clients (Gmail, Apple Mail, Outlook) used by an audience
get_audience_detailsreadRetrieve full stats, subscribe URL, and rating for a specific audience.
get_audience_growth_historyreadRetrieve monthly growth history for an audience (subscribes, unsubscribes, cleaned).
get_audience_top_locationsreadList the top geographic locations (countries) of an audience
get_authorized_appreadRetrieve the full record for a single OAuth-authorized application.
get_automation_emailreadGet details of a single email in a classic automation workflow.
get_automation_email_queuereadRetrieve the queue of subscribers about to receive a specific automation email, with scheduled send times.
get_automation_emailsreadList individual emails within an automation workflow with sequence, delays, and send counts.
get_automation_queue_subscriberreadGet a single subscriber from the queue of a classic automation email.
get_automation_removed_subscriberreadGet a single subscriber removed from a classic automation workflow.
get_automation_summaryreadSummarise automation activity across Classic Automations and Customer Journeys.
get_batch_statusreadCheck the progress and completion status of an asynchronous batch operation.
get_batch_webhookreadRetrieve the details of a single batch webhook.
get_campaign_abuse_reportreadRetrieve a single abuse (spam) complaint for a sent campaign.
get_campaign_abuse_reportsreadList abuse (spam) complaints filed against a sent campaign.
get_campaign_advicereadRetrieve Mailchimp
get_campaign_click_detailsreadRetrieve per-link click data for a campaign showing which URLs were clicked and how many times.
get_campaign_contentreadRead the rendered body copy of a campaign (plain text, optionally HTML).
get_campaign_detailsreadRetrieve full configuration of a specific campaign including settings, recipients, and tracking options.
get_campaign_feedbackreadRetrieve a single team feedback comment on a campaign.
get_campaign_folderreadRetrieve details for a single campaign folder.
get_campaign_locationsreadRetrieve geographic open data for a sent campaign, broken down by country and region.
get_campaign_recipientsreadRetrieve the delivery roster for a sent campaign showing each recipient
get_campaign_reportreadRetrieve aggregate performance metrics for a sent campaign: opens, clicks, bounces, benchmarks.
get_campaign_send_checklistwriteRetrieve the pre-send readiness checklist for a campaign.
get_campaign_sent_toreadList the members a sent campaign was delivered to, with per-recipient status.
get_campaign_sub_reportsreadRetrieve child report data for A/B test, variate, or RSS campaign sub-items.
get_campaign_unsubscribesreadRetrieve members who unsubscribed from a specific sent campaign, with reasons.
get_chimp_chatterreadRetrieve the account activity feed (Chimp Chatter) of recent events across the account.
get_connected_sitereadRetrieve the full record for a single connected site including its tracking script.
get_domain_performancereadRetrieve campaign performance broken down by recipient email domain (gmail.com, outlook.com, etc.).
get_ecommerce_product_activityreadRetrieve e-commerce product activity for a campaign showing revenue per product.
get_eepurl_activityreadRetrieve social sharing stats for a campaign
get_email_activityreadRetrieve per-recipient activity timeline for a sent campaign (opens, clicks, bounces).
get_filereadRetrieve full metadata for a single File Manager file.
get_landing_pagereadRetrieve full details of a landing page including description and tracking settings.
get_landing_page_reportreadGet the report for a single landing page.
get_member_activityreadRetrieve a member
get_member_eventsreadRetrieve custom API-triggered events for a specific member (e.g.
get_member_goalsreadRetrieve the last 50 Goal events triggered by a specific audience member.
get_member_journey_eventsreadRetrieve a member
get_member_tagsreadRetrieve all tags currently assigned to a specific member.
get_open_detailsreadRetrieve per-recipient open data for a sent campaign (who opened, when, how many times).
get_promo_codereadRetrieve a single promo code by ID with its current settings and usage stats.
get_promo_rulereadRetrieve a single promo rule by ID with its full configuration.
get_segmentreadRetrieve full details of a specific segment including member count and filter conditions.
get_storereadRetrieve a single e-commerce store with its configuration and connection details.
get_store_cartreadRetrieve a single cart with its full line items, customer, and total breakdown.
get_store_customerwriteRetrieve a single store customer with their email, opt-in status, and order totals.
get_store_orderwriteRetrieve a single e-commerce order with its lines, customer, and totals.
get_store_order_linewriteRetrieve a single line item from an e-commerce order.
get_store_productreadRetrieve a single product from a store with its variants and details.
get_store_product_imagereadRetrieve a single image attached to a product in an e-commerce store.
get_store_product_variantreadRetrieve a single product variant with its price, SKU, and inventory details.
get_surveyreadRetrieve full details for a single survey.
get_survey_question_answersreadList answers for a single survey question.
get_survey_questions_reportreadGet the questions report for a single survey.
get_survey_reportreadGet the report for a single survey.
get_survey_responsereadGet a single survey response.
get_survey_responsesreadList responses for a single survey.
get_templatereadRetrieve metadata for a template (name, type, dates, folder, thumbnail) without its HTML content.
get_template_default_contentreadRetrieve the default HTML content of a template for use in campaign content.
get_template_folderreadRetrieve details for a single template folder.
get_verified_domainreadRetrieve the full verification and authentication record for a single sending domain.
list_account_exportsreadList account export jobs that have been requested for this Mailchimp account.
list_account_ordersreadList e-commerce orders across every store in the account.
list_accountsreadList the Mailchimp accounts this server is configured to use.
list_audience_abuse_reportsreadList abuse (spam) complaint reports filed against an audience.
list_audience_memberswriteList members of a specific audience with subscription status, merge fields, and engagement stats.
list_audiencesreadList audiences (lists) with subscriber counts and engagement rates.
list_authorized_appsreadList applications that have been granted OAuth access to this Mailchimp account.
list_automation_removed_subscribersreadList subscribers removed from a classic automation workflow.
list_automationswriteList Classic Automation workflows in the account with status and send counts.
list_batch_webhooksreadList all configured batch webhooks for the account.
list_batchesreadList recent batch operations with status and progress.
list_campaign_feedbackreadList team collaboration feedback comments on a campaign.
list_campaign_foldersreadList campaign folders used to organize campaigns in the Mailchimp dashboard.
list_campaignswriteList campaigns with metadata, send stats, and filtering by status or date.
list_connected_sitesreadList all sites connected to this Mailchimp account for tracking and pop-up forms.
list_ecommerce_storesreadList connected e-commerce stores (Shopify, WooCommerce, etc.) with platform and currency info.
list_file_foldersreadList folders in the account
list_filesreadList images and files stored in the account
list_interest_categoriesreadList interest categories (group containers) for an audience, showing titles and form types.
list_interestsreadList interest options within a category, with subscriber counts per option.
list_landing_page_reportsreadList reports for all landing pages.
list_landing_pagesreadList landing pages with publication status, URLs, and associated audiences.
list_member_notesreadList CRM-style notes attached to a member by team members (not visible to the contact).
list_merge_fieldswriteList merge fields (custom data fields) defined for an audience, including tags, types, and defaults.
list_promo_codesreadList the redeemable codes attached to a promo rule (e.g.
list_promo_rulesreadList discount/promo rules configured for a store (fixed amount, percentage, free shipping).
list_segment_membersreadList individual members belonging to a specific segment or tag.
list_segmentsreadList segments and tags for an audience with member counts and types.
list_signup_formsreadGet the signup forms (header, body content, and styles) configured for an audience.
list_store_cartsreadList carts for a store, including abandoned ones, with customer and total info.
list_store_customerswriteList customers from a connected e-commerce store with order counts, total spend, and opt-in status.
list_store_order_lineswriteList the line items of a single e-commerce order.
list_store_ordersreadList orders from a connected e-commerce store with totals and fulfillment status.
list_store_product_imagesreadList the images attached to a product in an e-commerce store.
list_store_product_variantsreadList the variants of a product in a store, with pagination.
list_store_productsreadList products from a connected e-commerce store with titles, URLs, and variant counts.
list_survey_reportsreadList reports for all surveys.
list_surveysreadList all surveys for an audience with their status and public URL.
list_template_foldersreadList folders used to organize templates.
list_templatesreadList email templates in the account (user-created and Mailchimp gallery templates).
list_verified_domainsreadList all sending domains verified for use with this Mailchimp account.
list_webhooksreadList webhooks configured for an audience, showing callback URLs, events, and source filters.
pause_automationreadPause an automation workflow, stopping delivery while preserving the queue.
pause_automation_emailreadPause a specific email in a classic automation workflow.
pause_rss_campaignreadPause an active RSS-driven campaign so it stops sending scheduled editions.
pingreadCheck API connectivity and verify the API key is valid.
publish_landing_pagewritePublish a landing page, making it live at its public URL.
publish_surveywritePublish a survey, making it live at its public URL.
remove_automation_subscriberdestructiveRemove a subscriber from a classic automation workflow.
remove_members_from_segmentdestructiveRemove members from a static segment or tag. Members remain in the audience.
replicate_campaignreadClone an existing campaign into a new draft with identical settings, recipients, and content.
resend_to_non_openerswriteCreate a new draft campaign targeting only recipients who did not open the original.
resume_rss_campaignreadResume a paused RSS-driven campaign so it continues sending scheduled editions.
schedule_campaignwriteSchedule a campaign draft for sending at a specific future time.
search_automation_campaignsreadList campaigns originated by an automation or a Customer Journey (campaign type=
search_campaignsreadSearch campaigns by keyword across titles, subject lines, and list names.
search_membersreadSearch for members across all audiences by email address or name, returning both exact and fuzzy matches.
send_campaignwriteSend a campaign immediately to all targeted recipients. Emails begin delivering within minutes.
send_test_emailwriteSend a test/preview email to specific addresses without affecting the real audience.
set_campaign_contentwriteSet the full HTML body of a campaign draft, replacing any existing content entirely.
start_automationwriteStart or resume all emails in an automation workflow, activating delivery to queued subscribers.
start_automation_emailwriteStart a specific email in a classic automation workflow.
tag_memberdestructiveAdd or remove tags from a single member. Does not modify profile data or subscription status.
trigger_customer_journeywriteTrigger a contact into a specific step of a Customer Journey workflow.
unpublish_landing_pagereadTake a published landing page offline. The public URL stops serving the page.
unpublish_surveyreadUnpublish a survey that is currently live, taking it offline.
unschedule_campaignwriteCancel a scheduled campaign send, returning it to draft (
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (5)

MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
delete_audience, delete_batch_webhook, delete_campaign, delete_campaign_feedback, delete_campaign_folder, delete_connected_site, delete_file, delete_interest, delete_interest_category, delete_landing_
Why it matters. 32 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/mailchimp_mcp_server/server.py:249
return hashlib.md5(email_address.strip().lower().encode()).hexdigest()
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/test_reliability.py:153
result = server.mc_request("/lists/../../pool/members")
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
SECURITY.md:53
If you find a way this server could leak or mishandle credentials, please report it
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
SECURITY.md:45
This server requires a Mailchimp API key, which grants full access to a Mailchimp

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha c848116fa0f0full audit observations/trust-audit/mcp-server/damientilman__mailchimp-3.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-10c848116fa0f0SAFEB89first audit
06

Questions

What is the Mailchimp MCP server?

The most complete Mailchimp Marketing API MCP server: 227 tools across campaigns, audiences, reports, segments, automations and full e-commerce, with multi-account support and runtime-security guardrails (read-only, dry-run, audit, per-tool risk metadata).

What tools does Mailchimp expose?

200 in total: 116 read-only, 79 that write, and 32 that can delete or overwrite (delete_audience, delete_batch_webhook, delete_campaign, delete_campaign_feedback, delete_campaign_folder). Every one is listed on this page with its risk.

Is Mailchimp safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 32 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Mailchimp need?

It reads MAILCHIMP_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (c848116fa0f0), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement