Skip to main content
Glama
dorian-K

Alpha Progression MCP

by dorian-K

add_plan_exercise

Add an exercise to a specific day of your training plan, at the end or after a chosen exercise. Returns a preview first; nothing is saved until you confirm with apply=true.

Instructions

Add one exercise to a day of the training plan, at the end or right after the exercise named in after.

Example: day="Day 2", exercise="Seated Leg Curls (machine)", sets=3, reps=10, after="Deadlifts". Returns a preview; nothing is saved unless apply=true (only after the user approved the preview).

Input Schema

NameRequiredDescriptionDefault
dayYes
planNo
repsYes
setsYes
afterNo
applyNo
exerciseYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

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

This is the key disclosure the annotations can't convey: the call returns a preview and writes nothing unless apply=true, and apply is only set after user approval — a critical two-phase mutation contract for a non-readonly tool. Gaps remain on failure behavior (unknown exercise or day) and on what the preview contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact parts: a one-sentence purpose with placement rule, then a concrete example, then the preview/apply contract. Front-loaded, zero filler, and the example does real work by showing day/exercise/sets/reps simultaneously.

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 7-parameter mutation tool with no output schema and no parameter descriptions, the description covers the essential contract (placement, preview gate, example) and the annotations carry the safety profile. The unexplained `plan` parameter and missing error/conflict guidance (e.g., exercise already present) are the remaining gaps.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry all meaning, and it does for most parameters: `after` placement semantics, day/exercise values via the worked example, sets/reps, and apply's preview-vs-save meaning. The `plan` parameter (default "") is never mentioned, so the agent can't tell whether it targets a specific plan or the current one.

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 uses a specific verb and resource: 'Add one exercise to a day of the training plan', and adds placement scope ('at the end or right after the exercise named in `after`'). Its add-only semantics contrast implicitly with swap_plan_exercise and remove_plan_exercise, though no sibling is named explicitly.

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?

Clear operating context: add a single exercise, choose placement either at the end or after a named exercise, and only save after the user approved the preview. It doesn't explicitly route to siblings (swap_plan_exercise / remove_plan_exercise) for modification or deletion cases, so the boundary is inferred rather than stated.

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