Skip to main content
Glama

Mailchimp MCP by usefulapi

Server Details

Read audiences, members, campaigns and reports; add, update, tag and archive subscribers.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
84.9% over 70 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 18 tools

Disambiguation4/5

Each tool targets a distinct resource/action (member, audience, campaign, report, tag, automation, template, segment), and descriptions clarify scope. Minor overlap between list_segments (audience-level segments/tags) and list_member_tags (member-level tags), and between list_reports and get_campaign_report, but these are unlikely to cause misselection.

Naming Consistency5/5

All tools follow the same mailchimp_<verb>_<noun> snake_case pattern with consistent verbs (add, archive, get, list, search, update). Singular/plural choices align with REST resource orientation and are predictable throughout.

Tool Count3/5

18 tools is borderline heavy (16–25 range) for this server's apparent scope. Many list/get tools cover tangential resources (automations, templates, segments), and the core subscriber/campaign surface could likely be covered with fewer tools.

Completeness2/5

The surface is largely read-only plus member add/update/archive. Major gaps include no campaign create/update/send/delete, no audience create/update/delete, no automation or template CRUD, and no permanent member delete. These omissions will block common Mailchimp workflows.

Available Tools

18 tools
mailchimp_add_memberAdd memberB
Destructive
Inspect

Add a new member (subscriber) to an audience (list). Note: status "pending" triggers a double-opt-in confirmation email. REST: POST /lists/{list_id}/members.

NameRequiredDescriptionDefault
tagsNoArray of tag-name strings to apply to the new member.
statusNoSubscription status (default "subscribed"; "pending" sends a double-opt-in email).
list_idYesThe audience (list) id to add the member to.
merge_fieldsNoMerge-field values, e.g. { FNAME: "Ada", LNAME: "Lovelace" }.
email_addressYesThe member's email address (required).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only destructiveHint=true; the description adds genuine value by disclosing that status "pending" triggers a double-opt-in confirmation email, a non-obvious side effect. However, it says nothing about failure modes (e.g. existing member error), permissions, or what state is created, so the disclosure is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action before the side-effect note. The trailing REST endpoint is marginally redundant against the tool name but harmless and cheap.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation with a nested merge_fields object, no output schema, and thin annotations (destructiveHint only), the description is adequate but incomplete: it omits error/duplicate handling and the shape of the created-member response, leaving the agent to infer them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the enum, tags, merge_fields, and required fields are already fully documented in the schema; baseline 3 applies. The description's only parameter-related addition is the pending/double-opt-in note, which duplicates the status field's own schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with clarifying synonyms ("Add a new member (subscriber) to an audience (list)"), plus the underlying REST method. It is clear what the tool does, though it does not explicitly distinguish itself from mailchimp_update_member or mailchimp_add_member_tags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies creation of a new member but gives no explicit when-to-use guidance, no exclusions (e.g. use update_member for existing records), and no prerequisites such as required audience permissions. The status note is behavioral, not a usage rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_add_member_tagsAdd/remove member tagsA
Destructive
Inspect

Add and/or remove tags on an audience member (by email or subscriber_hash). tags are added (status active); removeTags are removed (status inactive). Mailchimp returns HTTP 204 (no body). REST: POST /lists/{list_id}/members/{subscriber_hash}/tags (email → MD5 hash).

