Skip to main content
Glama

Google Ads MCP

Fetch Marketing Data

fetch_data
Read-only

Use for one fresh, read-only table from exactly one source. Choose google_ads for Google paid-media delivery and account performance; meta_ads for Meta Ads performance across Facebook, Instagram, and Messenger; google_search_console for the connected site's observed organic queries, pages, clicks, impressions, and positions; google_analytics for sessions, users, events, and website conversions; keyword_research for exact demand, phrase suggestions, category or site ideas, historical demand, paid or organic competitor rankings, paid competitors, or a current Google results page; or web_search for public-page discovery, one exact page scrape, or a bounded site URL map. Keyword research requires an explicit market and language from the request or saved user context; never infer either. All keyword-research monetary estimates are USD, and paid competition is not organic difficulty. Site-derived ideas are not rankings. When the user does not request a keyword count, ask for at most 25 rows. Give one self-contained request with its scope, dates, metrics, dimensions, filters, and ordering. Keep each fetch to one resource and grain. Use additional fetch_data calls for other resources, grains, or sources, then transform their artifacts when they must be combined.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesReporting source for this request. Example: `google_ads`. Rules: choose exactly one listed source; use separate calls for other sources.
requestYesSelf-contained data request. Example: `Show campaign spend and conversions from 2026-08-01 through 2026-08-31, highest spend first.` Rules: use 3–6000 characters and include the required scope, dates, metrics, dimensions, filters, and ordering.
brand_idYesAccessible brand workspace. Example: `br_abc123`. Rules: copy an exact ID supplied by the host or list_brands and never infer it from a name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
titleYes
offsetYes
columnsYes
has_moreYes
expires_atYes
total_rowsYes
artifact_idYes
next_offsetNo
returned_rowsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds meaningful behavioral context beyond that: 'fresh' data, 'exactly one source,' the non-ranking nature of site-derived ideas, and the USD convention for keyword-research estimates. It also clarifies that paid competition is not organic difficulty, preventing a common misinterpretation.

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 long but information-dense, and every sentence carries a real constraint or routing rule. It front-loads the core invariant ('fresh, read-only table from exactly one source') before diving into source-specific guidance, and the caveats about keyword research are essential rather than 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?

Given the tool's complexity—six distinct data sources, nuanced keyword-research semantics, and a free-form request parameter—the description is remarkably complete. It covers source selection, request construction, row limits, combining results via transform, and the key pitfalls, while the presence of an output schema makes a return-format explanation unnecessary.

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 description coverage is 100%, so the baseline is 3, but the description adds substantial meaning for the `source` and `request` parameters. It explains what each source is for, what a self-contained request must include (scope, dates, metrics, dimensions, filters, ordering), and adds constraints like at most 25 rows when no count is requested.

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 action statement: 'Use for one fresh, read-only table from exactly one source,' naming the resource class and its scope. It then enumerates each source (google_ads, meta_ads, etc.) with the exact use case it serves, making the tool's purpose unmistakable and differentiated from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance by mapping each source enum to a specific reporting need, then says to use additional fetch_data calls for other sources and transform artifacts when combining. It also provides hard rules such as requiring an explicit market and language for keyword research, never inferring them, and capping unrequested keyword rows at 25.

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