Skip to main content
Glama

generate_report

Destructive

Generate a Search Console business report for one period (clicks, impressions, rankings, branded vs non-branded, page movers, narrative) compared with the previous period. Needs Search Console paired on the site. Defaults to the last full calendar month.

Input Schema

NameRequiredDescriptionDefault
site_idYesThe site ID to generate a report for
period_endNoPeriod end, YYYY-MM-DD, not in the future. Default: last day of last month
brand_termsNoBrand query terms (JSON array or comma-separated) for the branded vs non-branded split
period_typeNo"monthly" (default; period must be one full calendar month), "weekly" (exactly 7 days) or "custom"
period_startNoPeriod start, YYYY-MM-DD. Default: first day of last month
comparison_modeNo"previous_period" (default), "year_over_year" or "none"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / brand_terms
      Added value: +{
      +  "description": "Brand query terms (JSON array or comma-separated) for the branded vs non-branded split",
      +  "type": "string"
      +}
    • addedInput schema / properties / comparison_mode
      Added value: +{
      +  "description": "\"previous_period\" (default), \"year_over_year\" or \"none\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / period_end
      Added value: +{
      +  "description": "Period end, YYYY-MM-DD, not in the future. Default: last day of last month",
      +  "type": "string"
      +}
    • addedInput schema / properties / period_start
      Added value: +{
      +  "description": "Period start, YYYY-MM-DD. Default: first day of last month",
      +  "type": "string"
      +}
    • addedInput schema / properties / period_type
      Added value: +{
      +  "description": "\"monthly\" (default; period must be one full calendar month), \"weekly\" (exactly 7 days) or \"custom\"",
      +  "type": "string"
      +}
    • removedInput schema / properties / report_type
      Removed value: -{
      -  "description": "Type of report: 'full', 'executive', 'technical'. Default: 'full'",
      -  "type": "string"
      -}
  2. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful context (GSC pairing requirement, calendar-month default), but it never explains what the destructive/non-idempotent behavior actually means for a report generator — e.g. whether it overwrites an existing report or persists an artifact.

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?

Two dense sentences with zero filler; the core action and report contents lead, and the prerequisite and default follow. Nothing is repeated or wasted.

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 no output schema, the description usefully enumerates what the report contains, and the prerequisite plus default period make the call self-contained for a 6-parameter tool. The remaining gap is the unexplained destructive side effect, which the description leaves entirely to the annotations.

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 every parameter is already documented in the schema; the baseline is 3. The description adds one marginal detail by restating the default period ("last full calendar month") that period_start/period_end already express, but contributes nothing new about period_type, comparison_mode, or brand_terms.

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 names a specific verb and resource ("Generate a Search Console business report") and enumerates the report's contents (clicks, impressions, rankings, branded split, page movers, narrative), so the agent knows exactly what is produced. It does not explicitly differentiate itself from siblings like get_report, download_report, or list_reports, which keeps it short of a 5.

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?

It gives a clear precondition ("Needs Search Console paired on the site") and a default operating range ("Defaults to the last full calendar month"), which tells the agent when the tool is applicable. There is no guidance on when NOT to use it or which sibling to prefer for retrieving versus downloading an existing report.

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.

Resources