Skip to main content
Glama
get-mcp-ads

ChatGPT Ads MCP server

openai ads get custom audience

openai_ads_get_custom_audience
Read-onlyIdempotent

Retrieve a custom audience by ID and its matched count within the configured ad account, preserving native fields and pagination.

Instructions

Read one custom audience and its matched count. Native fields and pagination are preserved. See openai_ads_get_write_schema for nested request fields.

Input Schema

NameRequiredDescriptionDefault
queryNoDocumented native query parameters. Each call reads one page unless the tool says otherwise.
adAccountIdYesThe adacct_ ID configured in OPENAI_ADS_ACCOUNT_ID. The API key is scoped to this one account; another ID is refused.
custom_audience_idYesExact native custom_audience_id. The entity must belong to the configured ad account.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds beyond that: it discloses that native fields and pagination are preserved, and that a matched count is returned — useful behavioral context the annotations don't carry.

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 resource and its payload front-loaded; no wasted clauses. The trailing write-schema pointer is arguably dispensable for a read tool but is brief and does not bloat the definition.

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?

Output schema exists and schema coverage is 100%, so return shape needn't be explained; the description still covers pagination and matched-count return. The only weakness is the misdirected reference to a write schema, which is not needed to call this read tool 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% and all three parameters (including the nested query.matched_count_granularity) are documented in the schema itself. The description's mention of 'matched count' loosely maps to the granularity param but adds no syntax or format detail beyond what the schema provides; 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: 'Read one custom audience and its matched count.' The word 'one' implicitly separates it from the sibling openai_ads_get_custom_audiences (list), though the sibling is never named explicitly. An agent can tell what it fetches, but the singular/plural distinction must be inferred from a single word.

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 'Read one' — no explicit when-to-use, when-not, or alternative named. The one cross-reference ('See openai_ads_get_write_schema for nested request fields') points at a write-schema tool, which is not an obvious alternative for a read operation and adds little routing value.

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