Skip to main content
Glama

Nolio

Read personal records

get_records
Read-only

Read personal records: the best power, pace, heart rate, torque, vertical speed or cadence held over a duration or a distance.

Call it without category first: it returns no record, only the catalog of categories and windows (windows). Then read records with: category: ppr (power, W), phrr (heart rate, bpm), par (pace), ptr (torque, N.m), pvar (vertical speed, m/h), pcadr (cadence). axis: 'time' (best over a duration) or 'distance' (best over a distance covered). windows: durations in seconds or distances in metres, taken from the catalog only. sports: spt_… handles from list_sports. top: records per window, best first (max 10). Pace reads in seconds per km (running), per 100 m (swimming), per 500 m (rowing), km/h otherwise: format it for the person (238 s/km is 3:58 per km).

Input Schema

NameRequiredDescriptionDefault
topNo
axisNo
sportsNo
athleteNo
date_toNo
windowsNo
categoryNo
date_fromNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/destructive=false, so safety is covered; the description adds genuinely non-obvious behavior — that a call with no `category` returns no records at all but a catalog in `windows`. It also discloses the `top` cap of 10 and the unit/format conventions for pace. It does not explain anything about date scoping or the `athlete` parameter, which is the remaining behavioral gap.

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?

Front-loaded with purpose, then the two-step workflow, then per-parameter notes — a sensible order for an agent. Density is high and each parameter line earns its place. The pace-formatting aside (238 s/km is 3:58 per km) is useful but is presentation advice sitting in a tool definition, slightly padding the tail.

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-shape detail is rightly omitted, and the one non-obvious return case (empty call yields the catalog) is covered. For an 8-parameter analytics tool with a zero-coverage schema, the undocumented `athlete` and date-range parameters are the notable omissions — particularly `athlete`, given list_athletes is a sibling and multi-athlete scoping is ambiguous.

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 0% schema coverage the description carries the full burden, and it mostly delivers: it enumerates the six `category` codes with their units, gives both legal `axis` values with meaning, states that `windows` are seconds or metres and must come from the catalog, and caps `top` at 10. Three of eight parameters — `athlete`, `date_from`, `date_to` — receive no mention at all, so it stops short of full compensation.

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-plus-resource ('Read personal records') and immediately defines the resource precisely: best power, pace, heart rate, torque, vertical speed or cadence held over a duration or a distance. That is distinguishable at a glance from every sibling (get_stats_chart, get_training_load, list_metrics), none of which return all-time bests.

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

Usage Guidelines5/5

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

It prescribes an explicit call sequence: invoke without `category` first to get the category/window catalog, then read records with a `category`. It also names two prerequisites by sibling tool ('windows ... taken from the catalog only', 'sports: spt_… handles from list_sports'), so the agent knows where dependency values come from.

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