Skip to main content
Glama

Keyword and target history

get_ad_entity_history
Read-only

Returns daily SP/SB keyword or product-target bid, source currency and state observations, including paused/zero-delivery entities. history returns captures; net_changes compares the exact start/end dates, including unchanged entities. Missing or incomplete enumeration is unknown, not absence. Null is not zero. Daily captures cannot identify actors, causes, intraday edits/reversals, or states before collection began.

Input Schema

NameRequiredDescriptionDefault
viewNoDaily observations, or net differences between the exact start and end capture dates (not every edit).history
limitNoRows per page, 1–100
offsetNoContinue with pagination.next_offset; keep all filters unchanged
end_dateNoUTC capture date, YYYY-MM-DD. Defaults to today. Net changes use these exact endpoints, with no carry-forward.
ad_productYesSponsored Products or Sponsored Brands
entity_idsNoUp to 100 exact entity IDs. Without parent filters, includes absent/unknown observations for these IDs.
profile_idNoNumeric Amazon Ads profile ID. Optional when this API key has exactly one enabled Ads profile; agentcentral will default it. Call get_account_info for amazon_ads.enabled_profile_ids. Do not use the marketplace ID, tenant ID, or API key prefix.
start_dateNoUTC capture date, YYYY-MM-DD. Defaults to 30 days ago. At most 90 inclusive dates per request.
ad_group_idNoExact ad group ID; net changes match either observed endpoint
campaign_idNoExact campaign ID; net changes match either observed endpoint
entity_kindYesEntity family; IDs are scoped to this family and ad product
include_raw_rowsNoFor tabular results, false returns compact rows capped at MCP_TEXT_ROW_PREVIEW_LIMIT (default 10), regardless of limit. Complete-page and custom non-tabular responses may ignore this option; see tool-specific notes. Default true; large full-row responses are capped separately. Freshness fields require include_diagnostics=true in either row mode, where supported.
include_diagnosticsNoTrue enables expanded freshness diagnostics. Where supported, snapshot_capture_at and snapshot_data_through_date are populated only when include_diagnostics=true, in both compact and full-row modes; values may still be null if source data is unavailable. Default false. Basic empty-result data-window diagnostics are included by default when available.

Output Schema

NameRequiredDescriptionDefault
evidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare a safe read (readOnlyHint true, destructiveHint false, openWorldHint false), yet the description goes materially further: enumeration gaps mean unknown, not absence; null is not zero; and daily captures cannot reveal actors, causes, intraday edits/reversals, or pre-collection states. These are substantive interpretation constraints an agent would otherwise get wrong, and they do not contradict the annotations.

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?

Front-loaded with what the tool returns, then view semantics, then caveats. The sentences are dense but each carries distinct information; the compressed phrasing ('Missing or incomplete enumeration is unknown, not absence') is terse enough to read as clipped rather than wasteful.

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?

For a 13-parameter, read-only history tool with an output schema and full annotation coverage, the description covers the interpretive risks (unknown vs absence, null vs zero, actor/cause limits) that the schema cannot. Remaining gaps are minor: the 90-day range cap and pagination discipline live in the schema, so their absence here is acceptable.

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?

With 100% schema coverage the baseline is 3, but the description adds genuinely new semantics: net_changes compares 'the exact start/end dates, including unchanged entities', which the schema only partially conveys via 'not every edit'. It does not add anything for limit/offset/entity_ids beyond what the schema documents.

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 uses a specific verb and enumerates the exact resources returned: daily SP/SB keyword or product-target bid, source currency, and state observations, plus scope detail ('including paused/zero-delivery entities'). It is clearly distinguishable from performance tools by naming the observed fields, though it never names the near-siblings (get_ads_change_history, get_action_history) it could be confused with.

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?

It differentiates the two views precisely ('history returns captures; net_changes compares the exact start/end dates, including unchanged entities'), which guides parameter choice. It gives no guidance on when an agent should pick this tool rather than get_ads_change_history or get_keyword_performance, so tool-level selection is left inferred.

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.