Skip to main content
Glama

Zovo Client Report

Summarize metric changes

summarize_metric_changes
Read-only

Use this when the user wants a quick period-over-period (week over week, month over month) change table for their metrics without a PDF: "what changed vs last month", "month over month change", "calculate % change for these KPIs". Takes the same inputs as generate_client_report (typed pairs, a pasted table or a CSV/Excel export with dates) and returns absolute and % changes, rates recomputed from totals, computed highlights, and Excel and CSV files. Use generate_client_report when the user wants a client-ready PDF report. Does not connect to analytics accounts and does not explain why numbers changed.

Input Schema

NameRequiredDescriptionDefault
dataNoOptional: a pasted CSV/TSV table instead of metrics. Either a daily or weekly export with a Date column and metric columns (e.g. "Date,Sessions,Clicks,Impressions\n2026-10-01,410,22,1900"), or a Metric | This month | Last month table.
fileNoOptional: an uploaded CSV or Excel (.xlsx) export, e.g. ga4-sessions.csv, search-console-dates.csv, meta-ads.xlsx or shopify-sales.csv. A Date column plus metric columns, or a Metric | This period | Previous period table.
periodNoOptional for exports with dates: week, month, quarter or auto (default). auto compares calendar months when the data covers whole months, otherwise the latest half of the dates against the half before. Example: month.
metricsNoThe metrics, this period and the previous period. Any of: a list like [{"name":"Sessions","current":12400,"previous":10900},{"name":"Revenue","current":"$8,450","previous":"$7,900"}]; an object like {"Sessions":[12400,10900]}; or text like "Sessions: 12,400 vs 10,900; Clicks 1,180 vs 1,010". Values may be strings with $, %, k or commas. Optional fields per metric: format (number, money, percent, ratio, duration), higher_is_better (false for cost per click, bounce rate).
currencyNoOptional: currency for money metrics without a symbol, e.g. USD, EUR, GBP. Default USD.
date_orderNoOptional: MDY (US, default) or DMY for dates such as 03/10/2026.
pair_orderNoOptional: current_first (default: "Sessions 1200 1000" means 1,200 now, 1,000 before) or previous_first. Words such as vs, from ... to, or column headers like This month / Last month always win.
current_periodNoOptional: dates of this period, e.g. "2026-10-01 to 2026-10-31" or "Oct 2026". Used to split a dated export and as the label in the report.
lower_is_betterNoOptional: metric names where a decrease is good, beyond the built-in ones (cost per click, CPA, CPM, bounce rate, position, churn), e.g. ["Refund requests"].
previous_periodNoOptional: dates or label of the previous period, e.g. "Sep 2026". Default: the same length right before current_period.

Output Schema

NameRequiredDescriptionDefault
titleYes
clientYes
countsYes
periodYes
metricsYes
headlineYes
warningsYes
downloadsYes
highlightsYes
assumptionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: it inherits the input contract of generate_client_report, states it returns absolute and % changes plus rates recomputed from totals and computed highlights, and discloses the two things it will not do (no analytics account access, no causal explanation). Minor overlap with the output schema on returned artifacts keeps it from a 5.

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 the usage trigger and example phrasings, then the input contract, then the output artifacts, then the alternative and exclusions — a sensible order. Dense but every sentence carries information; the only slight redundancy is restating returned file formats that the output schema also covers.

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 10-parameter, nested-object tool with an output schema, the definition covers input modes, the sibling alternative, output artifacts, and explicit scope limits. Nothing needed to call it correctly appears to be missing, though it stays silent on how ambiguous or malformed pasted tables are handled.

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 adds the missing cross-parameter model: the input arrives as typed pairs, a pasted table, or a CSV/Excel export with dates — clarifying that data/file/metrics are alternative entry paths rather than joint requirements (no parameters are required). It does not walk through period, date_order, or pair_order individually, leaving those 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 and resource — a period-over-period change table for metrics — and immediately disambiguates from the sibling by naming generate_client_report and the condition that selects it (PDF output). Example user phrasings ('what changed vs last month', 'calculate % change for these KPIs') make the resource concrete.

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 when-to-use triggers with quoted user phrasings, an explicit alternative plus its condition (generate_client_report for a client-ready PDF), and explicit when-not boundaries ('Does not connect to analytics accounts and does not explain why numbers changed'). An agent can route between the two siblings without opening either schema.

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