mailchimp-mcp-server
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
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.
Full Mailchimp control from Claude - 53 tools for audiences, campaigns, automations and more.
Mailchimp MCP Server
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.
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
- Python 3.10+
- A Mailchimp API key
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:
Using uvx (recommended)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.jsoninstead of the usual%APPDATA%\Claude\path.
{
"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)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi