Skip to main content
Glama
sla1k
by sla1k

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SMARTGYM_DB_PATHNoDatabase locationSmartGym's container path
SMARTGYM_BACKUP_DIRNoPre-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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
smartgym_healthA

Check the credentials file, the SmartGym server, and the installed app version.

ok=true means the server answered with your account data. problem explains what to fix otherwise (e.g. create the credentials file). warning appears when the installed SmartGym version differs from the one the MCP was verified against.

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.

routine is a name (case-insensitive, partial allowed) or id. Each exercise shows its exercise_id (what the edit tools take), rest, note, planned template sets, and up to history_depth recent sessions (reps + weight_kg; 0.0 = bodyweight) with the latest session's top set and total volume.

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 days); explicit date_from / date_to (YYYY-MM-DD, inclusive, local time) override it. Optional routine filter (name or id). Paginated: total, has_more, next_offset.

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 — warmup (optional), exercises (= main, required), cooldown (optional). Exercises are catalog names (fuzzy-matched, deterministic) or catalog ids, with optional rest_seconds, note and template sets (reps + weight_kg; omitted = one 1x10 set, flagged). days is comma-separated weekday numbers, 1 = Sunday, 2 = Monday … 7 = Saturday (e.g. "2,4,6"). Validation is all-or-nothing. dry_run=true (default) returns the plan and sends NOTHING; dry_run=false creates the routines and verifies them on the server.

smartgym_update_routineA

Edit a routine's name, days, goal or note (only the fields you pass; "" clears).

days is comma-separated weekday numbers, 1 = Sunday, 2 = Monday … 7 = Saturday (e.g. "2,4,6"). A new name must not match another active routine.

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).

position counts within the section (0 = first; omitted = last). Optional rest, note and template sets (omitted = one 1x10 set, flagged). dry_run=true (default) sends NOTHING.

smartgym_move_exerciseA

Move an exercise to another section (or to another position in its section).

exercise_id comes from smartgym_get_routine; position counts within the target section (omitted = last). dry_run=true (default) sends NOTHING.

smartgym_remove_exerciseA

Remove an exercise from its routine (logged history is kept).

exercise_id comes from smartgym_get_routine. dry_run=true (default) sends NOTHING.

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.

sets is the FULL planned list [{reps, weight_kg}] — sets beyond it are removed, extra ones added. Logged history is never touched. dry_run=true (default) sends NOTHING.

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. days is comma-separated weekday numbers, 1 = Sunday, 2 = Monday … 7 = Saturday (e.g. "2,4,6"). dry_run=true (default) shows the full plan and sends NOTHING.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
catalog_exercisesRead-only exercise catalog from the SmartGym app bundle (Exercises.json).
catalog_equipmentRead-only equipment catalog from the SmartGym app bundle (Equipments.json).
catalog_categoriesRead-only category catalog from the SmartGym app bundle (Categories.json).

TDQS

A4.1/5.0

Scored across 15 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive