← WebMCP Directory

Tool tree

getfitcraft.com

Health & EducationTools verified
Website
A gamified AI fitness app built by exercise scientists to solve the #1 fitness problem: quitting. Streaks, quests, and an AI coach make showing up easier.
Explore capabilities
    find_fitcraft_calculatorAnswer

    Recommend the best FitCraft calculator for a user goal such as protein, calories, macros, body fat, BMI, strength, daily water intake (hydration), FFMI and lean body mass, or weight loss percentage.

    View tool JSON
    {
      "name": "find_fitcraft_calculator",
      "kind": "answer",
      "impl": "imperative",
      "description": "Recommend the best FitCraft calculator for a user goal such as protein, calories, macros, body fat, BMI, strength, daily water intake (hydration), FFMI and lean body mass, or weight loss percentage.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "goal": {
            "type": "string",
            "enum": [
              "protein",
              "calories",
              "calories_burned",
              "macros",
              "body_fat",
              "bmi",
              "bmr",
              "recomp",
              "strength",
              "heart_rate",
              "steps",
              "workout_plan",
              "ffmi",
              "water_intake",
              "weight_loss_percentage",
              "unsure"
            ],
            "description": "The user goal or metric they want to calculate. ffmi covers fat-free mass index and lean body mass; water_intake covers hydration and how much water to drink a day; weight_loss_percentage covers the percent of body weight lost and weight-loss milestones, while calories covers a calorie target for losing weight."
          }
        },
        "required": [
          "goal"
        ]
      }
    }
    generate_workout_planAction

    Generate a complete weekly resistance training plan (split, exercises, sets, reps, rest, effort target, and progression rule) from goal, experience, training days, equipment, session length, and optional extra gear (pull-up bar, rings or low bar, bench, resistance band). An exercise that needs gear the user does not have is swapped for a no-gear alternative, and each exercise lists the extra gear it uses. Deterministic rule engine that mirrors the FitCraft Free AI Workout Plan Generator page. Also returns a shareUrl that opens the same plan on that page.

    View tool JSON
    {
      "name": "generate_workout_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Generate a complete weekly resistance training plan (split, exercises, sets, reps, rest, effort target, and progression rule) from goal, experience, training days, equipment, session length, and optional extra gear (pull-up bar, rings or low bar, bench, resistance band). An exercise that needs gear the user does not have is swapped for a no-gear alternative, and each exercise lists the extra gear it uses. Deterministic rule engine that mirrors the FitCraft Free AI Workout Plan Generator page. Also returns a shareUrl that opens the same plan on that page.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "goal": {
            "type": "string",
            "enum": [
              "muscle",
              "weight",
              "consistent"
            ],
            "description": "Training goal: muscle (build muscle), weight (lose weight), consistent (build the habit on a minimum effective dose)."
          },
          "experience": {
            "type": "string",
            "enum": [
              "beginner",
              "intermediate",
              "advanced"
            ],
            "description": "Training experience: beginner (under 6 months), intermediate (6 months to 2 years), advanced (2 years or more)."
          },
          "days_per_week": {
            "type": "number",
            "description": "Resistance training days per week, 2 to 5.",
            "minimum": 2,
            "maximum": 5
          },
          "equipment": {
            "type": "string",
            "enum": [
              "none",
              "dumbbells",
              "gym"
            ],
            "description": "Available equipment: none (no equipment, bodyweight only), dumbbells, or gym (full gym)."
          },
          "session_length": {
            "type": "string",
            "enum": [
              "short",
              "medium",
              "long"
            ],
            "description": "Available session time: short (10 to 20 minutes), medium (20 to 30 minutes), long (30 to 45 minutes)."
          },
          "extras": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "bar",
                "rings",
                "bench",
                "band"
              ]
            },
            "uniqueItems": true,
            "description": "Optional extra gear the user also has, for equipment none or dumbbells (ignored for gym, which has all of it): bar (overhead pull-up bar, for chin-ups and chin-up negatives), rings (rings, suspension straps, a low bar, or a sturdy table to row under, for inverted rows), bench (Bulgarian split squats, bench dips, supported rows, pullovers), band (resistance band, for pull-aparts and pulldowns from a door anchor). Omit or leave empty when the user has none of these."
          }
        },
        "required": [
          "goal",
          "days_per_week",
          "equipment"
        ]
      }
    }
    calculate_protein_targetAction

    Calculate an evidence-based daily protein target using FitCraft ranges for healthy adults.

    View tool JSON
    {
      "name": "calculate_protein_target",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate an evidence-based daily protein target using FitCraft ranges for healthy adults.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "goal": {
            "type": "string",
            "enum": [
              "general_health",
              "build_muscle",
              "fat_loss",
              "endurance"
            ],
            "description": "Training or nutrition goal."
          },
          "training": {
            "type": "string",
            "enum": [
              "sedentary",
              "recreational",
              "serious"
            ],
            "description": "Current training level."
          },
          "age_band": {
            "type": "string",
            "enum": [
              "under_40",
              "40_64",
              "65_plus"
            ],
            "description": "Age band."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body-fat percentage for fat-loss estimates.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "weight",
          "unit",
          "goal"
        ]
      }
    }
    calculate_tdeeAction

    Calculate basal metabolic rate and total daily energy expenditure using FitCraft calculator logic.

    View tool JSON
    {
      "name": "calculate_tdee",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate basal metabolic rate and total daily energy expenditure using FitCraft calculator logic.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Biological sex used by the Mifflin-St Jeor equation."
          },
          "age": {
            "type": "number",
            "description": "Age in years.",
            "minimum": 14,
            "maximum": 100
          },
          "height": {
            "type": "number",
            "description": "Height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "activity_level": {
            "type": "string",
            "enum": [
              "sedentary",
              "light",
              "moderate",
              "very_active",
              "extra_active"
            ],
            "description": "Daily activity level."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body-fat percentage for Katch-McArdle BMR.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "sex",
          "age",
          "height",
          "height_unit",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_bmrAction

    Estimate basal metabolic rate from three published equations at once: Mifflin-St Jeor 1990 (recommended default), the revised Harris-Benedict of Roza and Shizgal 1984, and the Katch-McArdle lean-mass equation published by Cunningham 1991, which is used when a body fat percentage is supplied. Returns the recommended estimate with its plus or minus 10 percent accuracy band, all three equation outputs, and the population caveats. Mirrors the FitCraft BMR Calculator page.

    View tool JSON
    {
      "name": "calculate_bmr",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate basal metabolic rate from three published equations at once: Mifflin-St Jeor 1990 (recommended default), the revised Harris-Benedict of Roza and Shizgal 1984, and the Katch-McArdle lean-mass equation published by Cunningham 1991, which is used when a body fat percentage is supplied. Returns the recommended estimate with its plus or minus 10 percent accuracy band, all three equation outputs, and the population caveats. Mirrors the FitCraft BMR Calculator page.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Biological sex; selects the sex-specific constants in the two age-based equations."
          },
          "age": {
            "type": "number",
            "description": "Age in years.",
            "minimum": 13,
            "maximum": 100
          },
          "height": {
            "type": "number",
            "description": "Height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body-fat percentage. Supplying it switches the recommendation to the Katch-McArdle lean-mass equation.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "sex",
          "age",
          "height",
          "height_unit",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_macrosAction

    Calculate daily calorie, protein, fat, and carbohydrate targets in one of five explicit goal modes: aggressive-cut (22.5 percent deficit), moderate-cut (15 percent), maintain, lean-bulk (7.5 percent surplus), or standard-bulk (15 percent). Also returns the projected weekly weight change as a percent of body weight. Deterministic and local-only; mirrors the FitCraft macro calculator page.

    View tool JSON
    {
      "name": "calculate_macros",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate daily calorie, protein, fat, and carbohydrate targets in one of five explicit goal modes: aggressive-cut (22.5 percent deficit), moderate-cut (15 percent), maintain, lean-bulk (7.5 percent surplus), or standard-bulk (15 percent). Also returns the projected weekly weight change as a percent of body weight. Deterministic and local-only; mirrors the FitCraft macro calculator page.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "goal": {
            "type": "string",
            "enum": [
              "aggressive-cut",
              "moderate-cut",
              "maintain",
              "lean-bulk",
              "standard-bulk",
              "cut",
              "maintenance",
              "bulk"
            ],
            "description": "Goal mode. aggressive-cut = 22.5 percent below maintenance with a 1.8 g/kg protein floor; moderate-cut = 15 percent below; maintain = no change; lean-bulk = 7.5 percent above; standard-bulk = 15 percent above. The legacy values cut, maintenance and bulk map to moderate-cut, maintain and standard-bulk."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "calories": {
            "type": "number",
            "description": "Optional maintenance calories. If omitted, maintenance is estimated from the sex/age/height/activity fields.",
            "minimum": 800,
            "maximum": 8000
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Sex, used by the Mifflin-St Jeor equation when maintenance calories are not supplied."
          },
          "age": {
            "type": "number",
            "description": "Age in years. Required when maintenance calories are not supplied; also drives the PROT-AGE 1.6 g/kg protein floor at 65 and older.",
            "minimum": 14,
            "maximum": 100
          },
          "height": {
            "type": "number",
            "description": "Height. Required when maintenance calories are not supplied.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "activity_level": {
            "type": "string",
            "enum": [
              "sedentary",
              "light",
              "moderate",
              "very_active",
              "extra_active"
            ],
            "description": "Daily activity level used to turn BMR into maintenance calories. Defaults to moderate."
          },
          "training": {
            "type": "string",
            "enum": [
              "sedentary",
              "beginner",
              "intermediate",
              "advanced",
              "recreational",
              "serious"
            ],
            "description": "Resistance-training experience, which sets the protein base before the goal mode shifts it. Defaults to intermediate. The legacy values recreational and serious map to intermediate and advanced."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body-fat percentage; switches maintenance estimation to Katch-McArdle.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "goal",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_bmi_and_wthrAction

    Calculate BMI and optionally waist-to-height ratio using FitCraft health-screening logic.

    View tool JSON
    {
      "name": "calculate_bmi_and_wthr",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate BMI and optionally waist-to-height ratio using FitCraft health-screening logic.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "height": {
            "type": "number",
            "description": "Height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "waist": {
            "type": "number",
            "description": "Optional waist circumference.",
            "minimum": 10,
            "maximum": 200
          },
          "waist_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Waist unit."
          }
        },
        "required": [
          "height",
          "height_unit",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_body_fatAction

    Estimate body-fat percentage with the US Navy circumference method (default), or from caliper skinfolds with the Jackson-Pollock 3-site or 7-site equations.

    View tool JSON
    {
      "name": "calculate_body_fat",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate body-fat percentage with the US Navy circumference method (default), or from caliper skinfolds with the Jackson-Pollock 3-site or 7-site equations.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Biological sex; selects the sex-specific equation."
          },
          "method": {
            "type": "string",
            "enum": [
              "navy",
              "jackson_pollock_3",
              "jackson_pollock_7"
            ],
            "description": "navy (default) uses height, neck, waist and, for women, hip circumferences. jackson_pollock_3 uses age plus chest, abdomen, thigh (men) or triceps, suprailiac, thigh (women) skinfolds in mm. jackson_pollock_7 uses age plus all seven skinfolds in mm."
          },
          "unit": {
            "type": "string",
            "enum": [
              "in",
              "cm"
            ],
            "description": "Navy method only: unit for height and all circumferences. Defaults to in."
          },
          "height": {
            "type": "number",
            "description": "Navy method: height.",
            "minimum": 48,
            "maximum": 230
          },
          "neck": {
            "type": "number",
            "description": "Navy method: neck circumference.",
            "minimum": 8,
            "maximum": 80
          },
          "waist": {
            "type": "number",
            "description": "Navy method: waist circumference.",
            "minimum": 10,
            "maximum": 200
          },
          "hip": {
            "type": "number",
            "description": "Navy method: hip circumference, required for female estimates.",
            "minimum": 10,
            "maximum": 220
          },
          "age": {
            "type": "number",
            "description": "Skinfold methods: age in years.",
            "minimum": 13,
            "maximum": 100
          },
          "chest": {
            "type": "number",
            "description": "Skinfold in mm: diagonal fold between nipple and front of armpit.",
            "minimum": 2,
            "maximum": 80
          },
          "midaxillary": {
            "type": "number",
            "description": "Skinfold in mm (7-site): vertical fold on the side of the torso at the level of the bottom of the sternum.",
            "minimum": 2,
            "maximum": 80
          },
          "triceps": {
            "type": "number",
            "description": "Skinfold in mm: vertical fold on the back of the upper arm, midway between shoulder and elbow.",
            "minimum": 2,
            "maximum": 80
          },
          "subscapular": {
            "type": "number",
            "description": "Skinfold in mm (7-site): diagonal fold just below the lower tip of the shoulder blade.",
            "minimum": 2,
            "maximum": 80
          },
          "abdomen": {
            "type": "number",
            "description": "Skinfold in mm: vertical fold 2 cm to the right of the navel.",
            "minimum": 2,
            "maximum": 80
          },
          "suprailiac": {
            "type": "number",
            "description": "Skinfold in mm: diagonal fold just above the front of the iliac crest.",
            "minimum": 2,
            "maximum": 80
          },
          "thigh": {
            "type": "number",
            "description": "Skinfold in mm: vertical fold on the front of the thigh, midway between hip and knee.",
            "minimum": 2,
            "maximum": 80
          }
        },
        "required": [
          "sex"
        ]
      }
    }
    calculate_ffmiAction

    Calculate fat-free mass index (FFMI), height-normalized FFMI, lean body mass and fat mass from height, weight and sex, with an optional body fat percentage. With body fat, fat-free mass is weight x (1 - body fat); without it, lean body mass is estimated with the Boer 1984 formula. Returns a sourced category band (Schutz et al. 2002 population medians, ESPEN low cutoffs, college-athlete norms, and the 25.0 value Kouri et al. 1995 observed in steroid-free athletes, presented as an observation rather than a hard ceiling). Mirrors the FitCraft FFMI Calculator page.

    View tool JSON
    {
      "name": "calculate_ffmi",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate fat-free mass index (FFMI), height-normalized FFMI, lean body mass and fat mass from height, weight and sex, with an optional body fat percentage. With body fat, fat-free mass is weight x (1 - body fat); without it, lean body mass is estimated with the Boer 1984 formula. Returns a sourced category band (Schutz et al. 2002 population medians, ESPEN low cutoffs, college-athlete norms, and the 25.0 value Kouri et al. 1995 observed in steroid-free athletes, presented as an observation rather than a hard ceiling). Mirrors the FitCraft FFMI Calculator page.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Sex; selects the Boer formula coefficients and the reference bands."
          },
          "height": {
            "type": "number",
            "description": "Height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body fat percentage. Supplying it switches from the Boer estimate to a direct fat-free mass calculation.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "sex",
          "height",
          "height_unit",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_one_rep_maxAction

    Estimate one-rep max and training loads from lifted weight and reps.

    View tool JSON
    {
      "name": "calculate_one_rep_max",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate one-rep max and training loads from lifted weight and reps.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "weight": {
            "type": "number",
            "description": "Weight lifted.",
            "minimum": 1,
            "maximum": 1500
          },
          "unit": {
            "type": "string",
            "enum": [
              "lb",
              "kg"
            ],
            "description": "Weight unit."
          },
          "reps": {
            "type": "number",
            "description": "Completed reps.",
            "minimum": 1,
            "maximum": 12
          },
          "rpe": {
            "type": "number",
            "description": "Optional RPE from 6 to 10. Defaults to 10.",
            "minimum": 6,
            "maximum": 10
          }
        },
        "required": [
          "weight",
          "unit",
          "reps"
        ]
      }
    }
    calculate_heart_rate_zonesAction

    Estimate maximum heart rate from age by Tanaka 2001, Fox 1971 (220 minus age), Nes 2013, and Gulati 2010, then the five training zones by percent of max and by the Karvonen heart rate reserve method.

    View tool JSON
    {
      "name": "calculate_heart_rate_zones",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate maximum heart rate from age by Tanaka 2001, Fox 1971 (220 minus age), Nes 2013, and Gulati 2010, then the five training zones by percent of max and by the Karvonen heart rate reserve method.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "age": {
            "type": "number",
            "description": "Age in years.",
            "minimum": 13,
            "maximum": 100
          },
          "formula": {
            "type": "string",
            "enum": [
              "tanaka",
              "gulati",
              "nes",
              "legacy"
            ],
            "description": "Max HR formula used for the zones: tanaka (default, recommended), gulati (women), nes (active adults), legacy (Fox 1971, 220 minus age, unvalidated). Every formula is returned in max_heart_rate.byFormula regardless of this choice."
          },
          "resting_heart_rate": {
            "type": "number",
            "description": "Optional resting heart rate in bpm. Unlocks Karvonen heart rate reserve zones.",
            "minimum": 30,
            "maximum": 120
          },
          "measured_max_hr": {
            "type": "number",
            "description": "Optional measured or watch-learned max HR in bpm. Overrides the age formula and feeds the zones directly.",
            "minimum": 120,
            "maximum": 230
          }
        },
        "required": [
          "age"
        ]
      }
    }
    assess_body_recompositionAction

    Assess whether body recomposition (losing fat and gaining muscle at the same time) fits a person, and return their maintenance calories, recomposition calorie target, daily protein target, lifting frequency, and an expected timeline.

    View tool JSON
    {
      "name": "assess_body_recomposition",
      "kind": "act",
      "impl": "imperative",
      "description": "Assess whether body recomposition (losing fat and gaining muscle at the same time) fits a person, and return their maintenance calories, recomposition calorie target, daily protein target, lifting frequency, and an expected timeline.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Biological sex; used by the Mifflin-St Jeor equation and the body-fat bands."
          },
          "age": {
            "type": "number",
            "description": "Age in years.",
            "minimum": 13,
            "maximum": 100
          },
          "height": {
            "type": "number",
            "description": "Height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "cm",
              "in"
            ],
            "description": "Height unit."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "activity_level": {
            "type": "string",
            "enum": [
              "sedentary",
              "light",
              "moderate",
              "very_active",
              "extra_active"
            ],
            "description": "Daily activity level. Defaults to moderate."
          },
          "training_status": {
            "type": "string",
            "enum": [
              "new",
              "under_1_year",
              "1_3_years",
              "3_plus_years"
            ],
            "description": "Resistance training experience. new covers never trained or returning after a long break. Defaults to under_1_year."
          },
          "body_fat_percent": {
            "type": "number",
            "description": "Optional body-fat percentage. When supplied, protein is set from fat-free mass and the recomposition verdict uses measured body fat instead of a BMI estimate.",
            "minimum": 3,
            "maximum": 60
          }
        },
        "required": [
          "sex",
          "age",
          "height",
          "height_unit",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_calories_burnedAction

    Estimate calories burned for a workout from activity, intensity, duration and body weight. Covers walking, treadmill, running, a steps-to-calories mode, cycling, swimming, hiking, stair climbing, jump rope, bodyweight and HIIT circuits, strength training, and yoga or Pilates. Returns gross calories, calories above resting, calories per minute and the MET value, with the 2024 Adult Compendium code behind it.

    View tool JSON
    {
      "name": "calculate_calories_burned",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate calories burned for a workout from activity, intensity, duration and body weight. Covers walking, treadmill, running, a steps-to-calories mode, cycling, swimming, hiking, stair climbing, jump rope, bodyweight and HIIT circuits, strength training, and yoga or Pilates. Returns gross calories, calories above resting, calories per minute and the MET value, with the 2024 Adult Compendium code behind it.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "activity": {
            "type": "string",
            "enum": [
              "walking",
              "treadmill",
              "running",
              "steps",
              "cycling",
              "swimming",
              "hiking",
              "stair_climbing",
              "jump_rope",
              "bodyweight_hiit",
              "strength_training",
              "yoga_pilates"
            ],
            "description": "Activity performed. walking, treadmill and running take speed_mph and incline_percent. steps takes steps and cadence_steps_per_min. Everything else takes effort."
          },
          "speed_mph": {
            "type": "number",
            "description": "walking, treadmill and running only: pace in miles per hour. Snapped to the nearest Compendium code for the compendium method; used exactly by the ACSM equations.",
            "minimum": 1,
            "maximum": 14
          },
          "incline_percent": {
            "type": "number",
            "description": "walking, treadmill and running only: percent grade. Defaults to 0.",
            "minimum": 0,
            "maximum": 40
          },
          "effort": {
            "type": "string",
            "enum": [
              "light",
              "moderate",
              "vigorous",
              "very_vigorous"
            ],
            "description": "Effort-based activities only (cycling, swimming, hiking, stair_climbing, jump_rope, bodyweight_hiit, strength_training, yoga_pilates). Defaults to moderate."
          },
          "steps": {
            "type": "number",
            "description": "steps activity only: total step count.",
            "minimum": 100,
            "maximum": 100000
          },
          "cadence_steps_per_min": {
            "type": "number",
            "description": "steps activity only: walking cadence in steps per minute. Snapped to the nearest CADENCE-Adults threshold of 80, 100, 110, 120 or 130. Defaults to 100.",
            "minimum": 60,
            "maximum": 160
          },
          "duration_minutes": {
            "type": "number",
            "description": "Minutes of actual movement. Required for every activity except steps, where it is derived from the step count and cadence.",
            "minimum": 1,
            "maximum": 600
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit."
          },
          "method": {
            "type": "string",
            "enum": [
              "compendium",
              "acsm"
            ],
            "description": "Pace-based activities only: compendium (default) uses 2024 Adult Compendium MET codes, acsm uses the ACSM walking and running metabolic equations."
          }
        },
        "required": [
          "activity",
          "weight",
          "weight_unit"
        ]
      }
    }
    calculate_steps_to_distanceAction

    Convert a step count into miles and kilometers using a step length estimated from standing height and sex, with separate walking and running step lengths, an optional measured step-length override, and an optional calorie estimate.

    View tool JSON
    {
      "name": "calculate_steps_to_distance",
      "kind": "act",
      "impl": "imperative",
      "description": "Convert a step count into miles and kilometers using a step length estimated from standing height and sex, with separate walking and running step lengths, an optional measured step-length override, and an optional calorie estimate.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "steps": {
            "type": "number",
            "description": "Number of steps to convert.",
            "minimum": 1,
            "maximum": 200000
          },
          "height": {
            "type": "number",
            "description": "Standing height.",
            "minimum": 48,
            "maximum": 230
          },
          "height_unit": {
            "type": "string",
            "enum": [
              "in",
              "cm"
            ],
            "description": "Unit for height. Defaults to in."
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Sets the step-length coefficient: 0.415 x height for male, 0.413 for female."
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "run"
            ],
            "description": "Walking or running. Running steps are much longer. Defaults to walk."
          },
          "pace": {
            "type": "string",
            "enum": [
              "casual",
              "average",
              "brisk",
              "very_brisk",
              "easy_jog",
              "steady",
              "fast"
            ],
            "description": "Pace. Walking: casual (2.5 mph), average (3.0 mph, default), brisk (3.5 mph), very_brisk (4.0 mph). Running: easy_jog (5.0 mph), steady (6.2 mph, default), fast (7.0 mph)."
          },
          "weight": {
            "type": "number",
            "description": "Optional body weight. Supplying it adds a calorie estimate.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Unit for weight. Defaults to kg."
          },
          "step_length": {
            "type": "number",
            "description": "Optional measured step length. Overrides the height-based estimate.",
            "minimum": 10,
            "maximum": 152
          },
          "step_length_unit": {
            "type": "string",
            "enum": [
              "in",
              "cm"
            ],
            "description": "Unit for the measured step length. Defaults to in."
          }
        },
        "required": [
          "steps",
          "height",
          "height_unit",
          "sex"
        ]
      }
    }
    calculate_water_intakeAction

    Estimate how much water to drink per day from sex, body weight, daily exercise minutes and climate. The starting range runs from the EFSA 2010 to the IOM 2005 Adequate Intake for total water, adjusted for body weight, temperature, humidity and altitude with the water-turnover equation of Yamada et al. 2022, plus a sweat-based exercise add-on. Returns a drinks target and range, total water including food, water from food, the exercise add-on and cups, in mL, liters and US fluid ounces.

    View tool JSON
    {
      "name": "calculate_water_intake",
      "kind": "act",
      "impl": "imperative",
      "description": "Estimate how much water to drink per day from sex, body weight, daily exercise minutes and climate. The starting range runs from the EFSA 2010 to the IOM 2005 Adequate Intake for total water, adjusted for body weight, temperature, humidity and altitude with the water-turnover equation of Yamada et al. 2022, plus a sweat-based exercise add-on. Returns a drinks target and range, total water including food, water from food, the exercise add-on and cups, in mL, liters and US fluid ounces.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Sex; selects the IOM and EFSA Adequate Intakes (women 2.0 to 2.7 L, men 2.5 to 3.7 L of total water a day) and the reference weight."
          },
          "weight": {
            "type": "number",
            "description": "Body weight.",
            "minimum": 20,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "kg",
              "lb"
            ],
            "description": "Weight unit. Defaults to kg."
          },
          "exercise_minutes": {
            "type": "number",
            "description": "Minutes of sweaty exercise on a typical day, 0 to 480. Defaults to 0.",
            "minimum": 0,
            "maximum": 480
          },
          "climate": {
            "type": "string",
            "enum": [
              "temperate",
              "warm",
              "hot",
              "hot_humid",
              "altitude"
            ],
            "description": "Where the person spends most of the day: temperate (about 20 C / 68 F, or air-conditioned indoors, default), warm (about 27 C / 80 F), hot (about 32 C / 90 F), hot_humid (32 C at 80 percent humidity) or altitude (about 2,000 m / 6,500 ft)."
          }
        },
        "required": [
          "sex",
          "weight"
        ]
      }
    }
    calculate_weight_loss_percentageAction

    Calculate the percent of starting body weight lost, the amount lost, which clinical milestone that reaches (3 to 5% where benefits begin, 5% clinically meaningful, then 10, 15 and 20%), the weight at the next milestone, optional progress toward a goal weight, and an optional average weekly pace as a percent of body weight judged against the 0.5 to 1% per week band. Includes STEP 1 and SURMOUNT-1 trial benchmarks. Mirrors the FitCraft Weight Loss Percentage Calculator page. Never returns dosing advice.

    View tool JSON
    {
      "name": "calculate_weight_loss_percentage",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate the percent of starting body weight lost, the amount lost, which clinical milestone that reaches (3 to 5% where benefits begin, 5% clinically meaningful, then 10, 15 and 20%), the weight at the next milestone, optional progress toward a goal weight, and an optional average weekly pace as a percent of body weight judged against the 0.5 to 1% per week band. Includes STEP 1 and SURMOUNT-1 trial benchmarks. Mirrors the FitCraft Weight Loss Percentage Calculator page. Never returns dosing advice.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "starting_weight": {
            "type": "number",
            "description": "Weight at the start, in weight_unit. 70 to 700 lb or 32 to 318 kg.",
            "minimum": 32,
            "maximum": 700
          },
          "current_weight": {
            "type": "number",
            "description": "Weight now, in weight_unit.",
            "minimum": 32,
            "maximum": 700
          },
          "weight_unit": {
            "type": "string",
            "enum": [
              "lb",
              "kg"
            ],
            "description": "Unit for all three weights."
          },
          "goal_weight": {
            "type": "number",
            "description": "Optional goal weight in weight_unit. Must be below starting_weight. Adds progress toward the goal.",
            "minimum": 32,
            "maximum": 700
          },
          "weeks_elapsed": {
            "type": "number",
            "description": "Optional weeks since starting_weight was recorded, 1 to 520. Adds the average weekly pace.",
            "minimum": 1,
            "maximum": 520
          }
        },
        "required": [
          "starting_weight",
          "current_weight",
          "weight_unit"
        ]
      }
    }