smart-gym-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SMARTGYM_DB_PATH | No | Database location | SmartGym's container path |
| SMARTGYM_BACKUP_DIR | No | Pre-write backups directory | ~/.smartgym-mcp/backups |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| smartgym_healthA | Check the credentials file, the SmartGym server, and the installed app version. ok=true means the server answered with your account data. |
| smartgym_list_routinesA | List routines: id, name, days, and exercise counts per section (warm-up/main/cool-down). Archived routines are listed only with include_archived=true. Use the id (or the name) in the other tools. |
| smartgym_get_routineA | Get a routine split into warmup, main and cooldown sections.
|
| smartgym_get_workout_historyA | List past workouts (newest first) with duration, calories and heart rate. Defaults to the last 7 days (or 14/30 via |
| smartgym_get_equipmentA | List equipment (owned_only=true: only what you selected) plus dumbbell/kettlebell weights. |
| smartgym_create_programA | Create one or more routines (a program) on the SmartGym server — all devices get them. Each routine: name (must not match an active routine), optional days/goal/note, and
three ordered sections — |
| smartgym_update_routineA | Edit a routine's name, days, goal or note (only the fields you pass; "" clears).
dry_run=true (default) shows old → new and sends NOTHING; dry_run=false snapshots the routine, sends the edit, and verifies it on the server. |
| smartgym_add_exerciseA | Add a catalog exercise to a routine section (warmup / main / cooldown).
|
| smartgym_move_exerciseA | Move an exercise to another section (or to another position in its section).
|
| smartgym_remove_exerciseA | Remove an exercise from its routine (logged history is kept).
|
| smartgym_reorder_routineA | Reorder exercises inside sections. Each list you pass must hold exactly that section's current exercise_ids, in the new order; omitted sections stay as they are. To change an exercise's section use smartgym_move_exercise. dry_run=true (default) sends NOTHING. |
| smartgym_update_exerciseA | Change an exercise's rest time, note ("" clears) or template sets.
|
| smartgym_apply_routineA | Rewrite a routine in one go (e.g. "week 2 of FB-A"). Each section you pass is the complete ordered list for that section: existing
exercises by exercise_id (optionally with new rest/note/sets), new ones by catalog
name. An existing exercise listed under another section moves there; one you leave
out of a passed section is removed. Omitted sections stay as they are. |
| smartgym_archive_routinesA | Archive routines (names or ids) on every device. Reversible with smartgym_unarchive_routine. dry_run=true (default) sends NOTHING. |
| smartgym_unarchive_routineA | Bring an archived routine back to the active list. dry_run=true sends NOTHING. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog_exercises | Read-only exercise catalog from the SmartGym app bundle (Exercises.json). |
| catalog_equipment | Read-only equipment catalog from the SmartGym app bundle (Equipments.json). |
| catalog_categories | Read-only category catalog from the SmartGym app bundle (Categories.json). |
TDQS
Scored across 15 tools
The granular edit tools are mostly distinct by resource and action, and descriptions cross-reference each other (e.g. move_exercise vs reorder_routine). The bulk apply_routine overlaps with several single-edit tools, but its atomic rewrite purpose is clearly stated.
All tools use the smartgym_ prefix and snake_case consistently. There are minor deviations: plural archive_routines vs singular unarchive_routine, list_routines vs get_routine, and smartgym_health uses a noun rather than a verb.
15 tools is well within the appropriate range for a routine and exercise management server. Each tool covers a distinct lifecycle operation without excessive redundancy.
The surface covers routine creation, reading, updating, archiving/unarchiving, exercise add/update/move/remove/reorder, bulk apply, workout history, equipment, and health. The main gap is a catalog lookup/search tool for discovering valid exercise names or ids.