NameRequiredDescriptionDefault
tagsNoTag names to ADD to the member (mapped to status "active").
emailNoMember email address — MD5-hashed (lowercased) into the subscriber_hash for you.
list_idYesThe audience (list) id.
removeTagsNoTag names to REMOVE from the member (mapped to status "inactive").
subscriberHashNoThe subscriber_hash (MD5 of lowercased email) or contact id, if you have it instead of `email`.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply destructiveHint=true, so the description carries the rest and does so well: it discloses that tags map to status 'active' and removeTags to 'inactive', that Mailchimp returns HTTP 204 with no body, and the underlying REST endpoint. It does not mention auth requirements, rate limits, or whether removals of non-existent tags error, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact message, front-loaded with the verb and resource, then the parameter semantics, then the response code and endpoint. Every clause carries information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly fills the return gap by stating HTTP 204/no body, and it explains the identifier hashing path. What remains unstated is permission/auth scope and error behavior for a mutation tool, but the destructive hint plus response disclosure make this nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters, including the active/inactive mapping and the MD5 hashing. The description restates the same semantics (email → MD5 hash, active/inactive status) without adding syntax, format, or constraint details beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (add and/or remove) plus the resource (tags) and the scoping entity (audience member), and names the two ways to identify the member. An agent can distinguish this from mailchimp_add_member and mailchimp_list_member_tags without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by noting 'by email or subscriber_hash' and by explaining what tags/removeTags do, but it never states when to prefer this over mailchimp_update_member or mailchimp_add_member, nor any prerequisite (e.g. list_id required). Usage is inferable but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_archive_memberArchive memberA
Destructive
Inspect

Archive (soft-remove) an audience member — reversible; this is NOT the permanent-delete action. REST: DELETE /lists/{list_id}/members/{subscriber_hash} (email → MD5 hash). Returns HTTP 204 (no body).

NameRequiredDescriptionDefault
emailNoMember email address — MD5-hashed (lowercased) into the subscriber_hash for you.
list_idYesThe audience (list) id.
subscriberHashNoThe subscriber_hash (MD5 of lowercased email) or contact id, if you have it instead of `email`.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply destructiveHint=true, and the description meaningfully enriches that by clarifying the operation is a reversible soft-remove returning HTTP 204 with no body, and by disclosing the email-to-MD5-hash conversion. It does not cover auth/permission requirements or rate-limit behavior, so it falls short of exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the key distinction (soft vs. permanent) front-loaded, followed by the endpoint and return code. Every clause carries information; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by stating the HTTP 204/no-body return, and it covers the required list_id plus the email/subscriberHash alternatives already in the schema. An agent has everything needed to invoke this mutation correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema, including the MD5-hash note the description repeats. The description adds no parameter syntax or precedence detail (e.g., email vs. subscriberHash) beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Archive (soft-remove) an audience member') and explicitly disambiguates from the permanent-delete action, plus names the underlying REST endpoint. An agent can distinguish this from add/update/get member siblings immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'this is NOT the permanent-delete action' clause gives a clear negative criterion and the term 'reversible' implies when this is preferable to a hard delete. However, no guidance is given on when to archive vs. update or remove tags relative to the other member siblings in the toolset.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_get_accountGet accountA
Read-only
Inspect

Get the API Root — the authenticated Mailchimp account: account name, total subscribers, contact info, plan and industry stats. REST: GET /.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context that this is the API root for the authenticated account and hints at authentication, but says nothing about rate limits, caching, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact clauses: the resource identity is front-loaded, the returned fields follow, and the REST endpoint is appended. Every element earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the principal returned fields (name, subscriber total, contact info, plan, industry stats) and the REST path. It is nearly complete for a zero-parameter read tool; only the exact response shape is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description correctly implies no inputs are needed, and there is nothing for it to disambiguate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource (the authenticated Mailchimp account / API root), then enumerates exactly what is returned: account name, total subscribers, contact info, plan and industry stats. This is clearly distinguishable from siblings like mailchimp_get_audience or mailchimp_get_member, which target narrower resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the account-level overview call, but the description never states when to prefer it over mailchimp_get_audience or the list_* siblings. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_get_audienceGet audience (list)A
Read-only
Inspect

Get a single audience (list) by id, including subscriber stats, default from-name/email and settings. REST: GET /lists/{list_id}.

