Skip to main content
Glama
surendranb

plausible-mcp

by surendranb

get_breakdown

Retrieve Plausible analytics metrics segmented by page, source, country, browser, OS, or device for a selected site and date range.

Instructions

Get metrics breakdown by dimension: pages, sources, countries, browsers, operating systems, or devices.

Args: site_id: Domain name of the site in Plausible (e.g. 'surendranb.com'). property_name: Dimension to segment by. Accepts aliases: 'page', 'source', 'country', 'browser', 'os', 'device', 'entry_page', 'exit_page', 'city', 'region', or full Plausible names like 'event:page', 'visit:source'. date_range: Time period ('day', '7d', '30d', 'month', '6mo', '12mo', or 'YYYY-MM-DD,YYYY-MM-DD'). Default '30d'. limit: Maximum number of rows to return (default 20, max 100). token: Optional Plausible API token. If omitted, uses PLAUSIBLE_API_KEY environment variable.

Input Schema

NameRequiredDescriptionDefault
limitNo
tokenNo
site_idYes
date_rangeNo30d
property_nameNoevent:page

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It does disclose defaults ('30d', limit 20) and the auth fallback to PLAUSIBLE_API_KEY, which is genuinely useful beyond the schema. However, it says nothing about the read-only nature, error behavior on bad dimension names, or how rows are ordered.

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?

The purpose is front-loaded in one sentence, with parameter detail following. The Google-style Args block is slightly verbose but each line carries non-redundant information given 0% schema coverage.

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?

An output schema exists, so return values needn't be described. The remaining gap is modest but real: it never says which metric ranks the breakdown rows (visitors vs pageviews) or whether results are truncated by limit. For a top-N analytics tool that omission affects how an agent interprets results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description fully compensates: it gives the accepted aliases ('page', 'os', 'entry_page', ...) plus full Plausible names ('event:page', 'visit:source'), the date_range grammar including explicit-range format, and the limit ceiling of 100. None of this value is available from the bare schema titles.

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 ('Get') and resource ('metrics breakdown by dimension') and enumerates the dimensions. It is clearly distinguishable from siblings like get_aggregate_stats or get_timeseries, since it is the only one that segments by a dimension.

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

Usage Guidelines3/5

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

Usage is only implied by the phrase 'breakdown by dimension'; no explicit when-to-use vs when-to-use get_aggregate_stats or get_timeseries is given, and no exclusions or prerequisites are stated. The parameter list does imply the intended calls, but the agent must infer the selection rule itself.

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