Skip to main content
Glama

Server Details

A workout plan for your goal, level, days and equipment, and how to do any exercise.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 37 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
GoodTurnStudio/goodturn-mcp
GitHub Stars
0
Server Listing
goodturn-mcp

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation4/5

get_exercise retrieves a single named movement's details while list_exercises filters many by muscle/equipment, and the descriptions make this boundary fairly clear. There is mild overlap for queries like 'how do I do X' vs 'chest exercises', but the intent separation is workable.

Naming Consistency5/5

All three tools follow a clean verb_noun pattern: get_exercise, get_workout_plan, list_exercises. The consistent use of get_ for retrieval and list_ for enumeration is predictable.

Tool Count4/5

Three tools is on the lean side for a fitness service but each maps to a distinct user intent (single move, filtered list, full plan). Not overly broad, though a bit thin.

Completeness4/5

Core lifecycle is covered: look up an exercise, find exercises for a muscle/equipment, and generate weekly plans including running programs. Missing nice-to-haves like exercise substitutions, plan modification, or session logging, but the main workflows are reachable.

Available Tools

3 tools
get_exerciseHow to do one exercise, the muscles it works and a pictureA
Read-onlyIdempotent
Inspect

How to do one exercise, the muscles it works and a picture. For requests like "how do I do a Romanian deadlift?", "what is a goblet squat?", "what muscles do face pulls work?". Understands everyday names like RDL, press-up and lat pulldown. muscles.main lists the muscles the move mainly works (hand-checked for the main lifts) and muscles.also the ones that help.

NameRequiredDescriptionDefault
nameYesThe exercise, for example Romanian deadlift or push-up.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuine context beyond them: query-name normalization (RDL, press-up, lat pulldown) and the meaning of the returned muscles.main/muscles.also fields.

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 core purpose and appropriately short. Minor waste: the opening sentence duplicates the title verbatim rather than adding information, but the remaining sentences are dense and earn their place.

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 single-param, read-only, no-output-schema tool, the description is nearly complete: it explains the return fields (muscles.main/also) and input tolerance. Only the absence of sibling routing keeps it from being fully self-sufficient.

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% for the single name parameter, so the baseline is 3. The description adds value beyond the schema by clarifying that colloquial/everyday names are accepted, which tells the agent it need not canonicalize input.

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?

States a specific verb+resource (retrieves how-to for ONE exercise) and enumerates the payload (muscles worked, picture), which distinguishes it from sibling list_exercises via the explicit singular scope. It stops short of naming the siblings to route the agent, so it's clear but not fully differentiated.

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?

The example queries ('how do I do a Romanian deadlift?', 'what muscles do face pulls work?') give concrete trigger conditions for when to call it. There are no explicit exclusions or named alternatives (e.g. when to prefer list_exercises), so it's clear context rather than full routing guidance.

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

get_workout_planA weekly workout plan with sets, reps and restA
Read-onlyIdempotent
Inspect

A weekly workout plan with sets, reps and rest. For requests like "make me a 3 day beginner gym plan", "home workout with just dumbbells, 30 minutes", "a 5 day muscle building split", "I have a pull-up bar and dumbbells", "a 20 minute workout" (days=1 gives a single session), "a workout plan to lose weight", "couch to 5K" or "a 10K running plan" (a 10K or longer goal gets the build-up plan unless the user says they are a beginner), or "give me another one" (the same inputs with seed plus one). Takes either the fields, or the user's words in q, from which the service reads days, minutes, level, goal and equipment from them. Fields win over q. Running plans also return weeks: every week's sessions (a 9-week walk-run build to 30 minutes of running for beginners; easy, interval, tempo and long runs for intermediates), with week 1 laid out in days.

NameRequiredDescriptionDefault
qNoThe user's request in their own words, for example "3 day beginner gym plan, 45 minutes".
daysNoDays per week, 1 to 6 (1 gives a single session). More than 6 (or "every day") is planned as 6 with a rest day, and the answer says so in say and in plan.days_asked and plan.days_note. Default 3.
goalNoGoal: strength, muscle, general (default), conditioning (covers fat loss or weight loss requests), running or mobility.
seedNo0 to 9999. Change it for a different mix of exercises with the same setup. Default 0.
levelNoLevel: beginner (default) or intermediate. Advanced is treated as intermediate.
countryNoTwo-letter country code for kit links (US, GB, IE, CA, AU). Defaults to the visitor's country.
minutesNoMinutes per session including warm-up, 15 to 120. Default 45.
equipmentNoComma separated: none (default), dumbbells, barbell, gym, bands, kettlebell, pullupbar (a pull-up bar), jumprope.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered, and the description goes beyond it by disclosing precedence rules (fields over q), the seed-increment convention for repeat requests, the days>6 clamping with days_note, and the fact that running plans return week-by-week structures. It does not describe response shape for non-running plans, keeping it at 4.

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?

