Draft, test, and send Mailchimp campaigns straight from your MCP client — with audience management, subscriber CRUD, and post-send analytics behind safe-by-default send gates. STDIO or Streamable HTTP.
The Mailchimp MCP server demonstrates solid definition quality with well-structured tool schemas, comprehensive parameter descriptions, and clear naming conventions. All 5 tools have proper JSON Schema definitions with typed inputs, enum constraints, and descriptive text. Tool names follow the verb_noun pattern (mailchimp_account, mailchimp_audiences, etc.) and descriptions range from 150-300+ characters, well within the 10-1024 baseline. However, output schemas are not explicitly documented in the source, they appear to be implicit in the implementation rather than formally specified for LLM consumption. Error handling guidance is minimal; most tools lack recovery hints or error classification. Parameter descriptions are comprehensive for inputs but the server would benefit from explicit output schema documentation and more detailed error scenarios.
Read-only view of the Mailchimp account. Use `operation: info` for profile, plan, data center, and total subscribers. Use `operation: activity-feed` for the Chimp Chatter stream (recent subscribes, unsubscribes, campaign sends across the whole account).
Inspect and pre-warm the local-assets pipeline. Available only when `MAILCHIMP_ASSETS_DIR` is set on the server. Use `list` to see what's available, `info` to get a single file's hash + cache status, `sync` to upload everything ahead of a send (so the actual send is fast), and `clear-cache` to invalidate the local cache. Most workflows don't need this — auto-upload happens automatically when `@assets/<path>` references appear in campaign HTML via `mailchimp_send_campaign` or `mailchimp_campaigns set-content`.
One-call health digest for an audience: info, stats, N months of growth history, top email clients, and the full merge-field schema. Use this at the start of any session that will work with subscribers, segments, or campaigns — it answers 'what does this audience look like?' in a single request.
Audience CRUD (no delete), analytics, signup-form config. Deliberately excludes delete: on the 1-audience free plan losing an audience is catastrophic and humans should do it in the UI.
Output schemas not explicitly documented. Tool descriptions explain what they do, but formal response schemas (field names, types, structure) are not visible in the source code provided. LLMs cannot plan downstream tool calls without knowing the output structure.
mailchimp_audiences has complex nested parameters (contact object, campaignDefaults object) with insufficient inline documentation. The 'contact' parameter lists required fields only for 'create' but descriptions do not clarify if they are required as nested keys or how to structure the JSON object.
No error handling or recovery guidance. Tool descriptions lack context on what errors might occur and how to recover (e.g., 'If operation fails due to invalid audience ID, use mailchimp_audiences with operation: list to discover valid IDs'). This forces LLMs to guess at recovery strategies.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2025-06-18+ | v2 |
Post-send analytics digest for a campaign. One call returns headline delivery metrics (sent/bounce/abuse), engagement (opens, clicks, unsubscribes), top clicked links, top locations, recent unsubscribes, and industry benchmarks when available. For individual dimensions in detail, use the `mailchimp_reports` primitive tool with `operation: 'slice'`.
mailchimp_assets accepts 'relPath' parameter with path-traversal rejection noted in description but no formal validation schema (regex pattern or explicit constraint format). The note '(..) is rejected' is informal and LLMs may not reliably parse it as a hard constraint.
mailchimp_audiences combines multiple operations (list, get, create, update, analytics, signup forms) into a single tool with 11 possible operations. While the enum is clear, this violates the single-responsibility principle and could be decomposed into focused tools (e.g., get_audience, create_audience, list_audience_analytics).