MewCP LogoAStheTech
MCPsBlogsPricingDocsLogin
MewCP Logo

Infrastructure You Can Trust for Agentic Products

X

Categories

  • Productivity & Docs
  • Developer Tools
  • CRM & Sales
  • Finance & Commerce
  • Data & Analytics
  • Marketing & SEO
  • Search & Web
  • Communication
  • View All Servers →

Resources

  • Blog
  • Docs
  • Privacy Policy
  • Terms of Service

Blogs

  • View All Blogs →
Browse Servers|Pricing|Contact

Browse by Category

Productivity & Docs

  • Gmail
  • Google Drive
  • YouTube
  • Google Calendar
  • Google People
  • Google Classroom
  • Notion
  • ClickUp
  • Figma

Developer Tools

  • Gemini
  • Veo
  • ClickUp
  • Firecrawl
  • Vercel
  • Apify
  • Github
  • Chef
  • Scientific Calculator
  • Figma
  • HTTP
  • Perplexity

CRM & Sales

  • Google People

Finance & Commerce

  • Kite
  • Razorpay
  • Polymarket
  • Stripe
  • Binance

Marketing & SEO

  • YouTube
  • Google Business
  • Mailchimp

Search & Web

  • Web Scrapper
  • Firecrawl
  • Apify
  • Perplexity

Communication

  • Gmail
  • Google Meet
  • Google Calendar
  • Mailchimp
  • WhatsApp
  • Slack

© 2026 MewCP. All rights reserved.

Mailchimp

Mailchimp

v1.0.02 callsOAuthGitHub
Open in ChatGPTChatGPT
Open in ClaudeClaude

Documentation

Guide

Connect

Gateway URL

https://gateway.mewcp.com/mailchimp/mcp

Integrations

Click a client to view its config snippet and setup steps. Use for a guided setup with your MewCP key pre-filled.

Help Improve This Server

Missing a tool?

Found a bug?

Have an idea for an improvement?

Share your feedback directly with the maintainers - every feedback helps make this server better for everyone.

Open GitHub Issues →

Your Mailchimp account, fully accessible through AI.

A Model Context Protocol (MCP) server that exposes Mailchimp's Marketing API for managing campaigns, automations, audiences, templates, landing pages, and e-commerce data.

Overview

The Mailchimp MCP Server provides a complete interface to your Mailchimp account:

  • Manage classic automations, workflows, and subscriber queues
  • Create, update, and retrieve campaigns, templates, and landing pages
  • Access e-commerce stores, products, and orders with full reporting

Perfect for:

  • AI assistants that need to read or manage Mailchimp marketing data
  • Automating campaign analysis and performance reporting
  • Building tools that integrate Mailchimp with other services

Tools

Pings the Mailchimp API to verify credentials and connectivity are working correctly.

Inputs:

none

output:

{
  "health_status": "Everything's Chimpy!"
}

Returns a paginated summary of all classic automations in the account, with optional filtering by status or date range.

Inputs:

- `count` (int, optional) — Number of records to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)
- `fields` (string, optional) — Comma-separated list of fields to return
- `exclude_fields` (string, optional) — Comma-separated list of fields to exclude
- `before_create_time` (string, optional) — ISO 8601 datetime; restrict to automations created before this time
- `since_create_time` (string, optional) — ISO 8601 datetime; restrict to automations created after this time
- `before_start_time` (string, optional) — ISO 8601 datetime; restrict to automations started before this time
- `since_start_time` (string, optional) — ISO 8601 datetime; restrict to automations started after this time

Returns full details of a single automation workflow including settings, tracking, and status.

Inputs:

- `workflow_id` (string, required) — The unique ID of the automation workflow
- `fields` (string, optional) — Comma-separated list of fields to return
- `exclude_fields` (string, optional) — Comma-separated list of fields to exclude

output:

