Skip to main content
Glama

Server Details

Your AI assistant logs your meals and workouts, then plans your week from what you did.

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 the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
TrainREC

TDQS

B3.4/5.0

Scored across 34 tools

Disambiguation4/5

Most tools have clearly distinct resource+action targets, and the detailed descriptions carefully separate near-neighbors like plan_workout (future) vs save_workout (past), save_routine vs save_workout, and log_food vs edit_food. The main overlap is between import_file (Strong/Hevy CSV) and the generic import_workouts/import_food/import_measurements tools, which could be confused since both ingest external data, but the format distinction is stated.

Naming Consistency4/5

All names share the trainrec_ prefix and snake_case, and most follow a verb_noun pattern (log_food, delete_workout, set_reminder, undo_import). The deviation is that several read-only tools use bare nouns (measurements, reminders, settings, overview, food_day, recent_changes) instead of list_/get_, creating a minor inconsistency with list_exercises/get_workout.

Tool Count3/5

At 34 tools this is on the heavy side, but the server spans a genuinely broad multi-domain scope (food, workouts, routines, measurements, reminders, imports, settings, support, undo), so each tool roughly earns its place. It is borderline-heavy rather than bloated, but the sheer count makes discovery harder.

Completeness4/5

Coverage is strong: full lifecycle for food, workouts, routines, measurements, and reminders plus imports, undo, targets, settings, and issue reporting. Minor gaps remain, such as no way to delete a custom exercise (only add) and no edit_measurement operation (only log/delete), but these are workable around.

Available Tools

34 tools
trainrec_add_exerciseAdd a custom exerciseBInspect

Makes a custom exercise with a name, kind and muscles. equipment: "plate" for a plate-loaded machine or "smith" for a Smith machine gives it a sled or bar its base weight is counted from (change_settings baseWeight).

Inputs: kind (required), name (required), muscles, equipment.

trainrec_change_settingsChange settingsBInspect

Changes settings. unit: lb or kg. foodShows: the full list of extra nutrients shown, in order, replacing the old one ([] shows only the macros). exerciseCalories: none, half or all of each day's bonus calories (active calories beyond a usual day, or workout calories when there is no daily count) added to the calorie target. weightGoal: a body weight in goalUnit (or theirs), or 0 to clear it; progress counts from their current trend. baseWeight: what a plate-loaded or Smith machine's sled or bar weighs empty, for one exercise (0 when not counted), or a barbell exercise's bar when it is not the standard 45 lb / 20 kg (an EZ or trap bar); it does not change sets already logged. birthYear: the year they were born, used only to estimate their maximum heart rate for heart rate zones. The change shows in the app with Undo.

Inputs: unit, goalUnit, birthYear, foodShows, +3 more.

trainrec_delete_foodDelete a food entryA
Destructive
Inspect

Removes one food entry, given its id and version. The person can undo it in the app.

Inputs: id (required), version (required).

trainrec_delete_measurementDelete a measurementB
Destructive
Inspect

Removes one reading, given its id and version. The person can undo it in the app.

Inputs: id (required), version (required).

trainrec_delete_reminderDelete a reminderA
Destructive
Inspect

Removes one reminder, given its id and version. To stop it for a while instead, set_reminder with on false. The person can undo it in the app.

Inputs: id (required), version (required).

trainrec_delete_routineDelete a routineA
Destructive
Inspect

Removes one routine, given its id and version. Workouts already done from it stay. The person can undo it in the app.

Inputs: id (required), version (required).

trainrec_delete_workoutDelete a workoutC
Destructive
Inspect

Removes one workout, given its id and version. The person can undo it in the app.

Inputs: id (required), version (required), summary.

trainrec_edit_foodEdit a food entryAInspect

Changes fields of one food entry, given its id and version. Fields left out stay as they are; perServing is replaced whole. planned: false marks a planned food eaten, with servings or perServing in the same call as what was actually had.

Inputs: id (required), version (required), day, meal, +6 more.

trainrec_exercise_historyExercise historyA
Read-only
Inspect

One exercise over time: personal records (heaviest, best estimated one-rep max, most reps, best session volume) and every session that included it, oldest first. Warm-ups and sets not done are excluded. pace is a straight line through the last 12 weeks of session estimated one-rep maxes (from weights and reps only), with where that line is in 4, 8 and 12 weeks; with target, also the day the line reaches it. pace is a projection at the current rate.

Inputs: exerciseId (required), unit, limit, target.

trainrec_find_issuesFind known issuesA
Read-only
Inspect

