Skip to main content
Glama
flin-gmp-mcp

flin-gmp-mcp

by flin-agency

run_dv360_report

Starts an asynchronous DV360 report run from a saved query, using saved or overridden dates, and returns a report key/status to track until rows can be read.

Instructions

Start an asynchronous DV360 report run; never changes campaigns or its definition.

Omitted dates use the saved query's range. Both dates override this run only. Returns Google's report key/status: check get_dv360_report until DONE, then use read_dv360_report_rows. FAILED is terminal. Do not poll in a tight loop. Existing query notification settings apply. After timeout, list runs before retrying because Google may already have started the run. Never automatically retry this write.

Input Schema

NameRequiredDescriptionDefault
accountNo
end_dateNo
query_idYes
start_dateNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.3

TDQS

A4.7/5.0
Behavior5/5

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

The annotations declare non-read-only, non-idempotent, non-destructive, open-world, and the description adds real context on top: Google may already have started a run after a timeout, FAILED is terminal, existing query notification settings apply, and retries must be manual. That directly explains the consequences of the non-idempotent hint rather than restating it.

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?

Front-loaded with purpose, then lifecycle, then cautions, with no filler sentences. Every clause carries operational weight, including the short timeout and retry rules that prevent duplicate runs.

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 an asynchronous job trigger this is complete: it covers start, status check, terminal failure, eventual row retrieval, and timeout recovery, and an output schema exists so return shape need not be described. Only the account parameter's role is left implicit, which is already captured under parameter semantics.

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 0%, so the description must carry parameter meaning. It does well for start_date/end_date (omitted = saved query range, both = one-run override only), but query_id and especially account are never explained, and no date format is given. Two of four parameters remain semantically thin.

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?

"Start an asynchronous DV360 report run" names a specific verb and resource, and the opening clause clarifies it never mutates campaigns or the saved definition, which separates it from create_dv360_report_query and the read siblings. An agent can place this tool in the run lifecycle without opening the schema.

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

Usage Guidelines5/5

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

Explicit routing is given: check get_dv360_report until DONE, then use read_dv360_report_rows. It also states anti-patterns (do not poll in a tight loop, never automatically retry) and the timeout recovery path (list runs before retrying). This is the when/when-not/alternatives standard at full strength.

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