Skip to main content
Glama

Why a number went up or down

why_did_it_change
Read-only

Use whenever someone asks why a number moved: a spike, a drop, a quiet or busy day ('why did downloads spike on Sep 21?'). Give date for one day, or period for a range like 2026-09-20..2026-09-28 (explained as a whole, then the days in it far from usual); a period like 30d lists the days far from usual in it, newest first; 'today' explains today so far against a usual day at this hour. Each cause says how much of the number it explains ('Apple Ads 83 of 147'), whether a store or ad network counted it or it's worked out ('about'), what nothing explains, how sure the whole answer is (sure, likely, guess), and at most one suggested next step. Built from the data alone.

Input Schema

NameRequiredDescriptionDefault
appYesWhich app: its id or part of its name. Known apps: .
dateNoOne day, like 2026-09-21.
metricNoWhich number to explain: downloads (default when the app has store numbers), people, new_people or money.
periodNoInstead of date: 7d (default), 30d, 90d, 12m, today, yesterday, all, 14d, a day like 2026-09-21, or a range like 2026-09-01..2026-09-30. Default 7d.
sourceNoOnly one source's numbers (app_store, google_play, revenuecat, admob, mixpanel, sdk). Leave out for everything together, counted once.

Output Schema

NameRequiredDescriptionDefault
appYes
whyYes
metricYes
periodYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

readOnlyHint already tells the agent this is a safe read. The description's main additions are output semantics (attribution share, counted vs derived, residual, confidence, one next step) and the caveat that results are 'built from the data alone' — but most of the output-shape detail is duplicated by the existing output schema, so its net behavioral contribution is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger is correctly front-loaded, but the body is a single sprawling sentence with stacked parentheticals that is harder to parse than needed. Several clauses (period values, source options) repeat what the schema already enumerates.

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 annotations covering safety and an output schema covering the return shape, the description supplies the missing pieces: when to reach for it, how to choose date vs period vs today, and the resolution model behind causes. Nothing crucial is absent, though the relationship to sibling tools (timeline, today) is never articulated.

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 genuinely adds semantics beyond the schema: it explains that a range is explained as a whole then day-by-day, that 30d lists outlier days newest-first, and that 'today' compares against a usual day at this hour. Only the date/period/source enumeration is merely restated.

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 pair ('explain why a number moved') plus concrete trigger situations (spike, drop, quiet or busy day), immediately setting it apart from siblings like timeline or today. An agent reading only this line knows exactly what question this tool answers.

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?

The opening clause gives a clear activation condition ('use whenever someone asks why a number moved') and the description then routes between date, period and 'today'. It never names an alternative sibling or a case where a different tool should be used instead, so it stops short of a 5.

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