Skip to main content
Glama
kLOsk

AdLoop: Google Ads, Reddit Ads & GA4

Draft additions to a brand list

add_to_brand_list

Append brands to an existing Google Ads brand list and return a preview; confirm the plan to add them.

Instructions

Append brands to an EXISTING brand list — returns a PREVIEW.

For a list that already exists and only needs more brands (propose_brand_list creates a new list instead). The shared_set_id comes from get_brand_lists; get_brand_list_brands shows the brands already in the list, which makes a brand that would be added twice visible.

Returns a preview with a plan_id; nothing changes until the returned plan_id is applied with confirm_and_apply.

Google Ads API: https://developers.google.com/google-ads/api/docs/start

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
brand_idsYesCommercial Knowledge Graph MIDs from suggest_brands.
customer_idNoAds account ID. Defaults to the configured account.
shared_set_idYesNumeric list ID from get_brand_lists.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.27.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered, but the description adds genuinely non-obvious behavior: the call returns a PREVIEW with a plan_id and 'nothing changes until the returned plan_id is applied with confirm_and_apply'. That two-phase commit contract is the key operational fact an agent needs and is not in the annotations.

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?

The core action and preview caveat are front-loaded in the first line, then supporting routing and workflow details follow in short paragraphs. Every sentence earns its place; the trailing API docs link is the only filler and is minor.

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?

With an output schema present the description need not explain return values, yet it still flags the plan_id preview, the confirm_and_apply dependency, the sibling alternative, and where the required IDs come from. An agent has everything needed to call this 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%, so brand_ids, customer_id, and shared_set_id are already documented at field level, and the description largely echoes the schema's provenance notes. The dedup hint tied to get_brand_list_brands adds a little meaning but no format or constraint detail beyond the schema, so the baseline 3 applies.

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 ('Append brands to an EXISTING brand list') and immediately disambiguates from the closest sibling, propose_brand_list, which 'creates a new list instead'. An agent can pick this over its sibling without opening either schema.

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?

Explicit when-to-use ('a list that already exists and only needs more brands'), an explicit when-not (propose_brand_list for new lists), and prerequisite routing for both required params: shared_set_id from get_brand_lists and get_brand_list_brands for duplicate detection. Nothing is left to inference.

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