The purpose is front-loaded in the first sentence and every clause in the long second sentence carries routing information, so nothing is wasted. However, the second sentence is an extremely dense run-on that packs a dozen examples and edge rules into one block, which hurts scanability.

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 8 optional parameters, no output schema, and a genuinely complex generator, the description does heavy lifting: it covers input precedence, defaults, clamping behavior, and the structure of the returned plan for running goals. It leaves the non-running return shape (plan.days_asked/days_note mentions aside) only lightly implied, but is otherwise sufficient to call the tool correctly.

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 real semantic meaning: it explains how q is parsed into days/minutes/level/goal/equipment, that fields override q, and the seed-plus-one convention that the schema only calls 'a different mix'. This goes beyond the schema's own parameter text.

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 opening states the resource and its content ('A weekly workout plan with sets, reps and rest'), and the example list makes clear it generates plans rather than looking up exercises, so an agent can distinguish it from get_exercise/list_exercises. It never names the siblings explicitly, and the opener is a noun phrase rather than an explicit verb+resource, which keeps it just short of 5.

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

Usage Guidelines5/5

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

The description routes the agent exhaustively: natural-language examples map to intended inputs, 'days=1 gives a single session', 'fields win over q', 'a 10K or longer goal gets the build-up plan unless the user says they are a beginner', and '"give me another one"' maps to seed plus one. When-to-use conditions and conflicting-input precedence are both spelled out.

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

list_exercisesExercises for a muscle and the equipment the user hasA
Read-onlyIdempotent
Inspect

Exercises for a muscle and the equipment the user has. For requests like "what can I do for chest with no equipment?", "glute exercises with bands", "back exercises with dumbbells", "some mobility moves". Give a muscle, equipment or both.

NameRequiredDescriptionDefault
levelNoLevel: beginner leaves out harder moves.
limitNo1 to 10. Default 8.
muscleNoMuscle: chest, back, shoulders, arms, biceps, triceps, legs, quads, hamstrings, glutes, calves, core (or abs), cardio or mobility. Also forearms (grip) and traps.
equipmentNoEquipment: none, dumbbells, barbell, gym, bands, kettlebell, pullupbar or jumprope.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds the useful reminder that muscle/equipment are optional filters, but says nothing about result counts, ordering, or how results are capped beyond the limit parameter.

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 is front-loaded in the first clause, followed by a compact set of disambiguating example queries. The examples earn their place by illustrating parameter combinations, though the four examples are slightly redundant with one another.

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 read-only filtered-list tool with full annotation coverage and a fully described input schema, the description supplies what remains: the request patterns that select it and the fact that filters are optional. Without an output schema it would be marginally better to note the shape of the returned exercise list, but nothing essential to a correct call is missing.

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% for all four parameters, so the cheatsheets for muscle and equipment values, the level enum, and the limit range are all already documented. The example queries reinforce that muscle and equipment can be combined, but add no syntax or format detail beyond the schema.

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?

States a specific resource (exercises) and the two filters that define scope (muscle, available equipment), so an agent can identify it as a filtered list tool. It does not explicitly contrast itself with the singular get_exercise or with get_workout_plan, so differentiation is only implied by the plural name and title.

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?

Concrete example phrasings ('what can I do for chest with no equipment?', 'glute exercises with bands') make it clear which user requests route here, and 'Give a muscle, equipment or both' states the valid invocation shapes. It never states when NOT to use it or points to the sibling tools as alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_workout_plan2 fields changed
      • changedInput schema / properties / goal / description
        Previous value: -"strength, muscle, general (default), conditioning (use this for fat loss or weight loss requests), running or mobility."New value: +"Goal: strength, muscle, general (default), conditioning (covers fat loss or weight loss requests), running or mobility."
      • changedInput schema / properties / level / description
        Previous value: -"beginner (default) or intermediate. Advanced is treated as intermediate."New value: +"Level: beginner (default) or intermediate. Advanced is treated as intermediate."
    • Changedlist_exercises3 fields changed
      • changedInput schema / properties / equipment / description
        Previous value: -"none, dumbbells, barbell, gym, bands, kettlebell, pullupbar or jumprope."New value: +"Equipment: none, dumbbells, barbell, gym, bands, kettlebell, pullupbar or jumprope."
      • changedInput schema / properties / level / description
        Previous value: -"beginner leaves out harder moves."New value: +"Level: beginner leaves out harder moves."
      • changedInput schema / properties / muscle / description
        Previous value: -"chest, back, shoulders, arms, biceps, triceps, legs, quads, hamstrings, glutes, calves, core (or abs), cardio or mobility. Also forearms (grip) and traps."New value: +"Muscle: chest, back, shoulders, arms, biceps, triceps, legs, quads, hamstrings, glutes, calves, core (or abs), cardio or mobility. Also forearms (grip) and traps."
  2. 3 tool updates
    • First observedget_exercise
    • First observedget_workout_plan
    • First observedlist_exercises

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.