Skip to main content
Glama

Get training statistics

get_stats
Read-only

Statistics for ONE exercise, or for training as a whole. The user's goals, injuries, per-muscle weekly sets and recent working weights for a review of their training are in get_coaching_context (task='weekly_review').

The parameter is named kind, not stat_type/stat/type/metric. It defaults to 'volume', the only value that needs no exercise_id.

exercise_id is REQUIRED for kind='progression' and kind='prs' (they are per-exercise) and is ignored for kind='volume' (whole-training-volume over time). Progression or prs without an exercise_id is an error, not a whole-library default; exercise ids come from list_exercises.

'progression' → per-date top set, est-1RM (Epley), volume + PRs; 'prs' → personal records; 'volume' → total training volume over time with trend %. One movement the user logged under several catalogue rows is read as one history; same_movement_ids then lists those rows. get_coaching_context bundles these numbers with the user's goal and context for planning.

Input Schema

NameRequiredDescriptionDefault
kindNovolume
date_fromNo
exercise_idNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and non-destructive, and the description goes well beyond them: it discloses the error behavior for missing exercise_id, the per-kind return composition (top set, Epley est-1RM, PRs, trend %), and the non-obvious merging behavior where one movement logged under several catalogue rows is treated as one history with same_movement_ids listing them. That is real behavioral context an agent cannot get from annotations.

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 the core distinction and dense with useful facts; the anti-hallucination note ('named `kind`, not stat_type/stat/type/metric') earns its place as a guardrail. Minor redundancy in restating get_coaching_context at both the start and the end, which slightly dilutes the structure.

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 and the description still usefully explains what each kind yields, and the required-vs-ignored parameter logic is fully covered for a zero-coverage schema. The only real hole is date_from, whose range semantics are left entirely unexplained for a tool whose whole point is time-series statistics.

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?

Schema description coverage is 0%, so the description must carry the load, and it does for two of three params: `kind` is fully enumerated with what each value returns and which needs an exercise_id, and exercise_id's requirement/ignored conditions are spelled out. The third parameter, date_from, is never mentioned, leaving its filtering semantics undocumented in both schema and description.

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?

Opens with a specific resource and scope: 'Statistics for ONE exercise, or for training as a whole', immediately covering both modes. It names the sibling it is not (get_coaching_context) and what that sibling adds, so an agent can route without opening either schema.

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?

Gives explicit when-to-use routing for get_coaching_context (task='weekly_review'), per-kind guidance for which kind to pick, and a hard exclusion rule: exercise_id is REQUIRED for progression/prs and ignored for volume. It even states the failure mode ('without an exercise_id is an error, not a whole-library default') and points to list_exercises for ids.

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.