Skip to main content
Glama

save_plan

Create a personalized EGYM training plan or replace an existing one, defining exercise order and sets with reps, weights, rest, and duration.

Instructions

Creates an own training plan in the EGYM app or replaces an existing one (plan_id).

exercises: list in training order, each {"activityId": , "sets": [...]}. Every set is its own entry, with the fields: numberOfReps (int), weight (kg, per dumbbell for two dumbbells; required for strength exercises unless body-weight based), recoveryTime (rest in s), duration (s, for timed sets such as cardio or stretching), optionally distance (m), speed, incline, heartRate, sideMode ('BOTH'|'LEFT'|'RIGHT'), trainingMethod (EGYM machines), setType (added if missing). Example: {"activityId": 95, "sets": [{"numberOfReps": 8, "weight": 22, "recoveryTime": 120}]} Replacing overwrites the whole plan; only replace plans the user has agreed to change.

Input Schema

NameRequiredDescriptionDefault
nameYes
plan_idNo
exercisesYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations present, the description carries the full behavioral burden and does substantial work: it discloses that replacement is a full overwrite of the whole plan, that weight is per-dumbbell for paired dumbbells, that weight is required for strength exercises unless body-weight based, and that setType is auto-added. It does not mention permissions/scopes or what happens on invalid activityIds, which is the main remaining gap for a destructive write.

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?

Purpose and overwrite warning are front-loaded in the first and last lines, with the field reference correctly placed in the middle as reference material. The dense line-wrapped field list is necessary detail but is formatted as prose rather than a clean list, which slightly hurts scannability.

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 3-parameter destructive write with no annotations, the definition covers payload construction, units, conditional requirements, and overwrite risk, and an output schema exists so return values need not be explained. Missing only auth/permission expectations and failure behavior, which keeps it short of a 5.

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 description coverage is 0% and the exercises parameter is an untyped free-form object array, yet the description fully specifies the set schema: numberOfReps, weight units and conditional requirement, recoveryTime, duration, optional distance/speed/incline/heartRate, plus the sideMode and trainingMethod enumerations and a concrete example payload. This is close to the maximum value a description can add over the provided 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?

The first sentence gives a specific verb and resource ('Creates an own training plan in the EGYM app') and immediately distinguishes the two modes of operation (new plan vs replacement via plan_id). Against siblings like get_plan, get_available_plans and delete_plan, an agent can tell this is the write/persist path without opening the schema.

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

Usage Guidelines4/5

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

It states the selection condition for replace mode (supply plan_id) and gives an explicit guardrail: 'only replace plans the user has agreed to change.' It also routes the agent to search_exercises for activityId values. It stops short of stating when not to use this tool at all (e.g., prefer a dedicated update path), but the create-vs-replace guidance is clear.

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