Skip to main content
Glama

List Google Creative Assets

adsap_google_list_creative_assets

List the creative assets already in a Google Ads account's library: IMAGE (with dimensions + which PMax/Demand Gen image slots each fits), YOUTUBE_VIDEO (video id + title) and TEXT assets. Google assets are account-scoped, immutable and cannot be deleted — to stop one serving, remove its LINK from the campaign (adsap_google_manage_extension for extension links; asset-group edits ship later). Pass usage_for_asset_id to see WHERE one asset is used (campaign / ad-group / PMax asset-group / account-level links AND inside ads) — the pre-flight for 'can I stop using this?'. Asset ids feed the *_asset_ids inputs of the PMax / Demand Gen / Display / App create tools, so re-using an existing image needs no re-upload. ad_account_id is the bare 10-digit customer ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax assets returned (newest first).
searchNoCase-insensitive substring filter on asset name / video title / text content (applied after fetch).
asset_typeNoRestrict to one asset type. Omit for all three (IMAGE, YOUTUBE_VIDEO, TEXT).
ad_account_idYesBare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix.
usage_for_asset_idNoReturn where THIS asset is used (campaign / ad-group / asset-group / account links + inside ads) instead of the asset list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/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 behavioral disclosure burden and does so thoroughly: assets are account-scoped, immutable, and cannot be deleted; stopping serving requires removing links; usage_for_asset_id returns usage in campaigns, ad groups, PMax asset groups, account-level links, and inside ads. This adds rich context well beyond the schema.

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 longer than two sentences, but every sentence earns its place: output breakdown, immutability and deletion constraint, removal path, usage pre-flight, integration with create tools, and ad_account_id format. The purpose is front-loaded and the structure flows logically from what the tool does to how to use it.

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 tool with no annotations and no output schema, the description covers the full invocation context: scope, output categories, immutability, deletion restrictions, usage lookup, reuse in create tools, filtering semantics, and ID formatting. An agent has enough information to select and correctly invoke this tool.

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 meaning: ad_account_id is specified as a bare 10-digit customer ID from adsap_google_list_ad_accounts, usage_for_asset_id is explained as returning usage locations instead of the list, and asset_type omission is clarified as returning all three types. These additions justify a 4.

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: lists Google Ads account library creative assets, enumerating IMAGE, YOUTUBE_VIDEO, and TEXT with details such as dimensions, slot fit, video id, and title. It distinguishes itself from the generic sibling adsap_list_creative_assets by explicitly scoping to a Google Ads account and describing Google-specific output semantics.

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?

Gives clear context on when to use the tool: as a pre-flight via usage_for_asset_id to decide whether an asset can stop serving, and as a source of asset ids for create tools. It names adsap_google_manage_extension as the alternative for removing extension links and notes asset-group edits are pending, though it does not explicitly contrast against the generic list tool.

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