6.9 KiB
Mailchimp MCP Server
Complete Model Context Protocol (MCP) server for Mailchimp Marketing API v3.0 with 104+ tools and 15+ React UI apps.
🚀 Features
104+ MCP Tools
Comprehensive coverage of the Mailchimp Marketing API v3.0:
- Campaigns (15 tools): Create, manage, send, schedule, and test email campaigns
- Lists/Audiences (14 tools): Manage lists, segments, interest categories, and growth analytics
- Members (12 tools): Add, update, tag, and track list subscribers
- Ecommerce (28 tools): Manage stores, products, orders, carts, customers, and promo codes
- Automations (10 tools): Manage automation workflows and emails
- Reports (8 tools): Access campaign analytics, click tracking, and performance data
- Landing Pages (8 tools): Create and manage landing pages
- Templates (6 tools): Manage email templates
- Search (2 tools): Search campaigns and members
- Tags (1 tool): Search and manage tags
15+ React UI Apps
Beautiful, dark-themed React applications for visual interaction:
- Campaign Dashboard - View and manage all campaigns
- Audience Manager - Comprehensive audience/list management
- Subscriber Grid - Searchable subscriber table
- Segment Builder - Create and manage segments
- Template Gallery - Browse and use email templates
- Automation Flow - Manage automation workflows
- Campaign Analytics - Detailed campaign performance metrics
- A/B Test Results - Compare A/B test outcomes
- Email Preview - Preview campaign emails
- Tag Manager - Organize and apply tags
- Landing Page Builder - Create landing pages
- Content Manager - Manage email content
- Growth Chart - Visualize audience growth over time
- Send Time Optimizer - Find optimal send times
- List Health Monitor - Track list health metrics
- Ecommerce Dashboard - Manage stores and products
- Promo Code Manager - Create and track promo codes
📦 Installation
npm install
npm run build
🔧 Configuration
Set your Mailchimp API key as an environment variable:
export MAILCHIMP_API_KEY="your-api-key-us19"
Your API key format: xxxxxxxxxxxxxxxxxxxxx-datacenter (e.g., abc123-us19)
You can obtain your API key from: Mailchimp Account → Extras → API Keys
🎯 Usage
As MCP Server
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mailchimp": {
"command": "node",
"args": ["/path/to/servers/mailchimp/dist/index.js"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-us19"
}
}
}
}
Standalone
npm start
📚 API Coverage
Campaign Management
- Create campaigns (regular, A/B split, RSS, variate)
- Set HTML/template content
- Send, schedule, pause, resume campaigns
- Send test emails
- Replicate campaigns
- Get send checklist
Audience/List Management
- Create and manage audiences
- Add/update/remove members (batch operations supported)
- Create segments (static, saved, fuzzy)
- Manage interest categories and groups
- Track growth history
Member Management
- Add/update members with merge fields
- Tag management (add/remove tags)
- Track member activity and goals
- Bulk subscribe operations
- VIP member designation
Automation Workflows
- List all automations
- Pause/start workflows
- Manage automation emails
- Queue management
Analytics & Reports
- Campaign performance reports
- Click-through tracking
- Open rate details
- Domain performance analysis
- A/B test results
- Email activity per subscriber
E-commerce
- Store management
- Product catalog (variants, SKUs, inventory)
- Order tracking
- Cart abandonment
- Customer management
- Promo rules and codes
Templates & Landing Pages
- Template gallery
- Create custom templates
- Landing page builder
- Publish/unpublish pages
🎨 React Apps
All apps use a consistent dark theme with Tailwind CSS:
- Background:
bg-gray-900 - Cards:
bg-gray-800withborder-gray-700 - Accents: Blue (
blue-400,blue-600) and Green (green-400,green-600) - Typography: White text with gray variants for hierarchy
Running Individual Apps
cd src/ui/react-app/campaign-dashboard
npm install
npm run dev
🔐 Authentication
The server uses HTTP Basic authentication with Mailchimp's API:
- Username:
anystring(Mailchimp ignores this) - Password: Your API key
⚡ Rate Limiting
Mailchimp enforces rate limits (typically 10 requests/second). The client automatically:
- Tracks rate limit headers
- Waits when limit is reached
- Resumes after reset time
📖 Tool Examples
Create a Campaign
{
"type": "regular",
"recipients": {
"list_id": "abc123"
},
"settings": {
"subject_line": "Welcome to our newsletter!",
"from_name": "Your Company",
"reply_to": "hello@yourcompany.com",
"title": "Welcome Campaign"
}
}
Add a Subscriber
{
"list_id": "abc123",
"email_address": "subscriber@example.com",
"status": "subscribed",
"merge_fields": {
"FNAME": "John",
"LNAME": "Doe"
}
}
Get Campaign Report
{
"campaign_id": "abc123"
}
🧪 Testing
npm run typecheck # TypeScript type checking
npm test # Run tests (if configured)
🏗️ Architecture
mailchimp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── clients/
│ │ └── mailchimp.ts # Mailchimp API client
│ ├── tools/
│ │ ├── campaigns-tools.ts
│ │ ├── lists-tools.ts
│ │ ├── members-tools.ts
│ │ ├── automations-tools.ts
│ │ ├── templates-tools.ts
│ │ ├── reports-tools.ts
│ │ ├── landing-pages-tools.ts
│ │ ├── ecommerce-tools.ts
│ │ ├── tags-tools.ts
│ │ └── search-tools.ts
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ └── ui/
│ └── react-app/ # 15+ React applications
│ ├── campaign-dashboard/
│ ├── audience-manager/
│ ├── subscriber-grid/
│ └── ... (12+ more apps)
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
📄 License
MIT
🤝 Contributing
Contributions welcome! Please read our contributing guidelines and submit PRs.
📞 Support
- Mailchimp API Documentation
- MCP Documentation
- Issues: GitHub Issues
🔗 Related
Built with ❤️ for the MCP community