Skip to main content
Glama

List Audiences

list_audiences
Read-onlyIdempotent

List a page of non-archived saved audiences for this organization, including status, saved count and campaign_id (null when the audience is in no campaign). Use to find an audience_id before get_audience, recount_audience, or delivery; pass a limit of 1–100. Pass campaign_id to list one campaign's audiences, or unlinked=true for audiences in no campaign (not both). A filtered page can hold fewer than limit audiences — keep following next_cursor until it is null. Requires 'discovery' scope.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of audiences to return (default 10; maximum 100)
cursorNonext_cursor from a previous response
compactNoReturn small summaries by default. Use the matching get tool for a complete definition, or compact=false for full entries.
unlinkedNoWhen true, only audiences that belong to no campaign. Do not combine with campaign_id.
campaign_idNoOnly audiences linked to this campaign (newest link first). Use list_campaigns to find campaign IDs.
include_archivedNoInclude archived objects so they can be found and restored

Output Schema

NameRequiredDescriptionDefault
totalYesNumber of audiences on this page
guidanceNoInterpretation or recovery guidance for this result
audiencesYesSaved audience summaries
count_unitNo
page_countNoNumber of objects on this page, not the organization total
count_stateNoUnknown means no count; available does not guarantee freshness. Recount for a current value.
next_cursorYesCursor for the next page, or null
next_actionsNoSuggested next calls using returned IDs and available scopes. Not executed and not user consent.
money_displayNoCurrency amounts formatted once from source paths ending in _cents. Use verbatim; do not divide again. Null/missing source amounts are omitted, not zero.
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / campaign_id
      Added value: +{
      +  "description": "Only audiences linked to this campaign (newest link first). Use list_campaigns to find campaign IDs.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / compact
      Added value: +{
      +  "default": true,
      +  "description": "Return small summaries by default. Use the matching get tool for a complete definition, or compact=false for full entries.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / cursor
      Added value: +{
      +  "description": "next_cursor from a previous response",
      +  "type": "string"
      +}
    • addedInput schema / properties / include_archived
      Added value: +{
      +  "description": "Include archived objects so they can be found and restored",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / limit / default
      Added value: +10
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of audiences to return (default 50; REST maximum 100)"New value: +"Maximum number of audiences to return (default 10; maximum 100)"
    • addedInput schema / properties / unlinked
      Added value: +{
      +  "description": "When true, only audiences that belong to no campaign. Do not combine with campaign_id.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / count_state
      Added value: +{
      +  "description": "Unknown means no count; available does not guarantee freshness. Recount for a current value.",
      +  "enum": [
      +    "unknown",
      +    "available"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / count_unit
      Added value: +{
      +  "const": "records",
      +  "type": "string"
      +}
    • addedOutput schema / properties / guidance
      Added value: +{
      +  "description": "Interpretation or recovery guidance for this result",
      +  "type": "string"
      +}
    • addedOutput schema / properties / money_display
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "description": "Currency amounts formatted once from source paths ending in _cents. Use verbatim; do not divide again. Null/missing source amounts are omitted, not zero.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / next_actions
      Added value: +{
      +  "description": "Suggested next calls using returned IDs and available scopes. Not executed and not user consent.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "arguments": {
      +        "additionalProperties": {},
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "reason": {
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "tool",
      +      "arguments",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / page_count
      Added value: +{
      +  "description": "Number of objects on this page, not the organization total",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / population_input
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Population input used for the preview; IDs refer to their current saved definitions",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive semantics. The description adds real value beyond them: the auth requirement ('discovery' scope) and the pagination caveat that a filtered page may hold fewer than limit entries and that next_cursor must be followed until null.

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?

Dense but zero-waste: the core purpose and returned fields are front-loaded, then usage, filtering constraints, pagination, and auth follow in a tight sequence. Every sentence carries distinct operational information.

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?

An output schema exists, so return values needn't be fully spelled out, yet the description still flags key fields. Combined with auth scope and pagination guidance, an agent has everything needed to call this correctly for a six-param read tool.

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?

Schema coverage is 100%, so the schema documents all six params, and the baseline is 3. The description adds meaning beyond it by stating the campaign_id/unlinked mutual exclusion and the cursor-until-null loop, though it doesn't elaborate on compact or include_archived behavior.

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 a page of non-archived saved audiences for this organization) and names the returned fields (status, saved count, campaign_id). This clearly distinguishes the collection operation from the single-object get_audience sibling.

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

Usage Guidelines5/5

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

Explicitly routes usage: 'Use to find an audience_id before get_audience, recount_audience, or delivery.' It also states the mutually exclusive filter condition (campaign_id or unlinked, not both) and the limit range, leaving nothing to inference.

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