Skip to main content
Glama
Luxand

google-ads-write-mcp

by Luxand

set_final_urls

Update final URLs and URL suffixes for ads, ad groups, and assets in one atomic operation, preserving ad text and history. Use to retag campaigns or move UTMs.

Instructions

Update final URLs and/or final URL suffixes in one atomic mutate.

targets: [{"resource_name": <ad (adGroupAds/..~..) | ad group (adGroups/..) | asset (assets/..)>, "final_url": "https://..." (ads and assets), "final_url_suffix": "utm_..." or "" to clear (ad groups and ads)}, ...] Ads keep their text and history: Google allows changing an ad's final URLs in place. Typical use: move UTMs from an ad-group suffix into the final URL itself, or retag a campaign. Dry run unless confirm=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNo
targetsYes
customer_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.8.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it delivers: it discloses atomicity, that ads keep text and history, that changes happen in place, and that the operation is a dry run unless confirm=true. This is exactly the safety-critical behavioral context an agent needs.

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 description is compact yet information-dense, with the main purpose front-loaded, followed by a structured target example, a behavioral note, and the dry-run warning. Every sentence adds necessary value without repetition or 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?

For a mutation tool with three parameters and an output schema, the description covers the essential invocation details: target types, field applicability, atomicity, in-place preservation, typical use, and confirmation behavior. Nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description thoroughly compensates by documenting the targets array structure, allowed resource_name values, which fields apply to which entity types, and how to clear final_url_suffix. It also explains the confirm parameter's dry-run behavior; customer_id is self-explanatory from the schema.

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?

The description uses a specific verb ('Update') and resource ('final URLs and/or final URL suffixes') and clarifies the atomic, multi-entity scope by naming ads, ad groups, and assets. This clearly distinguishes it from sibling tools like set_campaign_final_url_suffix, which is narrower in scope.

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?

The description gives explicit typical use cases: moving UTMs from an ad-group suffix into the final URL, or retagging a campaign. It does not explicitly state when not to use this tool versus alternatives, but the target scope and examples make the intended context clear.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Luxand/google-ads-write-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server