Skip to main content
Glama

Get competitor audience

get_competitor_audience
Read-onlyIdempotent

Who the brand's competitors aim their ads at and who the ads reached, summed over their ads: reach (people) and impressions per country, people reached by age and gender, impressions per Google surface, the genders, ages, devices and objectives targeted, and who pays for the ads. It is what the ad libraries disclose, mostly for ads shown in the EU. Sums every ad on record unless startedWithinDays or activeOnly narrows it.

Input Schema

NameRequiredDescriptionDefault
brandIdNoA brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand.
channelNoOnly competitors watched on this ad channel. Omit for every channel the brand watches them on.
activeOnlyNoOnly ads still running.
competitorIdNoA competitor id from list_competitors. Omit for every competitor the brand watches.
startedWithinDaysNoOnly ads that started within this many days. Omit for every ad on record.

Output Schema

NameRequiredDescriptionDefault
agesYes
payersYes
devicesYes
gendersYesfemale / male / all, over ads that disclosed their targeting.
deliveryYesTotals per metric; reach (people) and impressions (views) never add up.
surfacesYes
totalAdsYesThe ads summed: those that started within startedWithinDays, when given.
ageGenderYes
countriesYes
languagesYes
objectivesYes
adsWithAudienceYesAds whose library disclosed any targeting or delivery.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / brandId / description
      Previous value: -"A brand id from get_workspace or list_brands. Omit it when the organization has a single brand."New value: +"A brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With readOnlyHint, idempotentHint and destructiveHint already declared, the description still adds genuinely new context: the data is "what the ad libraries disclose, mostly for ads shown in the EU," which warns the agent about partial geographic coverage and upstream data limitations. It also discloses the aggregation default (sums all ads unless narrowed). No return shape or latency detail, but the safety profile is already covered.

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?

The lead clause is front-loaded and states the payoff first. The middle sentence is a dense but informative metric enumeration, and the closing EU-caveat sentence earns its place by flagging a real data limitation. Slightly list-heavy, but no filler.

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 need no explanation, and all five optional parameters are fully documented in the schema. What remains for the description — aggregation defaults and the EU-centric source caveat — is present, so an agent has everything needed to call this correctly and interpret the result.

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% and every parameter carries a clarifying description, so the schema does the heavy lifting. The description only reinforces the default behavior for startedWithinDays and activeOnly ("unless ... narrows it"), adding marginal meaning rather than new syntax or format guidance. 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?

The description opens with a clear subject and verb phrase ("Who the brand's competitors aim their ads at and who the ads reached") and then enumerates the exact breakdowns returned: reach and impressions per country, age/gender, Google surface, and targeting attributes. That enumeration differentiates it well from get_competitor_analyses and get_competitor_creative_mix, though no sibling is named 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?

"Sums every ad on record unless startedWithinDays or activeOnly narrows it" establishes the default aggregation behavior, which is a usage-relevant constraint. But it never says when to reach for this tool over list_competitor_ads or get_competitor_analyses, and lists no prerequisites or exclusions. Usage is inferable rather than stated.

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