Bugs and ideas already sent to the TrainRec team that look like what the person describes, best match first, with whether each is fixed. Call this before report_issue: if one matches, add to it rather than sending a new one. Read-only.

Inputs: query (required).

trainrec_food_dayFood for a dayA
Read-only
Inspect

Everything eaten on one day, each entry with its id and version, totals by meal and for the day, and what is left of the targets.

Inputs: day.

trainrec_get_routineGet a routineB
Read-only
Inspect

One routine with every set, in the person's unit, and its version.

Inputs: id (required), unit.

trainrec_get_workoutGet a workoutC
Read-only
Inspect

One workout with every set, in the person's unit, and its version.

Inputs: id (required), unit.

trainrec_import_fileImport a Strong or Hevy exportAInspect

Imports a CSV exported from Strong (workouts or measurements) or Hevy, as text exactly as the file has it; the server parses it. A large file can be sent in pieces split on whole workouts, each with the header line and the same batch id. Strong exports omit their unit. Workouts already imported are skipped. Only Strong and Hevy formats.

Inputs: text (required), unit, batch, format.

trainrec_import_foodImport food history from another appAInspect

Imports past meals from another nutrition app or file: each entry's day, meal, name, numbers PER SERVING and servings. Up to 200 entries per call; the same batch id on later calls makes one import, undone together. Entries already imported from the same app are skipped.

Inputs: app (required), entries (required), batch.

trainrec_import_measurementsImport measurement historyAInspect

Imports past measurements (weight, body fat, tape, blood pressure, resting heart rate, HRV, sleep, daily calories), each with its time as the source wrote it, kind, value and unit, and origin when the source names one. Up to 1000 per call; the same batch id on later calls makes one import. Readings already recorded are skipped.

Inputs: app (required), items (required), batch.

trainrec_import_workoutsImport workouts from another appAInspect

Imports past workouts from another app or file. Exercises are matched to existing ones by name; unmatched names become custom exercises, listed in the result. Up to 100 workouts per call; the same batch id on later calls makes one import, undone together. Workouts already imported from the same app are skipped.

Inputs: app (required), workouts (required), unit, batch.

trainrec_list_exercisesList exercisesA
Read-only
Inspect

Exercise ids, names and kinds, built-in and custom, optionally filtered by words in the name. The kind decides which set fields apply.

Inputs: query.

trainrec_list_workoutsList workoutsA
Read-only
Inspect

Workouts between two dates, newest first, with each exercise and how many of its sets were done. Sets themselves are not included.

Inputs: to, from, limit.

trainrec_log_foodLog foodAInspect

Adds one or more food entries, each with its numbers PER SERVING and the number of servings. perServing takes the macros and any label nutrient (sodiumMg, potassiumMg and the rest); a nutrient left out counts as unknown, not zero. A glass of plain water is an entry named "Water" with kcal and macros 0 and waterMl. Each entry is its own change, with Undo. When the person asks to note a food without numbers ("just note it"), leave perServing out: it shows as numbers not added yet, until edit_food gives it perServing. planned: true puts a meal on a day ahead (or later today) without counting it in any total until it is eaten (edit_food planned: false).

Inputs: entries (required), summary.

trainrec_log_measurementLog a measurementAInspect

Records one measurement: weight, body fat, a tape measurement, blood pressure, resting heart rate, HRV or sleep, in the unit given (lb, kg, %, in, cm, bpm, ms, mmHg, min). Blood pressure takes systolic as value and diastolic as value2.

Inputs: kind (required), value (required), at, unit, +1 more.

trainrec_measurementsBody measurements over timeA
Read-only
Inspect

Body measurements over time, one kind at a time, one value per day (the last reading of the day), in the person's units, newest last: weight, body fat, tape measurements, calories eaten per day, resting heart rate, HRV, blood pressure and sleep, and from Oura readiness, sleep score, temperature change and minutes stressed and restored. Without kind, the latest reading of every kind recorded. Each value has its id and version.

Inputs: to, from, kind, limit.

trainrec_overviewOverviewA
Read-only
Inspect

Today's date and weight unit for this person, today's food against their targets, their last few workouts, their routines, notes they left, and what they changed in the app since the assistant's last change (sets done differently from a plan show the planned values beside them). Each planned workout says whether it is reviewed: the app shows "Reviewed by" if the assistant wrote the plan after the person's latest workout. suggestedNext is the app's own pick from their rotation when nothing is planned today. Read-only.

Inputs: no named parameters.

trainrec_plan_workoutPlan a workout to followAInspect

