Skip to main content
Glama

Change settings

trainrec_change_settings

Changes settings. unit: lb or kg. foodShows: the full list of extra nutrients shown, in order, replacing the old one ([] shows only the macros). exerciseCalories: none, half or all of each day's bonus calories (active calories beyond a usual day, or workout calories when there is no daily count) added to the calorie target. weightGoal: a body weight in goalUnit (or theirs), or 0 to clear it; progress counts from their current trend. baseWeight: what a plate-loaded or Smith machine's sled or bar weighs empty, for one exercise (0 when not counted), or a barbell exercise's bar when it is not the standard 45 lb / 20 kg (an EZ or trap bar); it does not change sets already logged. birthYear: the year they were born, used only to estimate their maximum heart rate for heart rate zones. The change shows in the app with Undo.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "trainrec_change_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
unitNo
goalUnitNoUnit of weightGoal. Defaults to the person's.
birthYearNoThe year they were born.
foodShowsNo
baseWeightNo
weightGoalNoWeight to reach, in goalUnit. 0 clears the goal.
exerciseCaloriesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

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

With annotations already declaring readOnlyHint=false and destructiveHint=false, the bar is lower, and the description does add real behavior: changes are visible in-app and undoable, baseWeight does not alter already-logged sets, weightGoal progress counts from the current trend, and birthYear is used only for max-heart-rate estimation. It does not say whether unspecified settings are left untouched (partial vs. full replace) or what the call returns. Solid additive context, but one key unknown remains.

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?

Every sentence after the wasted opener carries information an agent needs, and the parameter walk-through is ordered predictably. The prose is dense with semicolons and long clauses, which is defensible for seven nuanced settings but makes skimming harder. Dropping "Changes settings." would improve the front-loading.

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?

For a seven-parameter mutation with a nested object, no output schema, and no annotations about return shape, the description covers effects and edge cases well. The remaining gap is update semantics: it clarifies replacement only for foodShows, leaving ambiguous whether other omitted fields are preserved. That is a minor but real omission for a settings-mutation tool.

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

Parameters5/5

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

Schema coverage is only 43%, so the description must compensate, and it does for nearly every parameter: foodShows is a full ordered replacement list where [] means macros only; exerciseCalories takes none/half/all with an explanation of which bonus calories; weightGoal is a body weight in goalUnit with 0 clearing it; baseWeight is the empty sled/bar weight for one exercise or a non-standard barbell, and 0 when not counted. Only goalUnit's semantics live solely in the schema, which is acceptable given its description there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening "Changes settings" merely restates the title, so the purpose sentence itself is tautological. The parameter-by-parameter prose does reveal the actual scope (units, nutrient display, exercise calorie bonus, weight goal, base weight, birth year), which lets an agent infer the tool handles profile/training preferences. It never distinguishes itself from the sibling trainrec_settings, so 3 rather than 4.

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 statement of when to use this versus trainrec_settings (presumably the read counterpart) or trainrec_undo_change. The only navigational hint is the closing note that the change shows in the app with Undo, which implies reversibility but does not route the agent. Usage must be inferred entirely from parameter descriptions.

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