Mailchimp MCP Server
Provides read-only access to the Mailchimp Marketing API v3, with tools for retrieving audiences, members, campaigns, reports, automations, templates, landing pages, e-commerce data, and account information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mailchimp MCP ServerShow me the click rate for my latest campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mailchimp MCP Server
A Model Context Protocol (MCP) server exposing read-only access to the Mailchimp Marketing API v3 through 18 tools covering 103 endpoints — audiences, members, campaigns, reports, automations, templates, landing pages, e-commerce, and account administration.
Tools are grouped by domain and dispatch on an action parameter, so the full API surface stays reachable while the tool count stays low enough for hosts that cap actions per agent (Microsoft Copilot Studio among them).
Every tool issues a GET. The server has no code path that can create, modify, or delete anything in your Mailchimp account, or send email.
Usage
{
"mcpServers": {
"mailchimp": {
"command": "npx",
"args": ["@agentx-ai/mailchimp-mcp-server"],
"env": {
"MAILCHIMP_API_KEY": "your-api-key-here"
}
}
}
}Related MCP server: Mailchimp MCP Server
Local installation
npm install # installs deps and builds
npm run dev # build + open the MCP InspectorOther scripts: npm run build (compile), npm start (raw stdio server), npm run watch (recompile on change), npm run inspector (Inspector against the existing build).
Configuration
MAILCHIMP_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-us14A .env file in the project root is read automatically. The key must keep its data-center suffix (-us1, -us14, …) — it determines the API hostname. The server refuses to start without a valid suffix rather than failing later with an opaque DNS error.
Transports
Both transports serve the identical tool surface from one server definition (src/server.ts), so they cannot drift apart.
stdio (default) — for Claude Desktop, Cursor, the MCP Inspector, and any local client:
npm startStreamable HTTP — for network-based hosts such as Microsoft Copilot Studio:
npm run start:http # or: node build/index.js --httpHTTP mode also activates automatically when PORT is set, which is how Azure App Service, Container Apps, and most PaaS hosts signal that they expect a listener.
Variable | Default | Purpose |
| — | Required. Must keep its data-center suffix. |
|
| HTTP port. Setting it enables HTTP mode. |
|
| Bind address. |
|
| Endpoint path. |
| — | When set, |
|
| Set to |
GET /health returns server name, version, endpoint path, and whether auth is required — use it as your platform's health probe.
Set
MCP_AUTH_TOKENbefore exposing this server publicly. The endpoint grants read access to your entire Mailchimp account, and there is no other access control in front of it. The server logs a warning at startup when the token is unset. Compare is constant-time, so the token is not vulnerable to timing analysis.
Sessions are stateless: each request gets its own server and transport instance, so the process scales horizontally with no shared session store.
Microsoft Copilot Studio
Deploy this server somewhere with a public HTTPS URL (Azure Container Apps, App Service, or any container host). Set
MAILCHIMP_API_KEYandMCP_AUTH_TOKENin its environment.Confirm
https://<your-host>/healthreturns{"status":"ok"}.In Copilot Studio, add a new tool → Model Context Protocol, pointing at
https://<your-host>/mcp.Configure authentication as a bearer token and supply the same value as
MCP_AUTH_TOKEN.All 18 tools appear as agent actions. The tool count is deliberately kept low because Copilot Studio limits actions per agent — the
actionparameter is what preserves access to all 103 endpoints.
Tool catalog
Tool | Actions | Covers |
| 11 | ping, account overview, authorized apps, verified domains, batches, connected sites, chimp chatter |
| 2 | members, campaigns |
| 12 | lists, growth history, activity, client stats, location stats, abuse reports, signup forms, webhooks, merge fields |
| 7 | segments, segment members, interest categories, interests |
| 9 | members, tags, activity, activity feed, events, notes, goals |
| 5 | campaigns, content, feedback, send checklist |
| 16 | summary, advice, opens, clicks, link clickers, unsubscribes, abuse, sent-to, domain performance, locations, eepurl, sub-reports, email activity, product activity |
| 7 | workflows, emails, queues, removed subscribers |
| 3 | templates, default content |
| 6 | File Manager files and folders, campaign folders |
| 3 | pages, content |
| 3 | conversations, messages |
| 3 | stores, account-wide orders |
| 4 | products, variants |
| 3 | orders, line items |
| 2 | customers |
| 3 | carts, line items |
| 4 | promo rules, promo codes |
Each tool's description lists its actions and what each one needs. Run npm run dev and open the Inspector's Tools tab to see the full schemas.
Conventions
Every tool follows the same shape, so the catalog above is enough to predict any call:
actionis always required and selects the data to retrieve. An invalid action returns an error listing the valid ones.List-style actions return a summary envelope —
{ total_items, returned, items: [...] }— where each item is trimmed to identifying fields. This keeps a 1000-row page from flooding the model's context, whiletotal_itemstells the caller whether more rows exist.Detail-style actions (
details,summary, single-record lookups) return the complete raw Mailchimp record, unmodified.Paging: collection tools accept
count(1–1000, default 1000) andoffset. To read an audience larger than 1000, call repeatedly withoffset0, 1000, 2000, … untilreturnedis less thancount.IDs: start at
mailchimp_audiences action=list,mailchimp_campaigns action=list, ormailchimp_stores action=list.mailchimp_search action=membersis the fastest route to asubscriber_hash.Missing arguments are rejected before any HTTP request, with a message naming exactly which ones the chosen action needs.
Development
npm run build # tsc
npm run watch # tsc --watch
npm run inspector # MCP Inspector against build/index.jsThere is no test suite in this repository.
Known gaps
Customer journeys are not readable. Mailchimp does not expose them via the Marketing API; the automation tools cover classic automations only.
Endpoint coverage is based on the documented Marketing API v3 surface and has not been exercised against a live account for all 103 actions. The transport, dispatch, and validation layers are verified; individual endpoint URLs are not.
No deployment manifests. There is no Dockerfile or IaC in this repo; hosting is left to you.
API reference
https://mailchimp.com/developer/marketing/api/
License
MIT.
Available Tools
18 toolsmailchimp_accountA
Account-level administration: plan and contact details, API health, app authorizations, verified sending domains, batch jobs, connected sites, and the account activity feed. Set action to one of: ping (verify the API key works); overview (plan, contact, total subscribers, industry benchmarks); authorized_apps (apps with access to this account); authorized_app (one app, needs app_id); verified_domains (sending domains and their verification state); verified_domain (one domain, needs domain_name); batches (batch API jobs and status); batch (one batch job, needs batch_id); connected_sites (websites connected to the account); connected_site (one site, needs site_id); chimp_chatter (recent account-wide activity feed).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| app_id | No | Authorized application ID. For action=authorized_app. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| site_id | No | Connected site foreign ID. For action=connected_site. | |
| batch_id | No | Batch operation ID. For action=batch. | |
| domain_name | No | Domain name, e.g. example.com. For action=verified_domain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains each action's purpose, including the 'ping' health-check behavior and the required IDs for sub-resource actions. It stops short of discussing rate limits or read-only guarantees, but the action-by-action breakdown is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a brief overview sentence followed by a scannable, enumerated list of actions. Each action's explanation is concise and information-dense, with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 11 distinct actions), the description is thorough, covering every action and its required parameters. It also describes return content for key actions. Pagination behavior is absent, but the schema covers the count/offset parameters, so the description is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes each parameter with 100% coverage, so the baseline is 3. The description adds further meaning by linking each ID parameter to its specific action and summarizing the expected output (e.g., 'plan, contact, total subscribers, industry benchmarks' for overview). This adds real interpretive value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as handling account-level administration, listing the specific resources it covers (plan, API health, domains, etc.). This distinguishes it from sibling tools like mailchimp_audiences or mailchimp_campaigns, which address different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening sentence establishes a clear context for when to use this tool (any account-level administrative task). It does not explicitly name alternatives or exclusion criteria, but the resource scope is unambiguous and the action enumeration provides concrete deployment guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_audience_groupsA
Segments, tags, and interest groups within one audience, including which members belong to a segment. Set action to one of: segments (all segments and tags with member counts); segment (one segment with its matching conditions, needs segment_id); segment_members (members inside a segment or tag, needs segment_id); interest_categories (group titles defined on the audience); interest_category (one category, needs category_id); interests (groups inside a category, needs category_id); interest (one group, needs category_id and interest_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| list_id | Yes | Audience/list ID, from mailchimp_audiences action=list. | |
| segment_id | No | Segment or tag ID. | |
| category_id | No | Interest category ID. | |
| interest_id | No | Interest ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It fully specifies each sub-operation and its dependencies (e.g., which IDs are needed), and indicates the type of data returned (member counts, matching conditions, group titles). It does not mention pagination/rate limits, but for a read-centric tool this is adequate. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence using semicolons to delineate actions. Every phrase contributes meaning, and the structure is logical. It is longer due to the seven actions, but remains efficient. A slightly more structured list (e.g., bullet-style) could improve scannability but is not necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 actions and no output schema or annotations, the description covers all actions, their inputs, and outputs at a high level. It omits potential error cases and exact return shapes, but given the tool's complexity and presence of a rich schema, this is comprehensive enough for an agent to select the correct action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. However, the tool description adds critical value by mapping each action to the exact parameters required, which is not evident from the schema alone (e.g., 'segment_members needs segment_id'). This goes beyond the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's focus: 'Segments, tags, and interest groups within one audience' and enumerates exact actions (segments, segment_members, interest_categories, etc.). This clearly differentiates it from sibling tools like mailchimp_audiences (lists) and mailchimp_members (members). The verb 'retrieve' is implied through 'Set action to one of'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by listing all actions and the required parameters for each (e.g., 'segment needs segment_id', 'interest needs category_id and interest_id'). However, it does not explicitly state when to use this tool over alternatives or provide exclusions, though the action list implicitly covers the decision space.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_audiencesA
Audiences (lists) and their configuration and health: growth history, daily activity, email client and geographic breakdowns, spam complaints, signup forms, webhooks, and merge fields. Set action to one of: list (all audiences with member counts — start here for a list_id); details (full audience record with complete stats); growth_history (month-by-month subscriber growth); activity (recent daily subs, unsubs, opens, clicks); client_stats (which email clients members use); location_stats (geographic distribution of members); abuse_reports (spam complaints against this audience); signup_forms (configured signup forms); webhooks (registered webhooks); webhook (one webhook, needs webhook_id); merge_fields (custom subscriber attributes defined on the audience); merge_field (one merge field, needs merge_field_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| list_id | No | Audience/list ID, from mailchimp_audiences action=list. | |
| webhook_id | No | Webhook ID. For action=webhook. | |
| merge_field_id | No | Merge field ID. For action=merge_field. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes data returned for each action, which is helpful, but does not explicitly state the tool is read-only, discuss rate limits, pagination caveats, or error conditions. The disclosed behaviors are limited to output summaries, not the full operational profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but each clause earns its place by defining one of the 12 actions. The structure is logical: first the umbrella scope, then a list of actions with inline descriptions, ending with parameter dependencies. It is not unnecessarily verbose, though it could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 actions, 6 parameters, no output schema), the description is remarkably complete. It summarizes what each action returns and flags which IDs are required. It lacks explicit error/edge-case behaviors, but for a data retrieval dispatch tool, the coverage is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The action parameter's enum is explained in detail within the description, going well beyond the schema's terse 'See the tool description.' The description also clarifies the role of list_id and webhook_id/merge_field_id in context. Other parameters are already well-described in the schema, so the added value is above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (audiences/lists) and clearly enumerates all sub-resources and actions, distinguishing it from sibling Mailchimp tools. It uses a specific verb pattern ('Get', 'retrieve' implied) and explains the purpose of each action, making its scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to start with the 'list' action to get a list_id, guiding the agent on the correct first step. It also clarifies which action needs webhook_id and merge_field_id. It does not explicitly mention when to use an alternative sibling tool, but given distinct resources, this is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_automationsA
Classic automations, their emails, and subscriber queues. Customer journeys are not exposed by the Mailchimp API. Set action to one of: list (all automations — start here for a workflow_id); details (full automation record including its report_summary); emails (emails in the automation, in send order); email (one automation email, needs email_id); queue (subscribers queued for an email, needs email_id); queue_subscriber (one queued subscriber, needs email_id and subscriber_hash); removed_subscribers (subscribers removed from the workflow).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| email_id | No | Automation email ID, from action=emails. | |
| workflow_id | No | Automation workflow ID, from action=list. | |
| subscriber_hash | No | MD5 hash of the lowercased member email (Mailchimp also accepts the plain email address). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It details what each action returns, such as 'full automation record including its report_summary' and 'emails in the automation, in send order'. It also mentions the limitation that 'Customer journeys are not exposed'. It does not explicitly state that the tool is read-only, but the action names imply it. The behavioral expectations are adequately communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but every sentence contributes useful information. It front-loads the core purpose and then enumerates actions with their purpose and parameter needs. It could be slightly more structured (e.g., bullet-style), but it is not verbose or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 actions, 6 parameters) and absence of output schema/annotations, the description covers the essential mapping of actions to their results and input dependencies. It explains the starting action (list) and what each subsequent action returns. It does not detail exact return structures or edge cases, but for a list/data-retrieval tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by tying action values to required parameters, e.g. 'queue_subscriber (one queued subscriber, needs email_id and subscriber_hash)' and 'list (all automations — start here for a workflow_id)'. This clarifies the workflow and dependency between parameters beyond the schema's individual descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's resource as 'Classic automations, their emails, and subscriber queues' and enumerates seven specific actions (list, details, emails, etc.) that define its operations. It also distinguishes itself by stating 'Customer journeys are not exposed by the Mailchimp API', which clarifies boundaries relative to other potential automation-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides action-level guidance, e.g. 'list (all automations — start here for a workflow_id)', and notes dependencies between actions (e.g. email_id from emails, workflow_id from list). It also offers a negative guideline by excluding customer journeys. However, it does not explicitly compare against sibling tools like mailchimp_campaigns, but the domain separation is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_campaignsA
Campaigns and their configuration and content. For performance data use mailchimp_reports instead. Set action to one of: list (all campaigns newest-first — start here for a campaign_id); details (full campaign record with settings and recipients); content (rendered HTML and plain-text body); feedback (internal team comments); send_checklist (what is blocking the campaign from sending).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| campaign_id | No | Campaign ID, from mailchimp_campaigns action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It clearly enumerates what each action returns, including 'list' being newest-first and 'send_checklist' indicating blockers. However, it does not explicitly state that all actions are read-only or mention any side effects, though the nature of actions implies safe retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized for a multi-action tool. It front-loads the resource and quickly moves to the key differentiator (reports) before listing actions with concise parenthetical explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has five distinct actions and no output schema, the description covers all actions and their outputs, plus provides starting guidance and a sibling pointer. It is complete enough for an agent to invoke actions correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds substantial meaning to the 'action' enum by explaining each option in context, and clarifies that campaign_id comes from the list action. This goes beyond bare schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (campaigns) and provides specific actions (list, details, content, feedback, send_checklist) with their purposes. It distinguishes from sibling tool mailchimp_reports by explicitly steering performance data queries away.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names an alternative tool for performance data ('For performance data use mailchimp_reports instead'), and instructs to start with 'list' to obtain campaign_id. This gives clear when-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_cartsA
Abandoned and active shopping carts for one store, for abandoned-cart analysis. Set action to one of: list (carts in the store); details (full cart record, needs cart_id); lines (line items in the cart, needs cart_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| cart_id | No | Cart ID, from action=list. | |
| store_id | Yes | Store ID, from mailchimp_stores action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what each action returns (carts, full cart record, line items) and that details/lines need cart_id. It does not explicitly state that the tool is read-only or describe error handling, but the action semantics are transparent enough for safe use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose, the second lists the actions with their requirements. Zero wasted words, information is front-loaded and directly actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (three actions, five parameters, no output schema), the description adequately covers the core usage and dependencies. It omits details about response formats and pagination behavior, but those are partially covered by schema descriptions, and the tool is a read-style data accessor where the listed actions are sufficient for an agent to get started.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters at 100% coverage, but the description adds critical semantics by mapping actions to required params ('needs cart_id'). This goes beyond the schema's terse parameter descriptions and clarifies the relationship between action and other fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages 'abandoned and active shopping carts for one store' with a specific analytical purpose. It enumerates three distinct actions (list, details, lines), making it easy to distinguish from sibling tools like mailchimp_orders or mailchimp_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear use case ('for abandoned-cart analysis') and explains when to use each action, including the prerequisite cart_id for details and lines. However, it does not explicitly mention when not to use this tool or contrast it with alternatives like orders or products, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_conversationsA
Inbound replies from subscribers, tracked as conversations. Set action to one of: list (all conversations); details (full conversation record); messages (all messages in the conversation).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| conversation_id | No | Conversation ID, from action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It explains the three action modes but does not disclose any potential side effects, authentication requirements, rate limits, or result handling. For a read-only tool this is a moderate gap; it lacks warnings about pagination behavior beyond what the schema already states, and says nothing about response format or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the resource type, and immediately lists the actionable modes. Every sentence is informative, and there is no filler or redundancy. It efficiently conveys the tool's core purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters, no output schema, and no annotations. The description covers the three actions and their intent, but it does not explain the structure of a 'full conversation record' or what constitutes a 'message' in the response. Given the absence of an output schema, a bit more detail about return values would make the tool more complete. Still, for a relatively simple data-retrieval tool, this is an adequate but not rich description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with descriptive text for each parameter, including defaults and relationships (e.g., conversation_id 'from action=list'). The description augments the 'action' parameter by naming the three allowed values and their meanings, but this duplicates schema enum descriptions. It does not add significant semantic detail beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('Inbound replies from subscribers, tracked as conversations') and enumerates the three distinct operations (list, details, messages) with brief explanations of each. This is a specific verb+resource combination that distinguishes it from sibling tools like mailchimp_members or mailchimp_reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys when to use this tool: when needing to retrieve inbound subscriber conversations or their details/messages. However, it does not explicitly mention when not to use it or provide alternatives among the sibling tools. There is no direct comparison or exclusion guidance, so usage context is implied but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_customersA
E-commerce customers for one store, with order counts and lifetime spend. Set action to one of: list (customers with orders_count and total_spent); details (full customer record, needs customer_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| store_id | Yes | Store ID, from mailchimp_stores action=list. | |
| customer_id | No | Customer ID, from action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses action-specific behaviors: 'list' returns customers with orders_count and total_spent, while 'details' returns a full customer record and requires customer_id. Since no annotations are provided, the description carries the transparency burden, and it adequately conveys a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, then breaks down the action variants. No redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters and no output schema, the description provides enough context to select and invoke it correctly, including action-specific outputs and prerequisites. Minor omissions like response structure or pagination are offset by thorough schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters (100% coverage), but the tool description enriches the 'action' parameter by detailing what each enum value returns and clarifies the dependency of 'customer_id' for the 'details' action, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving e-commerce customers for a specific store, with specific fields (order counts, lifetime spend). It distinguishes from sibling tools like mailchimp_members (audience) and mailchimp_products by focusing on store customers, making it unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to use: when you need customers for a store. Does not explicitly exclude alternatives or state when not to use, but the purpose is specific enough that a user can infer applicability. Lacks explicit sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_filesB
File Manager assets and folders, plus campaign folders used to organize campaigns. Set action to one of: files (files stored in the File Manager); file (one file, needs file_id); folders (File Manager folders); folder (one File Manager folder, needs folder_id); campaign_folders (folders that organize campaigns); campaign_folder (one campaign folder, needs folder_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| file_id | No | File ID. For action=file. | |
| folder_id | No | Folder ID. For action=folder or action=campaign_folder. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains what each action returns (e.g., 'files stored in the File Manager') but does not disclose whether this is read-only, any permissions needed, side effects, or response structure. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main resource concept, followed by a clear, organized list of actions and their meanings. It is slightly verbose but every sentence contributes necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations. The description covers the action mappings and required IDs but omits behavioral details such as read-only nature, pagination behavior, and response format. It is adequate for a simple retrieval tool but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The tool description adds context by explaining the action enum values and specifying which IDs are required for which actions, but the schema's parameter descriptions already include this information. The added value is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource domain: File Manager assets and folders, plus campaign folders. It distinguishes this from sibling tools by specifying the exact resource types. However, it lacks an explicit verb like 'retrieve' or 'list', making the overall purpose slightly implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by defining the scope (File Manager and campaign folders) and listing specific action options. It does not explicitly state when to prefer this tool over siblings or provide exclusions, but the resource-specific mapping offers adequate guidance for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_landing_pagesA
Landing pages and their published content. Set action to one of: list (all landing pages with status and URL); details (full landing page record); content (rendered HTML of the page).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| page_id | No | Landing page ID, from action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It specifies what each action returns (status/URL, full record, rendered HTML), making the read-only nature evident. It does not discuss rate limits, authentication, or error conditions, but for a retrieval tool this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loads the resource, and every clause provides necessary information. The action list is formatted clearly without redundancy. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main actions and their outputs, but does not explicitly state that details/content require a page_id or that list is needed first. The schema hints at this via 'from action=list,' yet the description could be more self-contained. Overall, it is mostly complete for a read-only resource tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics to the 'action' parameter by explaining what each enum value returns, which is not fully detailed in the schema. This elevates the score above baseline since the schema's action description points back to the tool description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (landing pages) and enumerates three specific actions (list, details, content) with their return types. It clearly distinguishes from sibling tools by focusing on landing pages. However, it lacks a direct verb phrase like 'Retrieve landing pages,' making the primary purpose slightly indirect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to choose among actions ('Set action to one of: list...'), which is clear within the tool. However, it does not mention when to use this tool versus alternatives like mailchimp_search or mailchimp_campaigns, nor does it exclude any use cases. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_membersA
Subscribers in one audience and everything recorded about them: profile, tags, engagement history, custom events, staff notes, and goal events. Set action to one of: list (members newest-first; page with count and offset); details (full profile: merge fields, interests, stats, location, tags); tags (tags applied to the member); activity (last 50 campaign actions); activity_feed (complete paged activity history across channels); events (custom events recorded against the member); notes (staff notes on the member); note (one note, needs note_id); goals (site-activity goal events).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| list_id | Yes | Audience/list ID, from mailchimp_audiences action=list. | |
| note_id | No | Note ID. For action=note. | |
| subscriber_hash | No | MD5 hash of the lowercased member email (Mailchimp also accepts the plain email address). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses ordering (newest-first), pagination via count/offset, activity limits (last 50), and note_id dependency. These are meaningful behavioral traits beyond the schema, though it doesn't explicitly state read-only or cover auth/rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficiently structured with semicolons to separate actions. There is no redundant filler, but the single long sentence could be slightly easier to scan if broken into bullets. Overall, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description comprehensively covers all action variants, parameter dependencies, and behavioral details like pagination and activity limits. Without an output schema, it provides enough context to select and invoke the tool correctly, leaving little ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema covers 100% of the parameters, the description adds value by explaining what each action returns (e.g., 'details' includes merge fields, interests, stats), clarifying that 'note' requires note_id, and describing pagination behavior for 'list'. This raises it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's domain—Mailchimp members and their associated data—and lists nine distinct retrieval actions, distinguishing it from sibling tools. However, the opening is a noun phrase ('Subscribers in one audience') rather than an explicit verb phrase, which slightly weakens the clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool and breaks down each action into its specific use case (list, details, tags, activity, etc.). It does not explicitly mention alternatives or exclusions, but the detailed action list effectively guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_ordersA
Orders and line items for one store, including the campaign each order is attributed to. Set action to one of: list (orders in the store with totals and attribution); details (full order record with line items, needs order_id); lines (line items only, needs order_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| order_id | No | Order ID, from action=list. | |
| store_id | Yes | Store ID, from mailchimp_stores action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It details what each action returns (list: orders with totals and attribution; details: full record with line items; lines: line items only) and notes dependencies like order_id. It does not explicitly state read-only behavior, but the action verbs imply it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and then provides a compact breakdown of actions. Every sentence is informative with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description does a good job of conveying the tool's variants and dependencies. Pagination is not mentioned, but the schema covers count/offset. It is complete enough for an agent to select and invoke the correct action, though it could elaborate on the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics for the action parameter by elaborating what each enum value returns, and it clarifies the role of order_id as required for details/lines. This goes beyond the schema's terse descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool handles orders and line items for a single store, with a specific verb implied by the action options (list, details, lines). It distinguishes from sibling tools like mailchimp_stores or mailchimp_reports by focusing on order data and campaign attribution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the three action modes and their prerequisites (details and lines require order_id), giving clear context on how to use the tool. It scopes usage to 'one store,' implying it is not for cross-store queries, but no explicit alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_productsA
Product catalog and variants for one e-commerce store. Set action to one of: list (products in the store); details (full product record with all variants, needs product_id); variants (variants of one product, needs product_id); variant (one variant, needs product_id and variant_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| store_id | Yes | Store ID, from mailchimp_stores action=list. | |
| product_id | No | Product ID, from action=list. | |
| variant_id | No | Variant ID. For action=variant. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It implies read-only behavior through the action verbs (list, details, variants), but does not explicitly state that no modifications occur, nor does it disclose any authentication requirements, rate limits, or side effects. It clarifies parameter dependencies which is useful, but leaves safety profile ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences—and front-loaded with the primary purpose. The action breakdown is structured clearly and efficiently, with zero filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's functionality by listing all four actions and their required parameters. It does not describe return formats in detail, but no output schema exists, and for a data-retrieval tool with clear actions, this is sufficient. Minor gaps remain (e.g., pagination details), but those are covered in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with clear descriptions for all parameters, but the tool description adds meaningful semantics by explaining the action enum and how product_id/variant_id relate to each action. This goes beyond the schema's individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Product catalog and variants for one e-commerce store.' It distinguishes from sibling tools by focusing specifically on product-related data, and the action list provides specific verbs for different retrieval scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context about the e-commerce store scope and breaks down when each action is appropriate (e.g., 'needs product_id'), but it does not explicitly compare to sibling tools or state when not to use this tool. The guidance is implied rather than clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_promosA
Promotion rules and their promo codes for one store. Set action to one of: rules (promotion rules in the store); rule (one rule, needs promo_rule_id); codes (codes under a rule, needs promo_rule_id); code (one code, needs promo_rule_id and promo_code_id).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| store_id | Yes | Store ID, from mailchimp_stores action=list. | |
| promo_code_id | No | Promo code ID. For action=code. | |
| promo_rule_id | No | Promo rule ID, from action=rules. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state that the tool is read-only, nor does it describe error behavior, rate limits, or what happens when required IDs are missing. The only behavioral hint is the action names implying retrieval, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long: a clear summary followed by a compact enumeration of the four actions and their parameter needs. No filler or redundant content; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters and no output schema, the description covers the action-to-parameter mapping but omits return value shapes, pagination behavior (though count/offset are in schema), and examples. It is adequate for a moderately complex read-only tool but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% parameter descriptions, so the baseline is 3. The description adds value by mapping actions to required parameters and showing dependencies (e.g., action='code' needs both promo_rule_id and promo_code_id), which is not present in the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (promotion rules and promo codes) and the scope (one store), and the action enum explicitly defines what can be retrieved. This distinguishes it from all sibling tools like mailchimp_products or mailchimp_orders, which cover different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage instructions for each action, telling the agent which parameters are needed (e.g., 'rule (one rule, needs promo_rule_id)'). It does not explicitly mention alternatives or when not to use the tool, but since no other sibling handles promotions, the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_reportsA
Campaign performance analytics: opens, clicks, unsubscribes, bounces, deliverability by domain, geography, per-member activity, and attributed revenue. Set action to one of: list (performance summary for every sent campaign); summary (full report for one campaign: opens, clicks, bounces, forwards, revenue, benchmarks); advice (Mailchimp's automated performance advice); opens (which members opened, and how often); clicks (per-link click totals); link_clickers (who clicked one link, needs link_id); unsubscribes (who unsubscribed and why); abuse_reports (spam complaints against the campaign); sent_to (every recipient with per-member open and click counts); domain_performance (deliverability broken down by recipient domain); locations (where opens came from geographically); eepurl (social sharing and archive-page stats); sub_reports (child reports for an A/B or multivariate campaign); email_activity (per-member action log with timestamps); subscriber_activity (one member's action log, needs subscriber_hash); product_activity (revenue and products attributed to the campaign).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| link_id | No | Link ID from action=clicks. For action=link_clickers. | |
| campaign_id | No | Campaign ID, from mailchimp_campaigns action=list. | |
| subscriber_hash | No | MD5 hash of the lowercased member email (Mailchimp also accepts the plain email address). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and largely succeeds. It details what each action returns (e.g., 'opens (which members opened, and how often)', 'domain_performance (deliverability by recipient domain)') and flags parameter dependencies ('needs link_id', 'needs subscriber_hash'). It doesn't mention rate limits or read-only behavior, but the read-only nature is implied by its analytics purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the purpose and then enumerates all actions in a list-like structure. There is no fluff; every clause adds value. However, it is quite long and could be more readable with bullet points, so it doesn't earn a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no output schema, and no annotations, the description thoroughly covers the behavior of every action and their return contents. It also notes dependencies like 'needs link_id' and 'needs subscriber_hash'. While it could mention that campaign_id is needed for most actions, the overall coverage is strong and effectively compensates for missing structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics by explaining each action enum value in detail and noting which extra parameters each action requires (e.g., 'link_id from action=clicks'), which the schema alone doesn't convey. This significantly aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Campaign performance analytics' followed by a specific list of metrics (opens, clicks, unsubscribes, etc.), clearly identifying the tool as a reporting tool for campaign data. This distinguishes it from siblings like mailchimp_campaigns, which focus on campaign management, and makes the tool's main function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage instructions by listing the 'action' options and what each does, guiding the user on which action to set for different reporting needs. It doesn't explicitly compare with alternatives, but since no sibling covers reporting, the niche is clear. The implied usage is strong due to the exhaustive action list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_searchA
Search the account. The fastest way to turn an email address into a subscriber_hash, or a phrase into a campaign_id. Set action to one of: members (find subscribers across all audiences by email or name); campaigns (find campaigns by title, subject line, or content).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term: an email address, name, or campaign phrase. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| list_id | No | Optional. Restrict a member search to one audience. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses search scope and result outcomes (subscriber_hash, campaign_id), but does not explicitly confirm it is a read-only operation or mention limitations like pagination or rate limits. It adds useful context but leaves some behavioral aspects implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with 'Search the account' and immediately gives examples. It uses a clear 'Set action to one of:' structure with inline definitions, making it concise and scannable with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with three parameters and no output schema, the description adequately covers the search scope and action semantics. It lacks explicit response format details, but it provides enough context for an agent to select and invoke the tool correctly, and the action enum details fill in key gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning to the 'action' parameter by elaborating on each enum value (members finds subscribers, campaigns finds campaigns), and reinforces that query can be an email, name, or phrase. This goes beyond the schema's brief reference to the tool description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search the account' and provides concrete examples (email to subscriber_hash, phrase to campaign_id) and enumerates two action types with detailed explanations. This distinguishes it from sibling tools like mailchimp_members and mailchimp_campaigns by positioning it as an account-wide search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly positions the tool as 'the fastest way' for specific lookups and explains each action's scope (find subscribers across all audiences, find campaigns by title/subject/content). It does not name alternative tools or state when not to use it, but the context implies it is the go-to for cross-account searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_storesA
Connected e-commerce stores, and orders across every store. Start here for a store_id. Set action to one of: list (all connected stores); details (full store record, needs store_id); all_orders (orders across every store on the account).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| store_id | No | Store ID. For action=details. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently describes each action's output scope and the store_id requirement, which is critical for correct invocation. While it doesn't mention pagination behavior, the schema covers count/offset, and all actions are clearly reads with no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise, front-loaded sentences capture the overall purpose, the entry-point advice, and the action-specific details with zero filler. The structure effectively guides the user from high-level context to specific invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-action tool with 4 parameters and no output schema, the description fully specifies every action and its requirements. It covers the essential context (store aggregation, store_id as entry point) and leaves pagination details to the schema, which is well-documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3, but the description adds meaning by explaining the action enum options and the dependency of store_id on the 'details' action. This goes beyond the schema's individual parameter descriptions, clarifying how parameters combine.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool's domain (connected e-commerce stores) and enumerates three specific actions (list, details, all_orders), making its purpose unambiguous. It also distinguishes itself from siblings by emphasizing cross-store aggregation ('orders across every store') and positioning itself as the entry point for store IDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides the guidance 'Start here for a store_id', indicating this tool is the recommended first step for store-related operations. It also clarifies when to use each action, including the prerequisite of store_id for details. However, it does not explicitly compare against alternative sibling tools like mailchimp_orders, relying on the cross-store scope to implicitly differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mailchimp_templatesC
Email templates available on the account. Set action to one of: list (all templates); details (full template record); default_content (the template's default section content).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum items to return, 1-1000. Defaults to 1000. | |
| action | Yes | Which data to retrieve. See the tool description. | |
| offset | No | Items to skip. Combine with count to page beyond the first 1000. | |
| template_id | No | Template ID, from action=list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It lists actions but doesn't explain that 'details' and 'default_content' require template_id, whether results are paginated, or any other behavioral traits. The description adds little beyond the schema's parameter docs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, naming the resource and then the actions in a clear list. It wastes no words, though the parenthetical for 'default_content' is slightly redundant with the action name. Still, it's efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters and 3 distinct actions, but the description doesn't specify which parameters are required for each action (e.g., template_id is needed for details/default_content), what the return shape looks like, or how count/offset apply across actions. Given no output schema and no annotations, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds semantic grouping by associating each action with its output, but it does not add new parameter-level details beyond what schema already provides. It earns the baseline, not more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (email templates) and enumerates three distinct actions (list, details, default_content), which distinguishes it from sibling tools focused on other Mailchimp resources. However, it lacks a strong action verb like 'retrieve' or 'manage', so it's slightly less direct than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what actions are available but gives no guidance on when to use this tool versus alternatives (e.g., mailchimp_campaigns or mailchimp_landing_pages). It does not mention prerequisites or typical use cases, leaving the agent to infer usage from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
18 tool updates
v1.2.0- First observed
mailchimp_account - First observed
mailchimp_audience_groups - First observed
mailchimp_audiences - First observed
mailchimp_automations - First observed
mailchimp_campaigns - First observed
mailchimp_carts - First observed
mailchimp_conversations - First observed
mailchimp_customers - First observed
mailchimp_files - First observed
mailchimp_landing_pages - First observed
mailchimp_members - First observed
mailchimp_orders - First observed
mailchimp_products - First observed
mailchimp_promos - First observed
mailchimp_reports - First observed
mailchimp_search - First observed
mailchimp_stores - First observed
mailchimp_templates
TDQS
Each tool targets a distinct Mailchimp resource (audiences, members, campaigns, reports, stores, etc.), and the action parameter further disambiguates within each resource. Despite minor overlaps like abuse_reports in both audiences and reports, the descriptions clearly differentiate audience-level vs campaign-level data.
All tools follow the consistent pattern mailchimp_<resource> using snake_case and plural nouns. The action parameter uses lowercase verbs and nouns consistently, creating a predictable and uniform naming scheme throughout the server.
With 18 tools, the count is slightly above the typical 3-15 range but still well-scoped given the breadth of Mailchimp's API. Each tool represents a major domain, and the grouping keeps the surface manageable without unnecessary fragmentation.
The tool set is heavily read-oriented, offering list and details operations but lacking any create, update, or delete actions for any resource. There are no tools to send campaigns, manage subscribers, or modify store data, which is a significant gap for a Mailchimp server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read audiences, members, campaigns and reports; add, update, tag and archive subscribers.
Mailchimp MCP Pack — manage audiences, campaigns, and members via Mailchimp Marketing API.
Read subscribers, groups, campaigns, fields, segments, automations, webhooks; safe additive writes.
Send email and read templates, marketing contacts, lists, stats, bounces and unsubscribes.
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides read-only access to Mailchimp's Marketing API for comprehensive email marketing data retrieval.3847611MIT
- AlicenseBqualityCmaintenanceA production-grade MCP server that integrates with the Mailchimp Marketing API to manage campaigns, audiences, members, and reports. It provides 28 specialized tools for automating marketing tasks such as sending emails, managing subscriber tags, and analyzing performance data.711MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with the Mailchimp API for managing campaigns, lists, templates, reports, and automations through natural language.3-
- FlicenseBqualityDmaintenanceMCP server for Mailchimp Marketing API v3 with 72 tools covering audiences, campaigns, templates, reports, and more.72-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aakarsh1t/MailChimp_MCP-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server