NameRequiredDescriptionDefault
list_idYesThe audience (list) id.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuine value beyond that by disclosing what the payload contains (subscriber stats, default from-name/email, settings) and mapping to the REST endpoint, which helps an agent anticipate the response for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence covering purpose and return contents, plus a short REST mapping. Both are tight with no filler; the REST line is marginally redundant but still useful routing context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only getter with readOnlyHint set and no output schema, the description supplies everything needed to invoke it and previews the returned fields. Missing only edge-case behavior (invalid id, auth requirements).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter with 100% schema description coverage ('The audience (list) id.'), so the schema carries the semantics. The description only restates 'by id' without adding format, sourcing, or fallback details, matching the baseline for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single audience (list) by id') and even enumerates the returned content (subscriber stats, from-name/email, settings). The word 'single' implicitly separates it from mailchimp_list_audiences, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: fetch one list when you have its id. There is no explicit when-to-use statement, no mention of mailchimp_list_audiences as the alternative for enumerating lists, and no preconditions or error guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_get_campaignGet campaignA
Read-only
Inspect

Get a single campaign by id, including its settings, recipients and send status. REST: GET /campaigns/{campaign_id}.

NameRequiredDescriptionDefault
campaign_idYesThe campaign id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description usefully adds what data comes back (settings, recipients, send status), but says nothing about auth requirements, error/not-found behavior, or rate limits. Adds moderate value over structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero filler; the core purpose is front-loaded and the REST endpoint is a useful, brief trailing detail. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only getter with annotations covering safety, the definition is nearly complete and even hints at returned fields (helpful since no output schema exists). It only omits what happens on a missing or invalid id, a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is only one parameter, which the schema already documents as 'The campaign id.' The description restates 'by id' without adding format, source, or lookup guidance, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single campaign by id') and even enumerates the returned content ('settings, recipients and send status'), plus the underlying REST endpoint. It distinguishes itself implicitly from mailchimp_list_campaigns, but never names the sibling, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'by id' and 'single campaign' suggest fetching one known campaign rather than listing, but there is no explicit when-to-use, when-not-to-use, or alternative (e.g., mailchimp_list_campaigns) named. Adequate but with clear gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_get_campaign_reportGet campaign reportA
Read-only
Inspect

Get the report for one campaign — opens, clicks, bounces, unsubscribes and other engagement summary stats. REST: GET /reports/{campaign_id}.

NameRequiredDescriptionDefault
campaign_idYesThe campaign id to fetch the report for.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered. The description adds real value by disclosing what the response contains (engagement metrics), which matters because there is no output schema, plus the exact REST endpoint for API-level mapping. It omits error behavior for missing/unsent campaigns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences that are front-loaded with the purpose and metrics, followed by the endpoint mapping used as a reference hook. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool whose annotations cover the safety profile, the description gives enough to invoke correctly and preview the return payload. With no output schema, the metric list is a reasonable stand-in, though edge-case behavior is undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema description coverage, so the schema already documents campaign_id fully. The description adds nothing about the parameter beyond what the schema states, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the report for one campaign') and enumerates the metrics returned (opens, clicks, bounces, unsubscribes). The singular scope distinguishes it from the sibling mailchimp_list_reports, and the REST path pins the exact underlying resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer you call this when you need engagement stats for a known campaign_id. It never says when to prefer this over mailchimp_get_campaign or mailchimp_list_reports, nor states prerequisites (e.g., that a campaign must have been sent).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_get_memberGet memberA
Read-only
Inspect

Get a single audience member (subscriber) by email or subscriber_hash, including status, merge fields, tags and stats. REST: GET /lists/{list_id}/members/{subscriber_hash} (email → MD5 hash).

