Skip to main content
Glama

Top values of one dimension

get_breakdown
Read-onlyIdempotent

Ranks one dimension by visits over a window: pages (all, entry, exit), traffic sources or UTM campaigns, countries/regions/cities, devices/browsers/OSes, languages, outbound clicks, custom events. Combine with filters to segment ("countries of visits from google.com"). Beyond visits: crawlers (AI and search bots by requests), links (short links by clicks), event_properties (the properties of one custom event, with event_name). Rows past limit are dropped; raise limit (max 200) rather than calling twice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>",
      "dimension": "<dimension>"
    },
    "name": "get_breakdown"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoLast day, inclusive, YYYY-MM-DD; default today
fromNoFirst day, YYYY-MM-DD; overrides period
limitNoRows to return, at most 200
detailNodetailed adds columns and splits; concise costs fewer tokensconcise
periodNoWindow ending now; days are whole days in the timezone. Ignored when from is set.30d
crawlerNoWith crawlers: one bot from that ranking, to list the paths it requested
filtersNoKeep only matching traffic; values of one dimension are OR-ed, dimensions AND-ed
site_idYessite_id from list_sites; a site name, slug or domain also resolves
timezoneNoIANA zone for day boundaries; default the user's
dimensionYes
event_nameNoFor event_properties

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the description correctly spends its words elsewhere: it discloses the truncation model ("Rows past limit are dropped"), the 200-row ceiling, and the token cost tradeoff in the detail parameter. It does not describe what a returned row contains or how errors surface for invalid dimension combinations (e.g. event_properties without event_name), which keeps it short of full transparency.

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?

Three dense sentences, front-loaded with purpose, then usage, then the truncation caveat — an efficient ordering. The long dimension enumeration partially duplicates the schema enum, but the parenthetical annotations make it earn most of its space as a scanning aid rather than pure repetition.

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 an 11-parameter tool with no output schema, the definition covers the decision-critical surface: which dimension to pick, how filters compose, and how limit affects completeness. The main gap is the absence of any hint about return shape (row fields, sort order) which, with no output schema present, the agent can only guess.

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?

With schema coverage at 91%, the schema already documents nearly every parameter, so the baseline is 3. The description still adds real meaning on top: it glosses the dimension enum with parenthetical scope ("pages (all, entry, exit)"), links event_properties to event_name, and frames filters as a segmentation mechanism rather than just an array. The limit/max-200 restatement is the only redundant part.

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?

The opening clause states a specific verb and resource ("Ranks one dimension by visits over a window") and then enumerates the dimension families so an agent can match an intent to this tool without opening the schema. It also calls out the specialized dimension values (crawlers, links, event_properties), which tells the agent this tool covers ground that might otherwise look like a job for get_link_clicks or get_ai_assistants.

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?

Usage is well signaled: the filter-segmentation pattern is given with a concrete worked example ("countries of visits from google.com"), and the guidance to raise limit instead of calling twice is an explicit operational rule. What is missing is sibling routing — nothing says when to prefer get_link_clicks, get_ai_assistants, or get_web_vitals over the equivalent dimensions here, so overlap with those tools is left for the agent to infer.

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