Skip to main content
Glama

Google Ads: list asset links

list_asset_links
Read-onlyIdempotent

Lists every asset link in an account — account, campaign and ad group.

One call answers "which phone numbers, sitelinks, callouts... are on, and
where?": each link comes back with its level, field type, status (what
the advertiser set: ENABLED or PAUSED), primary status (whether Google is
actually serving it), the asset's ID, type and text, the campaign / ad
group it sits on, and the tool and arguments that pause or re-enable it.

Args:
    customer_id: The Google Ads customer ID (numbers only, no hyphens).
    field_type: Only links of this field type, e.g. CALL. Optional.
    include_removed: Also return REMOVED links (deleted earlier, e.g. in
        the Google Ads UI; they no longer serve and cannot be changed
        here). Defaults to False.

Returns:
    Dictionary with the links, and counts of links by status.

Tools revision: d80f65c0.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "customer_id": "<customer_id>"
    },
    "name": "list_asset_links"
  }
}

Input Schema

NameRequiredDescriptionDefault
field_typeNo
customer_idYes
include_removedNo

Output Schema

NameRequiredDescriptionDefault
resultYes

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?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds real behavioral content: it separates advertiser-set status (ENABLED/PAUSED) from Google's primary serving status, and explains that REMOVED links no longer serve and cannot be changed through this tool. That distinction is exactly the kind of nuance an agent cannot infer from structured fields.

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?

It is front-loaded with the one-line purpose, then Args, then Returns, which is easy to scan. A few phrases are expansive (the quoted "One call answers..." sentence and the enumeration of phone numbers/sitelinks/callouts), but they still carry selection value rather than padding.

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 read-only list tool with three parameters, the description covers purpose, filtering, default behavior, and the shape of each returned record (level, field type, status vs primary status, asset ID/type/text, parent campaign/ad group, and the tools to pause or re-enable). With an output schema present, the brief Returns note is sufficient rather than redundant.

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 description coverage is 0%, so the description carries the full burden and does so: customer_id is "numbers only, no hyphens", field_type is filterable with a concrete example (CALL), and include_removed is documented with its default and the precise semantics of REMOVED links. All three parameters gain meaning beyond their bare names.

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?

"Lists every asset link in an account — account, campaign and ad group" is a specific verb + resource + scope, read as a single read operation. It is distinguishable from the sibling mutation tools (link_asset_to_campaign, link_assets_to_customer, set_campaign_asset_status) without opening any schema.

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 "One call answers 'which phone numbers, sitelinks, callouts... are on, and where?'" framing gives a concrete decision context for when to reach for this tool. It does not name an alternative or state an explicit when-not-to-use case, 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources