Skip to main content
Glama
Unilytics MCP Server

Unilytics MCP Server

Official

audience_recommendations

Read-only

Suggests Google Ads audience signals by matching campaign keywords to in-market and affinity segments, then adds demographic and bid-modifier recommendations for standard or Performance Max campaigns.

Instructions

Suggest audience signals for a Google Ads campaign from Google Ads' fixed audience catalog.

Matches the first few keywords against the catalog's in-market and affinity segment names (a text
match, not a model) and adds demographic and bid-modifier suggestions for the campaign type.

Args:
    keywords: Target keywords for the campaign (e.g. ["hotels in goa", "beach resorts"])
    campaign_type: "standard" or "pmax" (Performance Max). Default: "standard"
    industry: Business industry (e.g. "travel", "ecommerce", "saas"). Default: "general"

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "keywords": "<keywords>"
    },
    "name": "audience_recommendations"
  }
}

Input Schema

NameRequiredDescriptionDefault
industryNogeneral
keywordsYes
campaign_typeNostandard

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.0
    • removedInput schema / properties / config
      Removed value: -{
      -  "default": null,
      -  "title": "config",
      -  "type": "string"
      -}
  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=true and destructiveHint=false, but the description adds behavior those annotations cannot convey: matching is a text match, not a model, and only the first few keywords are checked against in-market and affinity segment names. Disclosing that heuristic limitation is exactly the kind of context that prevents an agent from over-trusting results. It does not describe the shape of the returned suggestions, which is the remaining gap.

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?

Two sentences of prose plus a compact Args block, front-loaded with the purpose and the matching mechanism. Nothing is padded; the mechanism sentence is long but earns its length by disclosing the text-match limitation.

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?

With no output schema, the description should say what a returned recommendation looks like (segment names, demographics, bid modifiers, confidence), and it does not. Inputs and matching behavior are well covered for a low-risk read-only tool, but the output side is left entirely to inference.

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 description coverage is 0%, so the description carries the full burden, and it does: all three parameters are documented with examples and defaults, including the fact that campaign_type accepts only 'standard' or 'pmax' and industry defaults to 'general'. This adds real meaning the bare schema lacks, though the enumerated values are prose rather than schema constraints.

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 specific verb and resource: 'Suggest audience signals for a Google Ads campaign from Google Ads' fixed audience catalog.' That tells an agent exactly what is produced and where the candidates come from. It stops short of naming a sibling (e.g. audience_segments, demographic_options) as the alternative, so differentiation is left implicit.

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 implied rather than stated: the tool is for a campaign whose keywords you already have, and it also folds in demographic and bid-modifier suggestions for the campaign type. There is no explicit 'use this when X, use audience_segments instead when Y' routing, so the agent must infer the boundary from context.

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

Deploy Server

Other Tools