Skip to main content
Glama
This connector has been deprecated

Replaced by io.github.no-fait/infinite-audience

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.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_audiences"
  }
}

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.
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 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 / 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. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "audiences": {
      +      "description": "Saved audience summaries",
      +      "items": {
      +        "additionalProperties": {},
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "next_cursor": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Cursor for the next page, or null"
      +    },
      +    "total": {
      +      "description": "Number of audiences on this page",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "audiences",
      +    "total",
      +    "next_cursor"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, but the description adds what annotations cannot: the 'discovery' scope requirement, that archived audiences are excluded by default, and the non-obvious behavior that a filtered page may return fewer than limit rows so the 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.

Conciseness4/5

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

Front-loaded with purpose, then usage, then constraints, then the scope requirement — a sensible ordering with no filler. The parenthetical about returned fields is mildly redundant given the output schema exists, though it usefully explains the null campaign_id case.

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?

Covers everything an agent needs to invoke this correctly: default exclusion of archived items, filter combinatorics, the limit range, cursor termination condition, and the required auth scope. Return shape is handled by the output schema, so no gap remains.

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 baseline is 3, and the description goes slightly beyond by explaining why campaign_id matters (null means no campaign) and by stating the mutual exclusion between campaign_id and unlinked as an operating rule. It does not add format or scale guidance beyond what the schema fields already say.

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 saved audiences scoped to the organization) plus the default filter (non-archived) and the fields returned (status, saved count, campaign_id). This clearly separates it from list_segments, list_campaigns, and get_audience.

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 names the downstream tools this lookup feeds (get_audience, recount_audience, delivery) and gives concrete filter routing: campaign_id for one campaign's audiences, unlinked=true for none, with the exclusion 'not both'. It also gives the pagination loop instruction rather than leaving the agent to guess.

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