Skip to main content
Glama

MoveMate: Gym Workout Tracker

Get training stats

get_training_stats
Read-only

Answers "how am I doing" — totals, volume, weekday frequency, and streak over a rolling period. Returns one complete training-stats summary for one rolling period. Call exactly once per distinct requested period (for a 7-day/30-day comparison, exactly two calls: last_7d and last_30d). Never call once per day, workout, exercise, set, or muscle group, and never repeat an identical period in the same answer.

Input Schema

NameRequiredDescriptionDefault
periodNoRolling window ending today. Default last_30d.
muscle_groupNoMoveMate muscle-group id — NOT a name such as "chest", which matches nothing and zeroes the volume. Usually omit it: the result already breaks sets down per muscle group in sets_per_muscle_group.

Output Schema

NameRequiredDescriptionDefault
localeYes
periodYes
streakYes
avg_rirNo
rated_setsNo
total_volumeYes
total_workoutsYes
last_workout_atYes
avg_duration_minYes
sets_per_muscle_groupYes
days_since_last_workoutYes
workout_frequency_by_weekdayYes

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 establish the safe read-only, non-destructive, closed-world profile, so the description need not restate safety. It does add genuinely non-obvious behavioral context: the one-call-per-period contract and the prohibition on repeating identical periods, which prevents over-calling. It does not describe pagination or response size, but with an output schema present that gap is small.

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 user-facing purpose before the return contract and the call discipline. Every sentence carries operative information; nothing is redundant or decorative.

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?

An output schema exists, so return-value detail is unnecessary, and the description covers the two things the schema cannot: what the summary contains and how many times to call it. Complete for a zero-required-parameter read tool.

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 coverage is 100% and the schema itself already explains the period window and the muscle_group id-vs-name trap, so the schema carries the parameter burden. The description only references 'last_7d' and 'last_30d' as examples, adding no syntax or semantics beyond the enum. Baseline 3 is appropriate.

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 and resource with concrete scope: totals, volume, weekday frequency, and streak over a rolling period, and clarifies it returns one summary per period. The call-discipline sentences ('never call once per day, workout, exercise, set, or muscle group') implicitly separate it from the per-entity siblings like get_workout and get_recent_workouts, so an agent can route correctly without opening a 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?

Explicit when-to-use rules: call exactly once per distinct requested period, exactly two calls for a 7-day/30-day comparison, and explicit never-call-per-entity exclusions. Alternatives and anti-patterns are both named, leaving nothing to inference.

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