mailchimp-mcp-server

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Gecti
  • Code scan — Scanned 4 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This tool is a Model Context Protocol (MCP) server that acts as a bridge between an AI assistant like Claude and the Mailchimp Marketing API. It provides 53 distinct functions allowing the AI to read your marketing reports, manage audiences, create campaigns, and modify contacts directly.

Security Assessment
Overall Risk: Medium. This server acts strictly as an API client, making outbound network requests to Mailchimp using the official API. It does not execute local shell commands, and a light code scan found no hardcoded secrets or dangerous local exploits. However, it accesses highly sensitive customer data (email lists, PII) and has extensive write capabilities. When connected to an AI, a hallucinated or malicious prompt could result in the AI deleting audiences, sending unfinished campaigns, or modifying subscriber tags. The tool offers environment variables (`MAILCHIMP_READ_ONLY` and `MAILCHIMP_DRY_RUN`) to restrict these actions, which should absolutely be enabled unless writing is strictly necessary.

Quality Assessment
The code is relatively new and has very low community visibility, currently sitting at only 5 GitHub stars. While this means it hasn't been extensively peer-reviewed, the project passes basic health checks: it uses the standard MIT license, is actively maintained (with recent pushes), and its description and documentation are clear and thorough.

Verdict
Use with caution. While the underlying code is safe, granting a Large Language Model unrestricted write access to your email marketing platform carries inherent operational risks.
SUMMARY

Full Mailchimp control from Claude - 53 tools for audiences, campaigns, automations and more.

README.md

Mailchimp MCP Server

License: MIT
Python 3.10+
MCP

A Model Context Protocol (MCP) server for the Mailchimp Marketing API. 53 tools to query and manage your Mailchimp account directly from Claude.

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.

Mailchimp MCP server

Features

Read

  • Campaigns - List, search, and inspect campaign details
  • Reports - Open/click rates, bounces, per-link clicks, domain performance, unsubscribe details
  • Email activity - Per-recipient open/click tracking, member activity history
  • Audiences - Browse audiences, members, segments, tags, and growth history
  • Automations - List workflows, inspect emails in a workflow, view queues
  • Templates - Browse available email templates
  • Landing pages - List and inspect landing pages
  • E-commerce - Stores, orders, products, customers (requires e-commerce integration)
  • Campaign folders - Browse folder organization
  • Batch operations - Monitor bulk operation status

Write

  • Members - Add, update, unsubscribe, delete, and tag contacts
  • Campaigns - Create drafts, set HTML content, schedule, unschedule, duplicate, delete
  • Segments/Tags - Create, delete, add/remove members
  • Automations - Pause and start automation workflows
  • Batch - Run bulk API operations in a single request

Prerequisites

Installation

Using uvx (recommended)

No installation needed — run directly:

uvx mailchimp-mcp

Using pip

pip install mailchimp-mcp

Then run:

mailchimp-mcp

From source

git clone https://github.com/damientilman/mailchimp-mcp-server.git
cd mailchimp-mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e .

Configuration

Variable Required Description
MAILCHIMP_API_KEY Yes Your Mailchimp API key (format: <key>-<dc>, e.g. abc123-us8)
MAILCHIMP_READ_ONLY No Set to true to disable all write operations (default: false)
MAILCHIMP_DRY_RUN No Set to true to preview write operations without executing them (default: false)

The datacenter (us8, us21, etc.) is automatically extracted from the key.

Safety modes

Read-only mode — When MAILCHIMP_READ_ONLY=true, all write tools (create, update, delete, schedule, etc.) are blocked and return an error. Read tools work normally. This is the recommended default for shared or exploratory setups where you only need reporting and analytics.

Dry-run mode — When MAILCHIMP_DRY_RUN=true, write tools return a preview of the action they would perform (tool name, target resource, parameters) without making any API call. Useful for testing prompts before going live.

Claude Desktop

Add this to your claude_desktop_config.json:

Windows (Microsoft Store): If Claude Desktop was installed via the Microsoft Store, the config file is located at C:\Users\<user>\AppData\Local\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json instead of the usual %APPDATA%\Claude\ path.

