Skip to main content
Glama
scalably-io

google-ads-mcp

by scalably-io

google_ads_keyword_historical_metrics

Read-only

Retrieve historical monthly search volumes and competition metrics for keywords using Google Ads data.

Instructions

Historical monthly search-volume + competition metrics for specific keywords.

Args: customer_id: 10-digit customer_id. keywords: list of keyword strings (max 10,000 per call). language_id / geo_target_ids / keyword_network: same shape as keyword_ideas. year_month_start / year_month_end: optional date range as {year: 2025, month: 1..12}. Defaults to last 12 months.

Returns: {results: [{text, approximate_monthly_searches, monthly_search_volumes: [{year, month, monthly_searches}], competition, high/low_top_of_page_bid_micros}]}.

Rate limit: 1 QPS. May require Basic Access.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keywordsYes
customer_idYes
language_idNo1000
include_adultNo
geo_target_idsNo
year_month_endNo
keyword_networkNoGOOGLE_SEARCH
year_month_startNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds value by disclosing the rate limit (1 QPS), access requirement (Basic Access), and the default date range (last 12 months). It also specifies the return structure. No contradictions with annotations. It does not mention side effects (none expected) but covers operational behavior well.

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 with an Args/Returns/Rate limit format, front-loads the purpose, and uses compact bullet-like lines. Every sentence provides necessary information without fluff. It is concise yet comprehensive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 8 parameters and zero schema description coverage, the description covers nearly all of them, explains the return format, rate limits, and access constraints. The only minor gap is include_adult, which is a boolean with a default. Overall, an agent can call the tool correctly with this description.

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 0%, so the description must compensate. It explains customer_id, keywords, language_id/geo_target_ids/keyword_network, and the year_month_start/end object format. It omits include_adult, but that parameter has a default and is self-explanatory. The return structure is also explained, aiding parameter interpretation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'historical monthly search-volume + competition metrics for specific keywords', which is specific and distinct from siblings like keyword_ideas (ideas) and forecast_metrics (forecasts). It identifies the resource (keywords) and the action (retrieve historical metrics). However, it does not explicitly contrast with sibling tools, so a slight deduction.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives like google_ads_keyword_ideas or google_ads_keyword_forecast_metrics. It mentions 'same shape as keyword_ideas' only for parameter structure, not for selection criteria. No exclusions or conditional usage are stated, leaving the agent to infer from the name.

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