Skip to main content
Glama
get-mcp-ads

Google Ads by Get MCP Ads

google ads generate keyword historical metrics

google_ads_generate_keyword_historical_metrics
Read-onlyIdempotent

Retrieve historical Keyword Planner search-volume data for supplied keywords, including monthly volumes, average searches, competition, CPC ranges, and year-over-year changes.

Instructions

Get Keyword Planner search-volume history for supplied keywords. Returns average monthly searches, monthly volumes (up to 48 months), latest volume, computed 3-month and YoY changes, competition, CPC/bid ranges, close variants, and optional device totals. This is a read-only planless RPC.

Input Schema

NameRequiredDescriptionDefault
networkNoGoogle Ads search network selector used for planning.GOOGLE_SEARCH
keywordsYesKeywords to analyze; Google may combine near-exact close variants
customerIdYesGoogle Ads serving customer ID; use the client account, not its MCC manager
languageIdNoOptional language criterion ID, e.g. 1002 for French; omit for all languages
endYearMonthNoOptional inclusive historical range end YYYY-MM
geoTargetIdsNoGeo target criterion IDs, e.g. 2250 for France; empty means all geographies
historyMonthsNoHistory length when no explicit YYYY-MM range is supplied; 24 enables YoY calculation
startYearMonthNoOptional inclusive historical range start YYYY-MM
includeAverageCpcNoRequest legacy average CPC in addition to top-of-page bid ranges
includeAdultKeywordsNoAllow adult keyword ideas where supported by the provider and the selected market.
includeDeviceBreakdownNoReturn aggregate searches by device across all requested keywords
includeMonthlySearchVolumesNoInclude every monthly point in the MCP output. Set false to trim an allowed response; Google's upstream series and the 50,000-point guard are unchanged

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv2.1.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / endYearMonth / $ref
      Removed value: -"#/properties/startYearMonth"
    • addedInput schema / properties / endYearMonth / pattern
      Added value: +"^\\d{4}-(0[1-9]|1[0-2])$"
    • addedInput schema / properties / endYearMonth / type
      Added value: +"string"
    • removedInput schema / properties / languageId / $ref
      Removed value: -"#/properties/geoTargetIds/items"
    • addedInput schema / properties / languageId / pattern
      Added value: +"^\\d+$"
    • addedInput schema / properties / languageId / type
      Added value: +"string"
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv2.0.1

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'This is a read-only planless RPC' restates structured data (though 'planless' adds a small prerequisite detail). It usefully discloses that Google may combine near-exact close variants and describes the response shape, but says nothing about quota/rate limits, latency, or error modes for a large open-world RPC.

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?

Two sentences, front-loaded with the purpose and followed by the return payload. The middle enumeration of output fields is dense but every clause maps to a distinct capability; nothing is redundant filler beyond a slight overlap with the output schema.

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?

With an output schema present, return-value detail is technically redundant, but the description still gives an agent enough to know it will receive monthly series, competition, and bid ranges. The only real gap is guidance on choosing this versus the sibling generate_* pricing/forecast tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 12 parameters including defaults and bounds. The description adds only two marginal facts ('up to 48 months', 'close variants'), so it neither compensates for nor detracts from the schema — baseline 3 applies.

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?

States a specific verb and resource ('Get Keyword Planner search-volume history for supplied keywords') and enumerates the returned metric families, so an agent can separate it from google_ads_generate_keyword_ideas (idea discovery) and google_ads_generate_keyword_forecast_metrics (forward-looking forecasts). The 'supplied keywords' phrasing signals that input keywords are required, not generated.

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

Usage Guidelines3/5

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

Usage is only implied: 'for supplied keywords' suggests this is the lookup path once keywords are already known, and 'read-only planless RPC' hints at no billing/plan prerequisite. It never explicitly names the alternative sibling tools (keyword_ideas, forecast_metrics) or states when-not to use this one.

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