Using uvx (recommended)
{
  "mcpServers": {
    "mailchimp": {
      "command": "uvx",
      "args": ["mailchimp-mcp"],
      "env": {
        "MAILCHIMP_API_KEY": "your-api-key-here"
      }
    }
  }
}
Using pip install
{
  "mcpServers": {
    "mailchimp": {
      "command": "mailchimp-mcp",
      "env": {
        "MAILCHIMP_API_KEY": "your-api-key-here"
      }
    }
  }
}
Read-only mode (recommended for exploration)
{
  "mcpServers": {
    "mailchimp": {
      "command": "uvx",
      "args": ["mailchimp-mcp"],
      "env": {
        "MAILCHIMP_API_KEY": "your-api-key-here",
        "MAILCHIMP_READ_ONLY": "true"
      }
    }
  }
}

Claude Code

claude mcp add mailchimp \
  -s user \
  -e MAILCHIMP_API_KEY=your-api-key-here \
  -- uvx mailchimp-mcp

For read-only mode:

claude mcp add mailchimp \
  -s user \
  -e MAILCHIMP_API_KEY=your-api-key-here \
  -e MAILCHIMP_READ_ONLY=true \
  -- uvx mailchimp-mcp

Available Tools

Account

Tool Description
get_account_info Get account name, email, and subscriber count

Campaigns (read)

Tool Description
list_campaigns List campaigns with optional filters (status, date)
get_campaign_details Get full details of a specific campaign
list_campaign_folders List campaign folders

Campaign Reports

Tool Description
get_campaign_report Get performance metrics (opens, clicks, bounces)
get_campaign_click_details Get per-link click data for a campaign
get_email_activity Per-recipient activity (opens, clicks, bounces)
get_open_details Who opened, when, how many times
get_campaign_recipients List of recipients with delivery status
get_campaign_unsubscribes Who unsubscribed after a campaign
get_domain_performance Performance by email domain (gmail, outlook, etc.)
get_ecommerce_product_activity Revenue per product for a campaign
get_campaign_sub_reports Sub-reports (A/B tests, RSS, etc.)

Campaigns (write)

Tool Description
create_campaign Create a new campaign draft
update_campaign Update subject line, title, preview text, etc.
set_campaign_content Set the HTML content of a campaign draft
schedule_campaign Schedule a campaign for a specific date/time
unschedule_campaign Unschedule a campaign (back to draft)
replicate_campaign Duplicate an existing campaign
delete_campaign Delete an unsent campaign

Audiences (read)

Tool Description
list_audiences List all audiences with stats
get_audience_details Get detailed info for a specific audience
list_audience_members List members with optional status filter
search_members Search members by email or name
get_audience_growth_history Monthly growth data (subscribes, unsubscribes)
list_segments List segments and tags for an audience

Members (read)

Tool Description
get_member_activity Activity history of a specific contact
get_member_tags All tags assigned to a contact
get_member_events Custom events for a contact

Members (write)

Tool Description
add_member Add a new contact to an audience
update_member Update a contact's name or status
unsubscribe_member Unsubscribe a contact
delete_member Permanently delete a contact
tag_member Add or remove tags from a contact

Segments & Tags (write)

Tool Description
create_segment Create a new segment or tag
delete_segment Delete a segment or tag
add_members_to_segment Add contacts to a segment/tag
remove_members_from_segment Remove contacts from a segment/tag

Automations

Tool Description
list_automations List automated email workflows
get_automation_emails List emails in a workflow
get_automation_email_queue View the send queue for an automation email
pause_automation Pause all emails in a workflow
start_automation Start/resume all emails in a workflow

Templates

Tool Description
list_templates List available email templates

Landing Pages

Tool Description
list_landing_pages List all landing pages
get_landing_page Get details of a landing page

E-commerce

Tool Description
list_ecommerce_stores List connected e-commerce stores
list_store_orders List orders from a store
list_store_products List products from a store
list_store_customers List customers from a store

Batch Operations

Tool Description
create_batch Run multiple API operations in bulk
get_batch_status Check status of a batch operation
list_batches List recent batch operations

Example Prompts

Once connected, you can ask Claude things like:

  • "Show me all my sent campaigns from the last 3 months"
  • "What was the open rate and click rate for my last newsletter?"
  • "How many subscribers did I gain this year?"
  • "Which links got the most clicks in campaign X?"
  • "Search for subscriber [email protected]"
  • "Add tag 'VIP' to all members who opened my last campaign"
  • "Create a draft campaign for my main audience with subject 'March Update'"
  • "Unsubscribe [email protected] from my list"
  • "Show me the domain performance breakdown for my last campaign"
  • "Pause my welcome automation"
  • "List all orders from my Shopify store this month"

Author

Built by Damien Tilman[email protected]

License

MIT — see LICENSE for details.

Yorumlar (0)

Sonuc bulunamadi