NameRequiredDescriptionDefault
emailNoMember email address — MD5-hashed (lowercased) into the subscriber_hash for you.
list_idYesThe audience (list) id.
subscriberHashNoThe subscriber_hash (MD5 of lowercased email) or contact id, if you have it instead of `email`.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true), so the bar is lower. The description adds real context beyond that: the fields returned (status, merge fields, tags, stats), the underlying REST endpoint, and the email→MD5 hashing behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the core purpose and return contents, with the lookup mechanics and REST endpoint trailing. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the returned fields and the lookup semantics. An agent has what it needs to call it correctly; only the absence of explicit sibling routing keeps it short of perfect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents email, list_id, and subscriberHash thoroughly, including the MD5 hashing note. The description only restates the email/hash duality, adding no meaning beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single audience member (subscriber)'), names the two lookup keys, and lists the returned content. The word 'single' implicitly distinguishes it from list_members/search_members, but it never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the singular lookup implies you call this when you already know the email or subscriber_hash, versus the list/search siblings. There is no explicit 'use this when... instead of...' guidance or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_audiencesList audiences (lists)A
Read-only
Inspect

List the account's audiences — Mailchimp's /lists resource (an audience is a list of subscribers). Paginated, with optional sort. REST: GET /lists.

NameRequiredDescriptionDefault
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
sortDirNoSort direction ASC/DESC (Mailchimp `sort_dir`).
sortFieldNoField to sort by (Mailchimp `sort_field`, e.g. date_created / create_time).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true already declared, the safety profile is covered. The description adds genuinely useful context that the result set is paginated and sortable and maps to GET /lists, but it omits Mailchimp-specific traits such as rate limits or what the returned audience records contain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the noun phrase, scope and constraints front-loaded; every clause earns its place and nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list endpoint with full schema coverage and no output schema, the description is nearly sufficient. It could say a bit more about the shape of returned audience records, but nothing required to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — count, offset, sortDir and sortField are each documented in the schema. The description's mention of 'paginated, with optional sort' adds no syntax or format detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (audiences/lists), and disambiguates the Mailchimp terminology by equating 'audience' with the `/lists` resource and defining it as a list of subscribers. This lets an agent separate it from the singular sibling mailchimp_get_audience without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys the operating context (paginated, optional sort, read-only GET) but never states when to choose this over alternatives such as mailchimp_get_audience or the other list_* tools. Usage is implied by the 'list vs get' naming rather than stated explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_automationsList automationsA
Read-only
Inspect

List the account's classic automations (automated email workflows). Paginated. REST: GET /automations.

