Skip to main content
Glama

nitro_manage_audience

Destructive

Contacts, subscriptions, lists, events, segments, tags and prepaid email validation. Custom fields: attributes.data. Bulk adds and unsubscribes: nitro_import_contacts.

Input Schema

NameRequiredDescriptionDefault
paramsYesmanage_list action: create (name[, contact_ids|emails]), rename (list_id, name), delete (list_id), add_contacts|remove_contacts (list_id, contact_ids|emails). bulk_tag tag_action: add|remove|set (default add). set_subscription opt_out: true unsubscribes; suppress: true stops all email incl. transactional, false lifts it.
confirmNoRequired for every delete.
dry_runNo
operationYesdelete_contacts: one of list_id, segment_id, contact_ids. validate: exactly one of lead_ids, contact_channel_ids, contact_ids, list_id, segment_id, all_contacts: true. Its dry run quotes; pass quote_digest on execution to refuse audience or price drift. Execution needs idempotency_key, prepaid funds.
idempotency_keyNoSame key returns the first result.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Required for delete_segment, delete_contacts, manage_list delete"New value: +"Required for every delete."
    • changedInput schema / properties / params / description
      Previous value: -"manage_list action: create (name[, contact_ids|emails]), rename (list_id, name), delete (list_id), add_contacts|remove_contacts (list_id, contact_ids|emails). bulk_tag tag_action: add|remove|set (default add). set_subscription suppress: true stops all email incl. transactional; false lifts it."New value: +"manage_list action: create (name[, contact_ids|emails]), rename (list_id, name), delete (list_id), add_contacts|remove_contacts (list_id, contact_ids|emails). bulk_tag tag_action: add|remove|set (default add). set_subscription opt_out: true unsubscribes; suppress: true stops all email incl. transactional, false lifts it."
  2. Changed4 schema fields changed
    • removedInput schema / properties / dry_run / description
      Removed value: -"Preview changes without persisting"
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Optional deduplication key. Same key returns cached result."New value: +"Same key returns the first result."
    • changedInput schema / properties / operation / description
      Previous value: -"delete_contacts: one of list_id, segment_id, contact_ids. validate accepts exactly one of lead_ids, contact_channel_ids, contact_ids, list_id, segment_id, or all_contacts: true. Dry-run quotes without mutation; pass its quote_digest on execution to refuse audience or price drift. Execution needs idempotency_key and prepaid funds."New value: +"delete_contacts: one of list_id, segment_id, contact_ids. validate: exactly one of lead_ids, contact_channel_ids, contact_ids, list_id, segment_id, all_contacts: true. Its dry run quotes; pass quote_digest on execution to refuse audience or price drift. Execution needs idempotency_key, prepaid funds."
    • changedInput schema / properties / params / description
      Previous value: -"Parameters named by operation. bulk_tag tag_action: add|remove|set (default add). set_subscription suppress: true stops all email incl. transactional; false lifts it."New value: +"manage_list action: create (name[, contact_ids|emails]), rename (list_id, name), delete (list_id), add_contacts|remove_contacts (list_id, contact_ids|emails). bulk_tag tag_action: add|remove|set (default add). set_subscription suppress: true stops all email incl. transactional; false lifts it."
  3. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is partly covered. The description adds essentially no behavioral context about deletion confirmation, dry-run behavior, idempotency, or prepaid validation requirements beyond what the schema already says.

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?

It is only two sentences with no filler, and the bulk-operation alternative is easy to spot. The first sentence is a bare noun list rather than a front-loaded purpose statement, but the description is not bloated.

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 destructive, multi-operation tool with a nested params object, the description is quite thin and does not orient the agent to the nine operations. The detailed schema and destructive annotations fill much of the gap, but the description itself does not complete the picture.

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 80%, so the schema already documents most parameter meaning, including the nested params object. The description adds only a small hint about custom fields living under attributes.data and routes bulk operations elsewhere, which is marginal added value.

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

Purpose3/5

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

The description enumerates audience-related resource domains — contacts, subscriptions, lists, events, segments, tags — but does not state a specific verb or explain the multi-operation nature of the tool. It is enough to infer the broad domain, but it does not clearly distinguish the tool from siblings like nitro_define_segment or nitro_search_contacts.

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 explicitly routes bulk adds and unsubscribes to nitro_import_contacts, which is useful. But there is no guidance on when to use this tool versus the other audience-related siblings, nor on choosing among its nine operations.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources