Skip to main content
Glama
anthonyblazejack

amazon-ads-mcp

run_report

Read-only

Generate Amazon Ads reports by date range and preset, returning daily rows or aggregated totals for selected groups, and optionally save results to a JSON file.

Instructions

Run a report (dates YYYY-MM-DD, any length) and return rows or totals.

preset: sp_campaigns, sp_placement, sp_ad_groups, sp_targeting, sp_search_terms, sp_advertised_products, sp_purchased_products. group_by (e.g. ["campaignName", "placementClassification"]) sums numeric columns per group instead of returning daily rows. save_to writes every row to a JSON file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endYes
startYes
marketYes
presetYes
save_toNo
group_byNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is already covered. The description adds valuable behavior beyond that: group_by changes output semantics (sums numeric columns per group rather than daily rows) and save_to writes every row to a JSON file. The save_to write is an output-file write, not a data-source mutation, so it does not contradict readOnlyHint.

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 date format are front-loaded in the first sentence. The preset list is necessary since the schema has no enums, and the group_by/save_to explanations earn their place because the schema has zero descriptions. Slightly run-on formatting but efficient overall.

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?

An output schema exists, so return format is covered. The description handles the complex aspects (presets, group_by transformation, save_to side-effect) and date format. The only material omission is the required 'market' parameter, which has no description or enum to guide the agent.

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 preset (all seven valid values), group_by (summing behavior with examples), save_to (writes JSON), and start/end date format (YYYY-MM-DD, any length). The only gap is 'market', which is required but never described.

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 states a clear verb+resource: 'Run a report... return rows or totals' with date range YYYY-MM-DD. The preset list further scopes what kinds of reports. It's clearly distinct from all sibling tools, none of which run reports, though it doesn't explicitly name a sibling as the alternative.

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?

The description gives strong HOW-to guidance (presets, group_by semantics, save_to behavior) but no explicit WHEN-to-use versus alternatives. Usage context is implied by the unique purpose, yet there's no guidance on when not to use it or which sibling might be more appropriate for a given scenario.

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