NameRequiredDescriptionDefault
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this as a safe read, so the bar is lower. The description adds that results are paginated and names the underlying REST endpoint, which is useful context, but it says nothing about ordering, default page size, or what a result item contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded fragments: what it lists, that it pages, and the REST endpoint. Nothing is wasted and the core action leads.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with 100% parameter coverage and no output schema, the description supplies what is needed to invoke it correctly. Only the shape of returned automation records is left unspecified, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are fully documented in the schema (100% coverage), so the schema carries the semantics. The word 'Paginated' signals that count/offset drive paging but adds no detail beyond what the schema already explains.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the account's classic automations') and disambiguates the term with a parenthetical ('automated email workflows'). No sibling tool covers automations, so an agent can route here without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope ('the account's') implies this is the unfiltered listing of all automations, but the description never states when to use it versus other listing tools or any prerequisites. Usage is only implied, matching the minimum-viable bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_campaignsList campaignsA
Read-only
Inspect

List the account's campaigns (email sends). Paginated, with optional type/status/audience filters and sort. REST: GET /campaigns.

NameRequiredDescriptionDefault
typeNoFilter by campaign type (Mailchimp `type`).
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
statusNoFilter by campaign status (Mailchimp `status`).
list_idNoRestrict to campaigns sent to this audience (list) id.
sortDirNoSort direction ASC/DESC (Mailchimp `sort_dir`).
sortFieldNoField to sort by (Mailchimp `sort_field`, e.g. date_created / create_time).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply readOnlyHint=true, and the description adds real context beyond them: pagination behavior, supported filter axes (type/status/audience), sorting, and the underlying REST path GET /campaigns. It stops short of disclosing defaults or rate limits, but the added operational detail is meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero filler; the core purpose and filter scope are front-loaded and the REST path is appended as a useful, non-redundant aside.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with full schema coverage and safety annotations, no output schema to explain, and no destructive behavior to warn about, the description covers what an agent needs. Slightly more on default page size or response shape would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters are already documented in the schema with defaults and enum meanings. The description's 'type/status/audience filters and sort' summary maps to the parameters but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List the account's campaigns (email sends)') and disambiguates campaigns from other entities like reports or automations. It does not explicitly contrast with sibling mailchimp_get_campaign (single-fetch vs list), but the resource and scope are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes pagination and optional filters, which implies the use case (browsing/querying campaigns), but it gives no explicit when-to-use guidance versus mailchimp_get_campaign or mailchimp_get_campaign_report, nor any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_membersList membersA
Read-only
Inspect

List members of an audience (list). Paginated, with an optional status filter and sort. REST: GET /lists/{list_id}/members.

NameRequiredDescriptionDefault
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
statusNoFilter by member status (Mailchimp `status`).
list_idYesThe audience (list) id to list members from.
sortDirNoSort direction ASC/DESC (Mailchimp `sort_dir`).
sortFieldNoField to sort by (Mailchimp `sort_field`, e.g. date_created / create_time).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered structurally. The description adds useful context—pagination, optional status filter, sort, and the REST endpoint—but says nothing about return shape, page-size defaults, or rate limits beyond what the schema carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core purpose front-loaded, followed by pagination/filter behavior and the endpoint. Efficient, though the REST endpoint sentence is marginal for an agent that already has the tool mapping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with a fully documented schema, the description adequately covers pagination, filtering, and sorting. The absence of an output schema leaves return content unspecified, but for a straightforward member listing this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are already documented in the schema, including count defaults/max, offset pagination, status enum, and sort fields. The description merely restates pagination, filter, and sort at a high level, adding no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (List) and resource (members of an audience/list), plus the underlying REST endpoint. It is clear what the tool does, but it does not explicitly differentiate itself from siblings like mailchimp_search_members or mailchimp_list_member_tags, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes it is paginated and supports an optional status filter and sort, which implies typical listing usage. However, it gives no explicit when-to-use guidance and never mentions the alternative mailchimp_search_members for filtered/discovery queries, leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_member_tagsList member tagsA
Read-only
Inspect

List the tags applied to a single audience member (by email or subscriber_hash). Paginated. REST: GET /lists/{list_id}/members/{subscriber_hash}/tags (email → MD5 hash).

NameRequiredDescriptionDefault
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
emailNoMember email address — MD5-hashed (lowercased) into the subscriber_hash for you.
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
list_idYesThe audience (list) id.
subscriberHashNoThe subscriber_hash (MD5 of lowercased email) or contact id, if you have it instead of `email`.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already declares this is a safe read. The description adds that results are paginated and that email is transformed to an MD5 hash, but says nothing about rate limits, ordering, or what the response contains. With annotations carrying the safety profile, the added context is modest but real.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler: the purpose, the payload form, pagination, and the underlying REST call. Every element earns its place and the key information leads.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, fully schema-covered list operation with a readOnlyHint annotation, the definition gives an agent enough to invoke it correctly. It stops short of describing the returned tag structure, and there is no output schema to compensate, which is the only minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (count, offset, email, list_id, subscriberHash) are already documented in the schema. The description's mention of 'by email or subscriber_hash' and the MD5 detail largely restates what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb ('List') and resource ('tags applied to a single audience member'), scoping it clearly to one member by email or subscriber_hash. This cleanly separates it from the write-side sibling mailchimp_add_member_tags and from list/segment tools. The REST endpoint reference further pins down exactly what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by noting the tool operates on a single member and accepts either an email or a subscriber_hash, but it never states when to use this versus alternative tag-related tools (e.g., add_member_tags) or any prerequisites. Guidance is present but left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_reportsList reportsA
Read-only
Inspect

List campaign reports (aggregate performance for sent campaigns). Paginated, with an optional type filter. REST: GET /reports.

NameRequiredDescriptionDefault
typeNoFilter reports by campaign type (Mailchimp `type`).
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that results are paginated, which is genuinely useful beyond the annotations, but it omits default/max page size behavior and any rate-limit context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero filler; the core purpose is front-loaded and the pagination/filter note follows immediately. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, three-parameter list endpoint with a fully documented schema and a readOnlyHint annotation, the description covers what an agent needs to invoke it. The only minor gap is the absence of guidance on choosing this over the singular report sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents type, count, and offset in full. The description's 'optional type filter' and 'paginated' merely restate what the schema provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (campaign reports), and the parenthetical 'aggregate performance for sent campaigns' disambiguates what a report actually is. It does not, however, explicitly distinguish itself from the singular sibling mailchimp_get_campaign_report or from mailchimp_list_campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes pagination and an optional type filter, which implies usage for bulk retrieval, but never states when to choose this over mailchimp_get_campaign_report for a single campaign. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_segmentsList segmentsA
Read-only
Inspect

List an audience's segments and tags (saved segments include static tags). Paginated. REST: GET /lists/{list_id}/segments.

NameRequiredDescriptionDefault
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
list_idYesThe audience (list) id.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read, so the bar is lower. The description adds pagination awareness and the static-tags nuance, but says nothing about default page size behavior, ordering, or empty results beyond what the schema states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core purpose front-loaded. The trailing REST endpoint line is mildly redundant but still useful for orientation, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with a fully described schema and an existing readOnlyHint annotation, the description covers purpose, pagination, and resource scope adequately. Nothing critical is missing, though return-shape hints are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so count, offset, and list_id are fully documented in the schema. The description adds no syntax or format detail for these parameters, making 3 the appropriate baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (an audience's segments and tags), and the parenthetical clarifies that saved segments include static tags. It is distinguishable from mailchimp_list_member_tags, though it doesn't explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes it is paginated and gives the REST endpoint, which implies a scenario for use, but it offers no explicit when-to-use or when-not-to-use guidance versus the related tag-listing siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_list_templatesList templatesA
Read-only
Inspect

List the account's email templates (saved and pre-built layouts). Paginated, with optional type filter and sort. REST: GET /templates.

NameRequiredDescriptionDefault
typeNoFilter by template type (Mailchimp `type`: user / base / gallery).
countNoRecords to return (Mailchimp `count`; default 10, max 1000).
offsetNoNumber of records to skip (Mailchimp `offset`, for pagination).
sortDirNoSort direction ASC/DESC (Mailchimp `sort_dir`).
sortFieldNoField to sort by (Mailchimp `sort_field`, e.g. date_created / create_time).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description usefully adds that results are paginated and that the operation maps to GET /templates, but says nothing about rate limits, auth scopes, or result ordering defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with purpose, then behavior, then the REST mapping. Every clause earns its place with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, zero-required-param list tool with no output schema, the description covers purpose, filterability, and pagination adequately. It stops short of describing the paginated response envelope, but the annotations and full schema coverage mean little is genuinely missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (type, count, offset, sortDir, sortField) is already documented in the schema. The description only restates that filtering by type and sorting exist, adding no syntax or default-value detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (account's email templates), and even disambiguates scope by clarifying it covers both saved and pre-built layouts. No sibling tool lists templates, so the resource alone distinguishes it from the list_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions that type filtering and sorting are optional, which implies how to narrow results, but it never states when to use this versus any alternative or any prerequisites. Usage is implied rather than guided, which fits a 3.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_search_membersSearch membersA
Read-only
Inspect

Search for members across the account (or one audience) by email, name or other fields. Returns exact + full-text matches. REST: GET /search-members.

NameRequiredDescriptionDefault
queryYesThe search query (email, name, etc.).
list_idNoRestrict the search to this audience (list) id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description's burden is lower. It does add one genuinely useful behavioral fact beyond annotations: results include exact plus full-text matches. It says nothing about pagination, result caps, or the response shape, so it stops short of rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences; the purpose and scope come first, match behavior second, and the REST endpoint last. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, fully documented, read-only search tool this covers what an agent needs: what it searches, the optional scoping, and the nature of the matches. Without an output schema it could say slightly more about return shape or result limits, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'query' and 'list_id' documented in the schema itself. The description restates that list_id scopes to one audience and that query can be email/name, adding only marginal meaning, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (members) plus the scope: entire account or a single audience, with the searchable fields named (email, name, other fields). The only gap is that it never explicitly distinguishes itself from sibling mailchimp_list_members or mailchimp_get_member, so the agent must infer that this is the query-driven lookup rather than the enumeration tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(or one audience)' implies the choice between account-wide search and list-scoped search when a list_id is supplied, which is useful. However, there is no explicit when-to-use guidance versus list_members (browse/all) or get_member (known id), so the routing decision is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mailchimp_update_memberUpdate memberA
Destructive
Inspect

Update an existing audience member (by email or subscriber_hash). Only the fields you supply change. REST: PATCH /lists/{list_id}/members/{subscriber_hash} (email → MD5 hash).

NameRequiredDescriptionDefault
emailNoMember email address — MD5-hashed (lowercased) into the subscriber_hash for you.
statusNoNew subscription status.
list_idYesThe audience (list) id.
merge_fieldsNoMerge-field values to set, e.g. { FNAME: "Ada" }.
subscriberHashNoThe subscriber_hash (MD5 of lowercased email) or contact id, if you have it instead of `email`.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare destructiveHint=true, so the description adds real value: it discloses PATCH semantics, that unspecified fields are preserved, and that email is MD5-hashed into the subscriber_hash. It still omits what a destructive update can overwrite and whether permissions are required, but the partial-update contract is genuinely useful beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense clauses, front-loaded with the action and identifier options, then the partial-update rule, then the REST endpoint. No filler and every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter mutation with no output schema, the description covers identity resolution, update semantics, and the underlying endpoint. It could have said more about permissions or side effects on related fields, but it is close to sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema, including the email-hashing note which the description repeats. Baseline 3 is correct since the description adds no syntax or constraints beyond the structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('Update an existing audience member') and even names the two identifier paths (email or subscriber_hash). It does not explicitly contrast against siblings like mailchimp_add_member or mailchimp_archive_member, but the update semantics are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb and the partial-update note ('Only the fields you supply change'), but there is no explicit when-to-use guidance, no mention of when to prefer mailchimp_add_member vs this, and no prerequisites or exclusion conditions stated.

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.

  1. 18 tool updates
    • Changedmailchimp_add_member1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_add_member_tags1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_archive_member1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_get_account1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_get_audience1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_get_campaign1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_get_campaign_report1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_get_member1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_audiences1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_automations1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_campaigns1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_member_tags1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_members1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_reports1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_segments1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_list_templates1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_search_members1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedmailchimp_update_member1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides read-only access to the Mailchimp Marketing API v3 via 18 tools covering 103 endpoints for audiences, members, campaigns, reports, automations, templates, landing pages, e-commerce, and account administration.
    18
    26 npm
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to manage mailing lists and contacts, read campaign reports with per-link clicks, and trigger automations. Supports lookups and updates by email address, tag and status management, and destructive operations with client confirmation.
    13
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Manage Mailchimp audiences, campaigns, and members via the Mailchimp Marketing API through natural language queries.
    11 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Draft, test, and send Mailchimp campaigns from an MCP client with audience management, subscriber CRUD, and post-send analytics behind safe-by-default send gates.
    115 npm
    2
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.