Plans a workout for the person to do: saves it in TrainRec, where their phone and watch walk them through it one set at a time, with each set's target (weight and reps, time or distance) and the rest after it. Every set starts as not yet done. Given an id and version, it changes an existing plan, even during the workout: sets already done are kept, and the phone and watch show the change within seconds. A workout that already happened is recorded with save_workout.

Inputs: name (required), exercises (required), id, day, +5 more.

trainrec_recent_changesRecent changesB
Read-only
Inspect

The latest changes to this log, newest first, with who made each one and its seq number.

Inputs: limit.

trainrec_remindersList remindersA
Read-only
Inspect

The person's reminders (notifications on their phone): what each says, when, whether it is on, and who set it up. Read-only.

Inputs: no named parameters.

trainrec_report_issueReport a bug or ideaAInspect

Send a bug or an idea to the TrainRec team, only after the person agrees to. Call find_issues first: if an issue matches, pass its issueId with what this person adds; otherwise pass kind, title and details for a new one. Say what happened and where in the app, never anything about their health beyond what the bug needs.

Inputs: details (required), kind, title, issueId.

trainrec_save_routineSave a routineAInspect

Creates a routine (a reusable workout plan the person starts from the app), or replaces one given its id and version. Same shape as a workout, without a day.

Inputs: name (required), exercises (required), id, unit, +3 more.

trainrec_save_workoutSave a workoutAInspect

Logs a new workout, or replaces an existing one given its id and version: the whole workout as it should now be, so anything left out is removed. Sets default to done; planned sets for a later day have done: false. The change shows in the person's app with Undo.

Inputs: name (required), exercises (required), id, day, +7 more.

trainrec_set_reminderSet a reminderAInspect

Reminders are TrainRec's notifications on the person's phone. They start at zero: none exist until the person asks their assistant (you) to set one up, so when they ask to be reminded of something, this is how. Adds a reminder, or changes one (give its id and version). Kinds: weigh_in, log_food (optionally one meal), workout (names today's planned workout if there is one) and streak (training weeks in a row, sent only if this week has no workout yet) go at a local time, and each is skipped that day once it is done. goal goes when a daily number is approaching or has reached its target (calories, a macro, or a nutrient with a target), not between 22:00 and 07:00. custom says the person's own words at a time. recap sends the day's calories and protein against their targets and its workout, at a time, every day it is on. Every reminder needs its trigger from the person: a time (their local time, 24-hour HH:MM) for timed kinds, or the amount left for an approaching goal alert. If they didn't say one, or said only "before 9 am", ask them what time; never choose it yourself. At most 20 reminders and 6 notifications a day. It shows in the app under the assistant's name, with Undo.

Inputs: kind (required), at, id, on, +6 more.

trainrec_set_targetsSet daily targetsAInspect

Sets the daily calorie and macro targets, and optionally a target for any other nutrient (the keys in overview.foodNutrients): a ceiling for the ones to limit, such as sodiumMg, cholesterolMg, sugarG, saturatedFatG or caffeineMg, and an amount to reach for the rest, such as potassiumMg, fiberG or calciumMg. nutrients left out keeps the ones already set; {} clears them.

Inputs: fatG (required), kcal (required), carbsG (required), proteinG (required), +1 more.

trainrec_settingsSettingsA
Read-only
Inspect

The person's settings: weight unit, which nutrients beyond the macros show on their Food and Today screens, how much of a day's workout calories is added to their calorie target, their weight goal, and what the sled or bar of a plate-loaded or Smith machine weighs empty (baseWeights; a set's weight is the total, so plates loaded = weight - base). Also lists what only the person can change on the phone. Read-only.

Inputs: no named parameters.

trainrec_undo_changeUndo a changeA
Destructive
Inspect

Puts a record back the way it was before one change, given the change's seq. Refused if the record has been changed again since.

Inputs: seq (required).

trainrec_undo_importUndo an importA
Destructive
Inspect

Removes everything one import added, given its batch id. All or nothing: refused if any of it has been edited since.

Inputs: batch (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables an AI assistant to log what you ate, drank, or did, storing it privately in your own Cloudflare account and doing the nutrition math via the USDA food database. Supports GitHub sign-in with an allowlist so only chosen users can connect.
      11 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables conversational logging and retrieval of workouts, sets, weigh-ins, meals, goals, plans, and progress photos through MCP-capable AI clients, with authenticated per-user storage and export/query capabilities.
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      A comprehensive AI-powered fitness tracking application that enables AI tools to interact intelligently with user fitness data, providing personalized workout plans, nutrition tracking, and progress analysis through natural language.
      15
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources