Skip to main content
Glama

Generate a workout

generate_workout
Read-only

Build a complete workout session with warm-up, main sets/reps/rest, cool-down, and swap suggestions tailored to goal, level, duration, and equipment.

Instructions

One complete session built from movement patterns: warm-up, main work with sets/reps/rest, cool-down and swap suggestions. Needs the Growth plan or higher.

Input Schema

NameRequiredDescriptionDefault
goalNo
langNoLanguage for names, instructions and tips (default en)
seedNoSame seed + same inputs = same workout
levelNo
modelNoAnimation model
splitNo
formatNo
excludeNoExercise ids to leave out
durationNoMinutes (default 45)
bodyFocusNoMuscles or body parts to emphasise
equipmentNoAvailable equipment, e.g. ["dumbbell","bench"]; empty = gym
avoidJointsNoJoints to spare; exercises that load them are left out

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds two genuinely useful facts beyond that: the output composition and the 'Growth plan or higher' entitlement requirement. It does not address determinism, defaults handling, or selection behavior when constraints conflict, which matters for a 12-parameter generator.

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?

Two tight sentences with the output content front-loaded and the plan requirement trailing as a constraint. No filler, though the entitlement sentence could carry more weight if paired with usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 optional parameters, no output schema, and only sparse descriptions, the definition is under-specified for correct invocation. The description covers what comes back and the plan gate but leaves parameter interaction, defaults beyond those in the schema, and alternative-tool routing unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% and the description supplies no parameter-level meaning at all: nothing about how goal, split, format, duration, equipment, bodyFocus or avoidJoints interact, nor how conflicts (e.g., avoidJoints vs bodyFocus) are resolved. 'Built from movement patterns' is the only hint and it does not map to any parameter.

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 description states what is produced (a complete single session: warm-up, main work with sets/reps/rest, cool-down, plus swap suggestions) and the underlying approach (movement patterns). It implicitly distinguishes itself from generate_program via 'one complete session', but never names that sibling or states the verb 'generate' explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus generate_program or search_exercises, and no stated prerequisites beyond a plan tier. The agent must infer that this builds one session while generate_program builds a multi-week plan.

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