{
  "id": "b0a1c24f6b",
  "status": "sending",
  "emails_sent": 120,

Returns a summary of all emails configured within a specific classic automation workflow.

Inputs:

- `workflow_id` (string, required) — The unique ID of the automation workflow

output:

{
  "emails": [...],
  "total_items": 3
}

Returns detailed information about one email step within an automation workflow, including delay settings, content, tracking, and performance metrics.

Inputs:

- `workflow_id` (string, required) — The unique ID of the automation workflow
- `workflow_email_id` (string, required) — The unique ID of the automation workflow email

output:

{
  "id": "a1b2c3d4e5",
  "subject_line": "Welcome!",
  "status": "sending",
  "open_rate"

Returns the list of subscribers currently queued to receive a specific automation email.

Inputs:

- `workflow_id` (string, required) — The unique ID of the automation workflow
- `workflow_email_id` (string, required) — The unique ID of the automation workflow email

output:

{
  "queue": [...],
  "total_items": 15
}

Returns details about a specific subscriber's position in an automation email queue.

Inputs:

- `workflow_id` (string, required) — The unique ID of the automation workflow
- `workflow_email_id` (string, required) — The unique ID of the automation workflow email
- `subscriber_hash` (string, required) — MD5 hash of the lowercase subscriber email address

output:

{
  "id": "subscriber_hash",
  "email_address": "user@example.com",

Returns information about all lists (audiences) in the Mailchimp account.

Inputs:

none

output:

{
  "lists": [...],
  "total_items": 3
}

Returns full details about a specific Mailchimp list including stats, settings, and contact defaults.

Inputs:

- `list_id` (string, required) — The unique ID for the list

output:

{
  "id": "a1b2c3d4e5",
  "name": "My Audience",
  "stats": { "member_count": 1200, ... },
  ...

Returns all campaigns in the Mailchimp account.

Inputs:

none

output:

{
  "campaigns": [...],
  "total_items": 10
}

Returns full details about a specific campaign including settings, content, and status.

Inputs:

- `campaign_id` (string, required) — The unique ID for the campaign

output:

{
  "id": "campaign_id",
  "status": "sent",
  "subject_line": "Newsletter #42",
  ...
}

Returns all folders used to organize templates in the account.

Inputs:

- `count` (int, optional) — Number of folders to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)

output:

{
  "folders": [...],
  "total_items": 4
}

Creates a new folder for organizing templates in the account.

Inputs:

- `name` (string, required) — The name of the folder

output:

{
  "id": "folder_id",
  "name": "My Folder",
  "count": 0
}

Returns all templates in the account with optional filtering by type or content type.

Inputs:

- `count` (int, optional) — Number of templates to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)
- `type` (string, optional) — Filter by type: `user`, `base`, or `gallery`
- `content_type` (string, optional) — Filter by content type: `html`, `template`, or `multichannel`

output:

{
  "templates": [...

Returns full details about a specific template including its name, type, and folder.

Inputs:

- `template_id` (string, required) — The unique ID for the template

output:

{
  "id": "template_id",
  "name": "My Template",
  "type": "user",
  ...
}

Creates a new Classic template with custom HTML. Supports Mailchimp Template Language for dynamic content.

Inputs:

- `name` (string, required) — The name of the template
- `html` (string, required) — Raw HTML for the template; supports Mailchimp Template Language
- `folder_id` (string, optional) — The ID of the folder to place the template in

output:

{
  "id": "template_id",
  "name": "My Template",
  "type": "user"
}

Updates the name, HTML content, or folder of an existing template.

Inputs:

- `template_id` (string, required) — The unique ID for the template
- `name` (string, required) — The updated name of the template
- `html` (string, required) — Updated raw HTML; supports Mailchimp Template Language
- `folder_id` (string, optional) — The ID of the folder to move the template to

output:

{
  "id": "template_id",
  "name": "Updated Template",
  "type"

Returns performance reports for all campaigns with optional filtering by campaign type.

Inputs:

- `count` (int, optional) — Number of reports to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)
- `type` (string, optional) — Filter by campaign type: `regular`, `plaintext`, `absplit`, `rss`, or `variate`

output:

{
  "reports": [...],
  "total_items"

Returns the detailed performance report for a specific sent campaign including opens, clicks, and unsubscribes.

Inputs:

- `campaign_id` (string, required) — The unique ID for the campaign

output:

{
  "id": "campaign_id",
  "opens": { "opens_total": 450, "unique_opens": 300 },
  "clicks": { "clicks_total": 120

Returns all landing pages in the account with optional sorting.

Inputs:

- `count` (int, optional) — Number of landing pages to return (default: 10, max: 1000)
- `sort_field` (string, optional) — Sort by: `created_at` or `updated_at`
- `sort_dir` (string, optional) — Sort direction: `ASC` or `DESC`

output:

{
  "landing_pages": [...],
  "total_items": 2
}

Returns full information about a specific landing page including its status, URL, and settings.

Inputs:

- `page_id` (string, required) — The unique ID for the landing page

output:

{
  "id": "page_id",
  "name": "Spring Sale",
  "status": "published",
  "url": "https://mailchimp.com/landing/...",
  ...

Returns the raw HTML content of a specific landing page.

Inputs:

- `page_id` (string, required) — The unique ID for the landing page

output:

{
  "html": "<!DOCTYPE html>..."
}

Returns all connected e-commerce stores in the Mailchimp account.

Inputs:

- `count` (int, optional) — Number of stores to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)

output:

{
  "stores": [...],
  "total_items": 1
}

Returns full details about a specific connected e-commerce store.

Inputs:

- `store_id` (string, required) — The unique ID for the store

output:

{
  "id": "store_id",
  "name": "My Shop",
  "domain": "myshop.com",
  ...
}

Returns all products in a specific connected e-commerce store.

Inputs:

- `store_id` (string, required) — The unique ID for the store
- `count` (int, optional) — Number of products to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)

output:

{
  "products": [...],
  "total_items": 25

Returns full details about a specific product in an e-commerce store.

Inputs:

- `store_id` (string, required) — The unique ID for the store
- `product_id` (string, required) — The unique ID for the product

output:

{
  "id": "product_id",
  "title": "Blue T-Shirt",
  "variants": [...],
  ...
}

Returns all orders in a specific e-commerce store with optional filtering by customer or campaign.

Inputs:

- `store_id` (string, required) — The unique ID for the store
- `count` (int, optional) — Number of orders to return (default: 10, max: 1000)
- `offset` (int, optional) — Number of records to skip for pagination (default: 0)
- `customer_id` (string, optional) — Filter orders by a specific customer ID
- `campaign_id` (string, optional) — Filter orders attributed to a specific campaign ID

output:

{


Returns full details about a specific order in an e-commerce store including line items and customer info.

Inputs:

- `store_id` (string, required) — The unique ID for the store
- `order_id` (string, required) — The unique ID for the order

output:

{
  "id": "order_id",
  "customer": { "email_address": "buyer@example.com" },
  "order_total": 59.99,
  "lines": [

API Parameters Reference

  • count — Number of records to return per request (default: 10, max: 1000)
  • offset — Number of records to skip; use with count to page through results
  • fields — Comma-separated list of response fields to include (reduces payload size)
  • exclude_fields — Comma-separated list of response fields to omit

Example:

fields: "id,status,subject_line"
exclude_fields: "_links"

All datetime parameters use ISO 8601 format:

format: YYYY-MM-DDTHH:MM:SS+HH:MM
Example: 2024-01-15T10:30:00+00:00

The subscriber_hash parameter is the MD5 hash of the subscriber's lowercase email address.

input: user@example.com → lowercase → user@example.com
Hash: md5("user@example.com") → b58996c504c5638798eb6b511e6f49af

Troubleshooting

  • Cause: Credentials not provided in request headers or incorrect format
  • Solution:
    1. Verify Authorization: Bearer YOUR_TOKEN and X-Mewcp-Credential-Id: CREDENTIAL-ID headers are present
    2. Check that your Mailchimp OAuth credential is active in your MewCP account
  • Cause: API calls have exceeded your request limits
  • Solution:
    1. Check credit usage in your Curious Layer dashboard
    2. Upgrade to a paid plan or add credits for higher limits
    3. Contact support for credit adjustments
  • Cause: No Mailchimp credential linked to your account
  • Solution:
    1. Go to Credentials in your MewCP dashboard
    2. Connect your Mailchimp account via OAuth
    3. Retry the request with the correct X-Mewcp-Credential-Id header
  • Cause: JSON payload is invalid or missing required fields
  • Solution:
    1. Validate JSON syntax before sending
    2. Ensure all required tool parameters are included
    3. Check parameter types match expected values (e.g. count must be an integer)
  • Cause: Incorrect server name in the API endpoint
  • Solution:
    1. Verify endpoint format: {server-name}/mcp/{tool-name}
    2. Use correct server name from documentation
    3. Check available servers in your Curious Layer account
  • Cause: Upstream Mailchimp API returned an error
  • Solution:
    1. Check Mailchimp service status at Mailchimp Status Page
    2. Verify your OAuth credential has the required permissions for the requested resource
    3. Review the error message returned in the response for specific details

Resources

  • Mailchimp Marketing API Documentation — Official API reference
  • Mailchimp API Reference — Complete endpoint reference
  • FastMCP Docs — FastMCP specification
  • FastMCP Credentials — FastMCP Credentials package for credential handling
- `status` (string, optional) — Filter by status: `save`, `paused`, or `sending`

output:

{
  "automations": [...],
  "total_items": 5
}
...
}
:
0.42
,
...
}
"next_send"
:
"2024-01-15T10:00:00+00:00"
}
}
],
"total_items": 8
}
:
"user"
}
:
6
}
,
"unique_clicks"
:
95
},
...
}
}
}
"orders": [...],
"total_items": 42
}
...
],
...
}