Skip to main content
Glama

Simple Analytics MCP by usefulapi

Get traffic summary

simpleanalytics_get_stats
Read-only

Aggregated traffic for one website and date range: total pageviews, unique visitors and the median seconds on page. Optional filters narrow it to a page, country, referrer, UTM value, browser, OS, device or metadata value. Stats API: GET /.json.

Input Schema

NameRequiredDescriptionDefault
endNoEnd date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today.
pageNoOnly this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*).
pagesNoOnly these page paths, comma separated (/contact,/product/*).
startNoStart date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago.
countryNoOnly this country, 2-letter code (NL).
os_nameNoOnly this OS name (iOS).
hostnameYesWebsite hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites).
metadataNoExact metadata filters as {key: value}; all must match.
referrerNoOnly this referrer (normalized, e.g. google.com).
timezoneNoIANA time zone, e.g. Europe/Amsterdam. Default: the website setting.
utm_termNoOnly this UTM term.
utm_mediumNoOnly this UTM medium.
utm_sourceNoOnly this UTM source.
device_typeNoOnly this device type.
utm_contentNoOnly this UTM content.
browser_nameNoOnly this browser name (Chrome).
utm_campaignNoOnly this UTM campaign.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safety profile, and the description adds real value on top: it names the exact returned measures (notably 'median seconds on page' rather than an average) and maps the operation to the underlying GET /<hostname>.json endpoint. It does not mention rate limits, caching, or behavior for empty result sets, which keeps it short of 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.

Conciseness5/5

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

Three sentences, front-loaded with the aggregate itself and then compressing a 15-filter surface into a single enumerable clause plus an endpoint pointer. Every sentence carries load and there is no repetition of schema detail.

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 correctly compensates by naming the returned metrics and their units. Filter coverage is fully delegated to a 100%-documented schema, and the hostname dependency is spelled out. It says nothing about result cardinality or whether the summary is a single object, a minor remaining gap.

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% across 17 parameters, so syntax (date aliases like today-30d, prefix wildcards, 2-letter country codes, metadata key/value matching) is fully carried by the schema. The description only lists the filter categories, adding discoverability but no semantics beyond the schema — the correct baseline here is 3.

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?

States a concrete verb+resource ('Aggregated traffic for one website and date range') and enumerates the exact metrics returned (pageviews, unique visitors, median seconds on page), so the agent knows precisely what it gets. It does not name or contrast with the natural siblings — get_breakdown, get_timeseries, get_events — which all operate on the same hostname/date scope, so cross-tool discrimination is left implicit.

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 implied rather than stated: the tool is for a single aggregated summary, and the sentence about optional filters clarifies that narrowing is possible. There is no explicit 'use this instead of get_timeseries when you want a single total' guidance, and no exclusions, so the agent must infer when this beats its siblings.

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.