Skip to main content
Glama
kLOsk

AdLoop: Google Ads, Reddit Ads & GA4

Change history

get_change_history
Read-only

Retrieve Google Ads account change history to see who changed what, when, and via which tool. Helps diagnose performance drops.

Instructions

List recent account changes: who changed what, when, and through which tool.

Answers "what changed before the drop?". Returns each change newest first with its time, the user's email, the client it came through (Google Ads UI, API, Google Ads scripts, Editor, automated rules, auto-applied recommendations, ...), the changed resource type, the operation (CREATE, UPDATE, REMOVE), the changed field paths, and the campaign and ad group names. Also returns counts by resource type, client, user and day, plus insights on auto-applied recommendations and budget or bidding changes. Google Ads keeps change history for 30 days, so older start dates are moved to the earliest available day.

Reads the change_event resource: https://developers.google.com/google-ads/api/docs/change-event

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of changes returned, newest first (1 to 10000; default 1000). The response is marked truncated when the limit is reached.
campaign_idNoOptional numeric campaign ID; only changes attributed to that campaign are returned.
customer_idNoGoogle Ads customer ID, digits with or without dashes (e.g. "123-456-7890"). Defaults to the configured ads.customer_id.
date_range_endNoEnd date as "YYYY-MM-DD" (inclusive). Empty means today.
resource_typesNoOptional filter of ChangeEventResourceType names, e.g. ["CAMPAIGN", "CAMPAIGN_BUDGET", "AD_GROUP_AD", "AD_GROUP_CRITERION"]. Empty = all types.
date_range_startNoStart date as "YYYY-MM-DD", at most 30 days back. Empty starts at the oldest day Google Ads still keeps.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.27.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description adds real behavioral context beyond them: the 30-day retention window, the clamping of older start dates to the earliest available day, and the shape of aggregated output (counts by resource type/client/user/day, auto-applied recommendation insights). These are constraints an agent could not infer from the schema.

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?

Purpose and scope are front-loaded in the first sentence, followed by return-shape detail and the retention caveat. The enumeration of clients and the resource URL add some length, but each segment carries useful selection or interpretation value.

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 audit tool with an output schema present, the description covers what is returned, the retention bound, the aggregation summary, and the underlying resource. Nothing an agent needs to invoke it correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description explains the date_range_start behavior that the schema alone doesn't (older start dates are moved to the earliest available day), which is the one non-obvious parameter interaction. Other parameters are left to the schema.

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 + resource ('List recent account changes: who changed what, when, and through which tool') and grounds it in a concrete API resource (change_event), which clearly separates it from the performance/reporting siblings like get_campaign_performance or run_gaql.

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?

Gives a clear use context ('what changed before the drop?') that signals the diagnostic/audit scenario, which no sibling covers. It does not explicitly name an alternative tool or state when not to use it, so it stops short of full routing guidance.

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

Deploy Server

Other Tools