Skip to main content
Glama
dorian-K

Alpha Progression MCP

by dorian-K

get_sessions

Read-onlyIdempotent

Retrieve compact workout session summaries newest first, including sets, volume, top sets, and e1RM data. Filter by date range or limit and refresh cached results.

Instructions

Performed workouts as compact summaries, newest first.

Per workout: name, plan, start, duration, working sets, volume (kg x reps), and per exercise the muscle, working sets, top set and e1RM. skipped lists exercises that were planned but not done; mobility lists stretches (not counted as training). Dates are YYYY-MM-DD, inclusive. Cached 5 min; refresh=true reloads.

Input Schema

NameRequiredDescriptionDefault
limitNo
refreshNo
end_dateNo
start_dateNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuine context beyond them: a 5-minute cache with a refresh=true override, newest-first ordering, and clarifying that 'mobility' entries are not counted as training. It omits pagination/limit behavior and what happens when the date range is empty.

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?

Front-loads the core purpose in one line, then uses a tight second block for field contents and a third for edge cases (skipped, mobility) and operational traits (dates, cache). Dense but every sentence carries information an agent can act on.

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, yet the description still usefully orients the agent to the shape of each workout summary. With four optional params and no required ones, the definition is nearly complete; only the meaning/effect of 'limit' is left unexplained.

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 coverage is 0%, so the description carries the load and does: refresh is explained as a cache reload, start_date/end_date are given a concrete YYYY-MM-DD format and inclusive semantics. Only 'limit' (default 20) is left entirely undocumented, a minor gap against three well-covered parameters.

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?

The opening line names a specific resource (performed workouts/sessions) and its form (compact summaries, newest first), which lets an agent distinguish it from the single-record sibling get_session. It stops short of naming a sibling explicitly, so the differentiation is inferred from 'summaries'.

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?

Implicit usage: fetch a list of past workouts, optionally bounded by start_date/end_date, with a caching caveat and a refresh escape hatch. There is no explicit guidance on when to prefer this over get_session, get_weekly_training, or get_exercise_history, so the agent must infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.