Skip to main content
Glama
block-town

google-ads-transparency-mcp

by block-town

fetch_ad_creative

Fetch actual ad creatives from Google Ads Transparency Center using advertiser and creative IDs. Save image files at original resolution or extract video frames as JPEGs for local use.

Instructions

Download an ad's actual creative to local files.

Image ads are always saved at their original resolution, so the file you get back is the real creative — usable in a deck or a slide as-is. Video ads are downloaded and sampled into evenly spaced JPEG frames.

Args: advertiser_id: The advertiser's ID (e.g. "AR04139428671737823233") creative_id: The creative/ad ID (e.g. "CR01542648288744833025") out_dir: Directory to write into. Defaults to a fresh temp directory. frames: How many frames to sample from a video (default 8). width: Frame width in pixels, height follows aspect (default 320). Ignored when full_quality is set; pass 0 for native resolution. full_quality: Keep the best video stream and write frames at native resolution. Use for presentation; leave off for vision analysis.

Returns: {format, out_dir, files, ...}. Text ads carry no downloadable asset and return their decoded copy instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNo
framesNo
out_dirNo
creative_idYes
full_qualityNo
advertiser_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that image ads are saved at original resolution, video ads are sampled into JPEG frames, the frames/width/full_quality parameters affect output, and text ads return decoded copy instead of a file. This is thorough and lets an agent predict the tool's behavior accurately.

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 well-structured: a concise opening, then an Args section listing each parameter with explanations, and a Returns section. It is front-loaded with the core purpose, and every sentence adds value—no filler. The length is justified given the parameter complexity.

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?

Despite no output schema, the description includes a Returns section summarizing the return format and noting the text-ad special case. All six parameters are fully explained, including defaults and interactions. The tool's complexity is high (multiple formats, sampling options), and the description covers what an agent needs to call it correctly without missing critical information.

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?

The schema has 0% description coverage, so the description must compensate. It does so thoroughly: the Args section explains each parameter (advertiser_id, creative_id, out_dir, frames, width, full_quality) with usage details, defaults, and edge cases (e.g., width ignored when full_quality is set). This adds substantial meaning beyond the raw 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 opens with a precise verb and resource: 'Download an ad's actual creative to local files.' It clearly states what the tool does and distinguishes image vs video handling, making its purpose unambiguous. It also implicitly differentiates from siblings like get_ads or get_ad_detail by focusing on downloading the creative asset itself.

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 provides clear guidance on when to use specific options: 'Use for presentation; leave off for vision analysis' (referring to full_quality). It explains the difference between image and video handling and when to use full_quality vs not. However, it does not explicitly compare with sibling tools like download_ad_creatives, so it lacks an explicit 'when not to use' or alternative selection.

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