Skip to main content
Glama
ibrahimhajjaj

seo-console-mcp

ads_assets

Read what ad assets actually say (sitelinks, callouts, promotions, etc.) across account, campaigns, and ad groups, including account-level assets that apply to all.

Instructions

Read the sitelinks, callouts, structured snippets, promotions, prices, call and image assets attached to the account, its campaigns and its ad groups, with what each one actually says rather than only its type and id. An account-level asset applies to every campaign, so it is listed even when one campaign is named: an ad that looks bare in ads_ad_copy may be serving with these beside it. Attached is not shown, and a level that cannot be read is reported as an error in place rather than as nothing attached; read-only

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoLimit to one asset type. Omitted, every type is listed, including types this tool has no shaped reading for
campaignNoLimit campaign and ad group assets to one campaign by name. Account-level assets are still listed, because they apply to every campaign including this one
includeRemovedNoInclude links whose status is removed. Off by default: a removed asset is history and crowds out the ones that can serve

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
assetsYes
byTypeYesHow many of each type were found, so an absent type is visible as absent
rowCountYes
levelErrorsYesA level that could not be read is recorded here rather than omitted, so an empty list is never mistaken for nothing attached

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.18.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 full responsibility for behavioral disclosure. It explicitly notes the tool is read-only, that account-level assets are included even when a campaign is specified, that 'Attached is not shown', and that unreadable levels are reported as errors. These disclosures go well beyond typical descriptions and cover key behavioral nuances.

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 three well-crafted sentences, with the primary purpose front-loaded. Each sentence adds distinct value: the main read operation, the account-level nuance with a practical example, and behavioral caveats plus the read-only note. There is no redundant or filler text.

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?

Given the tool's complexity (multiple asset types, multiple levels, filtering) and the presence of an output schema (which covers return values), the description is complete. It explains filtering behavior, error handling, and the relationship to ad copy, giving an agent everything needed to call it correctly without requiring external knowledge.

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?

Although the schema already documents all parameters (100% coverage), the description adds significant semantic value. For 'type', it notes that omitting it lists all types including those without shaped readings; for 'campaign', it clarifies that account-level assets are still listed; for 'includeRemoved', it explains the rationale for the default. This enriches each parameter's meaning beyond the basic schema text.

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 states a specific verb ('Read') with a clear resource ('sitelinks, callouts, structured snippets, promotions, prices, call and image assets') and scope ('account, campaigns, ad groups'). It further specifies that it returns actual content rather than just type/id, which distinguishes it from sibling tools like ads_ad_copy. This is a precise, non-tautological purpose.

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 context on when to use this tool, notably the example that an ad looking bare in ads_ad_copy may be serving with assets from this tool. It implicitly differentiates from ads_ad_copy by emphasizing asset content. However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of a 5.

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