Skip to main content
Glama

set_training_max

DestructiveIdempotent

Set the training max for an exercise, creating it or updating an existing value. The training max is the estimated one rep max used to compute workout weights for percentage-based loads. Updating an existing training max recalculates the weight of every workout where the exercise uses percentage of training max.

Args: exercise_name: Exact exercise display name from the catalog or the user's custom exercises. training_max: The training max value, in the user's units (lb or kg per their settings).

Input Schema

NameRequiredDescriptionDefault
training_maxYesTraining max in the user's units (lb or kg per their settings)
exercise_nameYesExact exercise display name from the catalog or the user's custom exercises

Output Schema

NameRequiredDescriptionDefault
unitsYes
outcomeYes
previousNo
training_maxYes
exercise_display_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / exercise_name / description
      Previous value: -"Exact exercise display name from search_exercises"New value: +"Exact exercise display name from the catalog or the user's custom exercises"
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint and idempotentHint, but the description adds genuinely valuable context beyond them: updating an existing max recalculates the weight of every workout using percentage-of-training-max. That silent side effect is exactly the kind of disclosure an agent needs before mutating.

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 action and definition, then the recalculation caveat, then Args. Efficient, though the Args block duplicates schema descriptions and costs a little space without adding much.

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?

With an output schema present and annotations covering the safety profile, the description supplies the one missing piece — the cascading recalculation on update — making the definition complete enough to invoke correctly.

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%, so both parameters are already documented in the schema; the description's Args section largely restates exercise_name and training_max. No additional syntax, format, or constraint detail is added beyond the units note already in the schema.

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 (set) and resource (training max) and then defines what a training max actually is — the estimated 1RM used for percentage-based loads. This distinguishes it clearly from the read-only sibling get_training_maxes.

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?

The description notes it creates-or-updates (upsert semantics), which is useful implied usage, but it never says when to prefer this over inspecting existing values via get_training_maxes or what prerequisites exist. Usage is inferable rather than stated.

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