Skip to main content
Glama

QRCodeKIT

Link & QR Analytics

get_link_stats
Read-onlyIdempotent

Retrieve analytics for the whole QRCodeKIT account or for one link. Reports total, unique, and repeat visits, unique-visitor ratio, activity over time, and — when the account plan supports advanced analytics — breakdowns by country, city, device, operating system, and browser. Account-wide results also include the number of links and the top links ranked by lifetime visits. Use this when the user asks about QR scans, short-link clicks, campaign performance, audience location, devices, trends, comparisons, or top-performing links. Every visit to the short URL is counted, so link clicks and QR scans are combined: one campaign can live in a printed QR, an Instagram bio, and an email and report in one place. Select a link by qr_id, slug, or part of its title via qr; omit it for the whole account. Defaults to the last 30 days; the interval can be auto, hourly, daily, weekly, or monthly. The structured result contains the full tables for answering questions about the data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qrNoOptional link to deep-dive into: the QRCodeKIT qr_id, the short-link slug, or (part of) the link title. Omit for account-wide stats.
end_dateNoLast day of the stats window (YYYY-MM-DD). Defaults to today.
intervalNoTime-series bucket size: 1h, 1d, 1w, or 1M. Use 'auto' (default) to pick a sensible bucket from the range length.auto
start_dateNoFirst day of the stats window (YYYY-MM-DD). Defaults to 29 days before end_date.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
qrNoThe QR the stats belong to when scope is 'qr'.
scopeYes'qr' for a single QR deep-dive, 'account' for all QRs in the account.
citiesNo
noticeNoHuman-readable note about limits or missing data, if any.
devicesNo
summaryNo
top_qrsNoAccount scope only: QRs ranked by lifetime visit totals.
browsersNo
end_dateYesLast day of the stats window (YYYY-MM-DD).
intervalYesTime-series bucket size: 1h, 1d, 1w, or 1M.
qr_countNoAccount scope only: number of QRs covered by the stats.
countriesNo
start_dateYesFirst day of the stats window (YYYY-MM-DD).
time_seriesNo
operating_systemsNo
advanced_stats_availableNoFalse when the plan does not include advanced analytics breakdowns.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context beyond that: every short-URL visit is counted, QR scans and link clicks are combined into one metric, account-wide results include extra aggregates, the window defaults to the last 30 days, and the interval selection affects the time-series buckets. It also notes that advanced breakdowns depend on the account plan.

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 description is long but earned: it front-loads the core purpose and metrics, then covers usage triggers, account-vs-link semantics, parameter behavior, defaults, and result shape. The 'structured result contains the full tables' sentence is somewhat vague and adds little, but overall the structure is logical and every major section serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity—4 optional params, one enum, account-vs-link variants, plan-dependent fields, and an existing output schema—the description is complete. It explains how to select a link, how to omit it for account-wide stats, how date defaults and interval work, and what the data semantics are. There is no obvious missing piece that would prevent an agent from invoking it correctly.

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%, so the baseline is 3. The description mostly reinforces what the schema already says: qr can be an ID, slug, or title fragment, end_date defaults to today, start_date defaults to 29 days before, and interval supports auto/hourly/daily/weekly/monthly. It adds minor value by framing defaults as 'last 30 days,' but it does not need to compensate for any schema gaps.

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 description opens with a specific verb and resource: 'Retrieve analytics for the whole QRCodeKIT account or for one link.' It enumerates the exact metric families returned, which clearly distinguishes it from sibling tools like list_links or show_links that handle link listing rather than analytics. The usage phrase 'Use this when the user asks about QR scans, short-link clicks, campaign performance...' further locks in the purpose.

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 description explicitly states when to use the tool: 'Use this when the user asks about QR scans, short-link clicks, campaign performance, audience location, devices, trends, comparisons, or top-performing links.' It does not explicitly name an alternative tool or state when not to use it, but the supported-use cases are concrete enough to guide selection. A brief exclusion or sibling comparison would have earned 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