Skip to main content
Glama

Vary a workout

vary_workout
Read-only

Variations of one library workout from our generator (no AI), as text, in its own format or another. Nothing is saved.

A shortfall says what blocked it.

Input Schema

NameRequiredDescriptionDefault
sexNoWho trains, for the weights and machine doses: "men", "women", or "mixed" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's ("9/6 kg", "12/10 kcal"). Anything but men gets only workouts with a women's weight on every loaded line. Example: "women".
nameYesThe library workout's name or part of it, any case; several matches are an error listing them (up to 10) to ask again. Example: "Fran".
countNoHow many variations, at most 5. Example: 3.
formatNoTurn it into this format first: for_time, amrap, emom, intervals. About its minutes: an EMOM gives each line its own minute when a round is over 40 s, intervals rest as long as a round's work. Omitted keeps its own. Example: "emom".
peopleNoHow many train together with one of each machine. Above 1, only workouts they can share come back: partner workouts (taking turns on a station), or EMOMs/intervals with a different machine on every line and at least one line per person (start apart, rotate). Example: 2.
equipmentNoWhat the athletes have, as list_equipment keys or names ("echo-bike" or "echo", "row erg", "ski erg"), one item per entry. Say "1 dumbbell" or "1 kettlebell" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored ("1 echo" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need "running" in the list. A name matching several keys or none is an error naming them. Example: ["1 dumbbell", "box", "ski-erg"]. Omitted is the kit the workout already uses.
bodyweightNoFalse also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.
show_scoresNoTrue adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.
temperatureNo0 to 1, how far they stray from it (0.2 close, 1 far). Example: 0.5.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the readOnly/non-destructive annotations, it adds two genuinely useful facts: nothing is persisted (so repeats are safe to re-run even though idempotentHint=false, since temperature-driven variation yields different output), and failures surface as a "shortfall" explaining what blocked it. It does not discuss cost/latency of generating up to 5 variations, but the safety-relevant behavior is well covered.

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?

Three very short sentences, front-loaded with what the tool produces, then the persistence caveat, then error behavior. Efficient with no filler, though the trailing "A shortfall says what blocked it" is slightly cryptic out of context.

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?

With 9 parameters, an output schema, and full schema coverage, the description supplies the missing high-level picture: operates on one existing library workout, output is text, is not saved, and can reformat. The only residual ambiguity is how this differs from generate_workouts, which the description never resolves.

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% and every parameter carries a detailed description, so the description correctly leaves parameter detail to the schema. It adds only a faint echo of the format parameter ("in its own format or another") and says nothing about name, count, equipment, or temperature semantics beyond that.

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?

"Variations of one library workout from our generator (no AI), as text, in its own format or another" states a specific resource (an existing library workout) and a specific transformation (vary it), and clarifies it is deterministic/non-AI. It does not name the sibling generate_workouts, so the boundary with the generator family is only implicit.

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?

Usage is only implied: the phrase "one library workout" signals this operates on an existing named workout rather than creating a new one, which is the implicit split from generate_workouts and suggest_workouts. No explicit when-to-use/when-not or named alternative appears, and the requirement that the name resolve uniquely is only visible in the schema.

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