Skip to main content
Glama

Create a workout

create_workout

Creates a workout, assigned to a student (student_id) or as a template when student_id is empty, with its exercises: sets, reps (or a range with reps_max), load, rest, duration for cardio, notes. Exercises are matched to the Trainer Connect library by name so the student sees the demo video (or pass edb_exercise_id from search_exercises). For a weekly program, call it once per day with the same program name and day_of_week. The student is notified, like in the app.

Input Schema

NameRequiredDescriptionDefault
titleYesWorkout name, e.g. "Treino A - Peito e Tríceps".
programNoProgram/week name that groups the days, e.g. "Hipertrofia outubro".
exercisesYesExercises in order.
student_idNostudent_id from list_students. Empty = template in the trainer's library.
day_of_weekNomonday … sunday.
descriptionNoNotes for the student.
estimated_minutesNoExpected duration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true). The description adds non-obvious side effects the annotations cannot express: the student is notified, and each exercise is matched by name to the Trainer Connect library so the demo video appears. It doesn't discuss failure behavior on unmatched names, but the added context is real.

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?

A single dense paragraph that front-loads the core action and mode distinction, then layers weekly-program and exercise-matching guidance. Slightly packed, but every clause carries operational detail rather than filler.

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?

With no output schema and 7 params at full coverage, the description supplies the missing behavioral layer: notification side effect, the template-vs-student branch, and the multi-call weekly-program pattern. It omits error handling for unmatched exercise names, which is a minor gap for a create tool.

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 100%, so the baseline is 3, but the description adds relational meaning the schema lacks: reps and reps_max combine into a range, duration is for cardio, weight is load, and edb_exercise_id is an alternative to name-based library matching. This clarifies how the flat fields interact, which the schema alone does not.

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 and resource ('Creates a workout') and immediately distinguishes its two modes: assigned to a student via student_id, or a library template when student_id is empty. An agent can tell this apart from siblings like create_student or schedule_class without opening any 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?

Gives concrete usage context: pass edb_exercise_id from search_exercises if the library match is wrong, and call once per day with the same program name plus day_of_week for a weekly program. It names the relevant sibling (search_exercises) but stops short of explicit when-not-to-use guidance.

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