Skip to main content
Glama

Draft a price asset

draft_price_asset

Draft a price asset (the row of prices under an ad) — returns a PREVIEW.

Creates a price asset with 3-8 offerings and links it where the id points: ad_group_id links to that ad group, campaign_id to that campaign. Account-wide linking needs scope="account" and no id. Every offering URL is checked for reachability. Google disapproves prices that differ from the landing page. Returns a preview with a plan_id.

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

Input Schema

NameRequiredDescriptionDefault
scopeNoEmpty (follows the id), "campaign", "ad_group" or "account".
offeringsYes3-8 dicts, each with header and description (at most 25 characters each, headers unique), price (greater than 0), final_url, and optional final_mobile_url and unit (PER_HOUR, PER_DAY, PER_WEEK, PER_MONTH, PER_YEAR, PER_NIGHT).
price_typeYesSERVICES, BRANDS, EVENTS, LOCATIONS, NEIGHBORHOODS, PRODUCT_CATEGORIES, PRODUCT_TIERS, SERVICE_CATEGORIES or SERVICE_TIERS.
ad_group_idNoNumeric ID of the ad group to link them to, instead of a campaign.
campaign_idNoNumeric ID of the campaign to link the prices to.
customer_idNoGoogle Ads customer ID (digits, dashes optional). Defaults to the configured account.
currency_codeNoISO 4217 code of the prices. Empty uses the account currency (shown in the preview).
language_codeYesLanguage of the offerings' text ("de", "en"). Required.
price_qualifierNoFROM ("From 49 EUR"), UP_TO or AVERAGE; empty for none.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, open-world behavior. The description adds meaningful traits beyond annotations: it returns a preview with a plan_id, checks offering URLs for reachability, and warns that Google disapproves prices differing from the landing page.

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 description is front-loaded with the core purpose and preview behavior. It is mostly efficient, though it repeats the preview/plan_id return value in two places and includes an API documentation link that is useful but somewhat boilerplate.

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?

With an output schema and 100% schema coverage, the description only needs to add behavioral and linking context, which it does well. It could be slightly more complete by explicitly naming confirm_and_apply as the next step for the returned plan_id, but the definition is otherwise sufficient.

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 the baseline is 3, but the description adds useful cross-parameter meaning: it explains how ad_group_id vs campaign_id determines linking and that account-wide linking requires scope="account" with no id. It also reinforces the 3-8 offerings constraint and URL checking.

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 (draft/create) and resource (price asset), with a clear explanation of what a price asset is. It explicitly distinguishes the output as a PREVIEW rather than an applied change, which separates it from sibling mutation/apply tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the linking rules: ad_group_id links to an ad group, campaign_id to a campaign, and account-wide linking requires scope="account" with no id. It does not explicitly name confirm_and_apply as the follow-up step, so the when-to-use guidance is clear but not fully routing.

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.