USDA nutrition calculators + the preserved MyPlate Kitchen recipes; source-cited, machine-verified.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compute Body Mass Index and its weight classification from height and weight alone. Adults use the WHO cutoffs (underweight / normal / overweight / obese); for ages 2–19 pass age + sex and it uses the CDC BMI-for-age percentiles instead. Returns a canonical myplate.food URL and source citation.
Age in years (2–120). Omit for standard adult BMI; required (with sex) for ages 2–19 youth percentiles. Under 2 there is no BMI reference — weight status is assessed on weight-for-length.
Required only when age < 20 (CDC curves are sex-specific).
Height in centimeters (or use height_ft + height_in).
Height, feet component (imperial).
Height, inches component (imperial).
Weight in kilograms (or use weight_lb).
Weight in pounds (imperial).
Tool list last changed Oct 25, 2026.
Compute Body Mass Index and its weight classification from height and weight alone. Adults use the WHO cutoffs (underweight / normal / overweight / obese); for ages 2–19 pass age + sex and it uses the CDC BMI-for-age percentiles instead. Returns a canonical myplate.food URL and source citation.
| Argument | Type | Description |
|---|---|---|
| age | integer | Age in years (2–120). Omit for standard adult BMI; required (with sex) for ages 2–19 youth percentiles. Under 2 there is no BMI reference — weight status is assessed on weight-for-length. |
| sex | string | Required only when age < 20 (CDC curves are sex-specific). |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 2,
"description": "Age in years (2–120). Omit for standard adult BMI; required (with sex) for ages 2–19 youth percentiles. Under 2 there is no BMI reference — weight status is assessed on weight-for-length."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Required only when age < 20 (CDC curves are sex-specific)."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Compute basal/resting metabolic rate — the calories your body burns at rest. Returns the headline Mifflin-St Jeor (1990) value plus the revised Harris-Benedict (Roza & Shizgal 1984) estimate for comparison. Needs age, sex, height and weight. Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri. |
| sex* | string | Biological sex — drives the energy equation. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
Estimate body-fat % using the U.S. Navy circumference method, with a Deurenberg BMI-based cross-check and ACE category. Needs sex, age, height, weight and tape measurements of neck and waist (plus hip for women).
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–80). The Deurenberg cross-check and the ACE bands are adult references; the Navy equation itself does not use age. |
| sex* | string | Biological sex. |
| hip_cm | number | Hip circumference in cm — required for women (or hip_in). |
| hip_in | number | Hip circumference in inches (women). |
| neck_cm | number | Neck circumference in cm (or neck_in). |
| neck_in | number | Neck circumference in inches. |
| waist_cm | number | Waist circumference in cm (or waist_in). |
| waist_in | number | Waist circumference in inches. |
| height_cm |
Run one of myplate.food's quick body-composition & fitness calculators and get its value plus the healthy band. Pick `metric` and pass that metric's fields: • waist-to-height — waist, height • waist-to-hip — waist, hip, sex • lean-body-mass — weight, height, sex • ffmi — weight, height, body_fat, sex • water-intake — weight (+ optional activity: sedentary|moderate|active) • weight-loss-percentage — start_weight, current_weight • one-rep-max — weight, reps Lengths and weights follow `unit` (metric = cm/kg, imperial = in/lb; default metric).
| Argument | Type | Description |
|---|---|---|
| hip | number | Hip (cm or in). |
| sex | string | Required for waist-to-hip, lean-body-mass, ffmi. |
| reps | integer | Reps performed (for one-rep-max). |
| unit | string | Units for inputs/output. Default metric (cm/kg). |
| waist | number | Waist (cm or in per unit). |
| height | number | Height (cm or in). |
| metric* | string | Which calculator to run. |
| weight | number |
Use this when someone wants a weight-loss calorie target. Returns maintenance calories (TDEE) and up to three deficit tiers — mild (−250), standard (−500) and aggressive (−750 kcal/day) — each with the realistic weekly rate it buys, and a flag when a target dips below BMR. Needs age, sex, height, weight and activity; pass pregnancy or lactation when either applies. weight_loss_targets lists only the paces myplate.food itself offers: a pace whose target is under 1,200 kcal a day for women or 1,500 for men (the low end of the calorie prescriptions in the 2013 AHA/ACC/TOS obesity guideline) is left out and named, without a figure, in weight_loss_not_offered. weight_loss_default is the pace the calculator page opens on and weight_loss_floor_kcal is the floor that was applied. In pregnancy and while breastfeeding no targets are returned, and weight_loss_withheld gives the reason (pregnancy or lactation). Do not work out a lower target yourself when one is left out or withheld. Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri. |
| sex* | string | Biological sex — drives the energy equation. |
| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
Use this when you want the whole energy picture in one call. Returns resting metabolic rate (Mifflin-St Jeor) and revised Harris-Benedict, total daily energy expenditure (TDEE) at every activity level, up to three weight-loss deficit tiers, macronutrient splits, protein targets and healthy-weight ranges. This is a superset of calculate_tdee, calculate_calorie_deficit, calculate_macros, calculate_protein_target, calculate_bmr and calculate_ideal_weight — reach for those only when you need a single number. Same profile inputs as the MyPlate plan. weight_loss_targets lists only the paces myplate.food itself offers: a pace whose target is under 1,200 kcal a day for women or 1,500 for men (the low end of the calorie prescriptions in the 2013 AHA/ACC/TOS obesity guideline) is left out and named, without a figure, in weight_loss_not_offered. weight_loss_default is the pace the calculator page opens on and weight_loss_floor_kcal is the floor that was applied. In pregnancy and while breastfeeding no targets are returned, and weight_loss_withheld gives the reason (pregnancy or lactation). Above the healthy-BMI band, ideal_weight also carries firstGoal (the weights 5 to 10% under the current weight, the first goal in the 2013 AHA/ACC/TOS obesity guideline) and adjusted (the Hamwi ideal weight plus 25% of the weight above it). Both are null at or under the band, and in pregnancy and while breastfeeding. Do not work out a lower target yourself when one is left out or withheld. Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri. |
| sex* | string | Biological sex — drives the energy equation. |
Daily energy requirement for the German/Austrian/Swiss (D-A-CH) DGE framework: resting energy via the Müller et al. (2004) equation the DGE uses, scaled by a PAL activity factor. Returns resting energy, the requirement at the chosen PAL, and a table at PAL 1.4 / 1.6 / 1.8. Needs sex, age and weight. Adults only — the DGE derives this equation for adults and publishes table reference values for children and adolescents instead.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (19–120). Adults only — the DGE derives this equation for adults and publishes table reference values for children and adolescents instead. |
| pal | number | Physical Activity Level factor (default 1.6, DGE range 1.2–2.4). |
| sex* | string | Biological sex. |
| weight_kg | number | Weight in kilograms (or weight_lb). |
| weight_lb | number | Weight in pounds. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 19,
"description": "Age in years (19–120). Adults only — the DGE derives this equation for adults and publishes table reference values for children and adolescents instead."
},
"pal": {
"type": "number",
"maximum": 2.4,
"minimum": 1.2,
"description": "Physical Activity Level factor (default 1.6, DGE range 1.2–2.4)."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Return the full Dietary Reference Intakes table for a life stage — recommended intakes and tolerable upper limits for macronutrients, vitamins and minerals (IOM 2005/2006/2011, NASEM 2019), plus the Estimated Energy Requirement and BMI. Needs age, sex, height, weight (pregnancy/lactation optional; edition iom2005 | nasem2023).
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years. |
| sex* | string | Biological sex — drives the energy equation. |
| edition | string | DRI Estimated Energy Requirement equation set. Defaults to iom2005. |
| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string | Lactation status (adds the IOM lactation calorie allowance). |
Protein target to preserve muscle during weight loss on a GLP-1 medication (Ozempic, Wegovy, Zepbound, Mounjaro): the 1.2 to 1.6 g/kg preservation range vs the IOM protein RDA for the age (0.8 g/kg for adults, 0.85 at 14 to 18, higher below 14), the per-meal amount over 4 meals, and the DRI fiber Adequate Intake for age and sex. When the range runs above 120 g/day it also returns the fixed 80 to 120 g/day option from the 2025 GLP-1 nutrition advisory, with its note that actual body weight can overestimate needs. Needs weight, age and sex.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years. |
| sex* | string | Biological sex (sets the fiber Adequate Intake). |
| unit | string | Units for weight. Default metric (kg). |
| weight* | number | Body weight (kg or lb per unit). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sex",
"weight",
"age"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"description": "Age in years."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex (sets the fiber Adequate Intake)."
},
"unit": {
"enum": [
"metric",
"imperial"
],
"type": "string",
"description": "Units for weight. Default metric (kg)."
},
"weight": {
"type": "number",
"description": "Body weight (kg or lb per unit).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Estimate ideal body weight from height and sex via four classic clinical formulas (Devine 1974, Robinson 1983, Miller 1983, Hamwi 1964), plus the healthy-BMI (18.5–24.9) weight band and current BMI for context. Needs age, sex, height, weight. Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms. Above the healthy-BMI band, ideal_weight also carries firstGoal (the weights 5 to 10% under the current weight, the first goal in the 2013 AHA/ACC/TOS obesity guideline) and adjusted (the Hamwi ideal weight plus 25% of the weight above it). Both are null at or under the band, and in pregnancy and while breastfeeding. weight_loss_withheld gives the reason when they are withheld.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri. |
| sex* | string | Biological sex — drives the energy equation. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string |
Split a daily calorie budget into protein, carbohydrate and fat grams across three presets. Balanced (20/50/30) sits inside the IOM acceptable macronutrient distribution ranges (protein 10 to 35%, carbohydrate 45 to 65%, fat 20 to 35%); higher-protein (30/40/30) and lower-carb (30/35/35) put carbohydrate below its range. Each preset in the response carries withinAmdr. Pass `calories` directly, or a body profile (age, sex, height, weight, activity) to derive TDEE first. With a profile: Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms.
| Argument | Type | Description |
|---|---|---|
| age | integer | Age in years, 18 or over (if deriving from a profile). |
| sex | string | Biological sex (if deriving from a profile). |
| activity | string | Physical activity level. Defaults to sedentary. |
| calories | number | Daily calorie budget to split. Omit to derive TDEE from a profile. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
Estimate daily calorie needs (IOM Estimated Energy Requirement) and return the USDA MyPlate food-group plan at that level — cups of fruit/vegetables/dairy, ounce-equivalents of grains/protein, plus weekly vegetable & protein subgroup targets and BMI. From age, sex, height, weight and activity (pregnancy/lactation optional).
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years. |
| sex* | string | Biological sex — drives the energy equation. |
| edition | string | DRI Estimated Energy Requirement equation set. Defaults to iom2005. |
| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string | Lactation status (adds the IOM lactation calorie allowance). |
Daily protein target in grams from body weight and activity level: the IOM RDA for the life stage (0.8 g/kg for adults; 0.85 at 14 to 18, 1.1 in the second half of pregnancy, 1.3 while breastfeeding) and an activity-scaled range up to the Academy of Nutrition and Dietetics / Dietitians of Canada / ACSM (2016) 1.2 to 2.0 g/kg athlete range. Needs age, sex, height, weight and activity; pass pregnancy or lactation when either applies. Under 18 the answer is the RDA alone: range is null, byActivity is empty and activity_range_withheld is "under_18", because the activity ranges are adult sports-nutrition guidance.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years. |
| sex* | string | Biological sex — drives the energy equation. |
| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string | Breastfeeding status. The protein RDA follows it. |
Use this when you need maintenance calories — the total daily energy expenditure. Mifflin-St Jeor resting metabolic rate scaled by a physical-activity multiplier; returns the TDEE at the given activity level plus a table across all four levels (sedentary → very-active). Needs age, sex, height, weight and activity. For deficits, macros and protein alongside it, use calculate_calorie_needs instead. Adult equations: ages 18 to 120. A younger age returns 400; for a child or teenager use myplate-plan or dri, whose energy equations have child forms.
| Argument | Type | Description |
|---|---|---|
| age* | integer | Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri. |
| sex* | string | Biological sex — drives the energy equation. |
| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| weight_kg | number |
Fetch one recipe by its slug: ingredients, directions, full USDA nutrition table, MyPlate food-group amounts, serving size, yield, rating, image and source attribution. Get slugs from search_recipes.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Recipe slug, e.g. "2-step-chicken". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Recipe slug, e.g. \"2-step-chicken\"."
}
},
"additionalProperties": false
}Search the ~1,072-recipe USDA MyPlate Kitchen collection (public domain). Filter by free-text query, ingredients on hand, food group, dish category, max calories and minimum rating. Returns recipe cards with slug, calories, food groups, image and links. Use get_recipe with a slug for the full recipe.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text search over recipe name + description, e.g. "black bean". |
| limit | integer | Max results to return (default 20). |
| offset | integer | Pagination offset. |
| category | string | Dish category, e.g. "Main dish", "Salad", "Soup". |
| food_group | string | Food-group key: fruits, vegetables, grains, protein-foods, or dairy. |
| min_rating | number | Minimum USDA rating (0–5). |
| ingredients | string | Comma-separated ingredients on hand, up to 20, e.g. "chicken, rice, broccoli". Returns recipes using at least one, those using the most first, each with matched_ingredients. |
| max_calories | number | Only recipes at or below this calorie count per serving. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| number |
| Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sex",
"age"
],
"properties": {
"age": {
"type": "integer",
"maximum": 80,
"minimum": 18,
"description": "Age in years (18–80). The Deurenberg cross-check and the ACE bands are adult references; the Navy equation itself does not use age."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex."
},
"hip_cm": {
"type": "number",
"description": "Hip circumference in cm — required for women (or hip_in).",
"exclusiveMinimum": 0
},
"hip_in": {
"type": "number",
"description": "Hip circumference in inches (women).",
"exclusiveMinimum": 0
},
"neck_cm": {
"type": "number",
"description": "Neck circumference in cm (or neck_in).",
"exclusiveMinimum": 0
},
"neck_in": {
"type": "number",
"description": "Neck circumference in inches.",
"exclusiveMinimum": 0
},
"waist_cm": {
"type": "number",
"description": "Waist circumference in cm (or waist_in).",
"exclusiveMinimum": 0
},
"waist_in": {
"type": "number",
"description": "Waist circumference in inches.",
"exclusiveMinimum": 0
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| Weight (kg or lb). |
| activity | string | Activity (for water-intake). |
| body_fat | number | Body-fat % (for ffmi). |
| start_weight | number | Starting weight (for weight-loss-percentage). |
| current_weight | number | Current weight (for weight-loss-percentage). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"metric"
],
"properties": {
"hip": {
"type": "number",
"description": "Hip (cm or in).",
"exclusiveMinimum": 0
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Required for waist-to-hip, lean-body-mass, ffmi."
},
"reps": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Reps performed (for one-rep-max)."
},
"unit": {
"enum": [
"metric",
"imperial"
],
"type": "string",
"description": "Units for inputs/output. Default metric (cm/kg)."
},
"waist": {
"type": "number",
"description": "Waist (cm or in per unit).",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"description": "Height (cm or in).",
"exclusiveMinimum": 0
},
"metric": {
"enum": [
"waist-to-height",
"waist-to-hip",
"lean-body-mass",
"ffmi",
"water-intake",
"weight-loss-percentage",
"one-rep-max"
],
"type": "string",
"description": "Which calculator to run."
},
"weight": {
"type": "number",
"description": "Weight (kg or lb).",
"exclusiveMinimum": 0
},
"activity": {
"enum": [
"sedentary",
"moderate",
"active"
],
"type": "string",
"description": "Activity (for water-intake)."
},
"body_fat": {
"type": "number",
"maximum": 70,
"minimum": 0,
"description": "Body-fat % (for ffmi)."
},
"start_weight": {
"type": "number",
"description": "Starting weight (for weight-loss-percentage).",
"exclusiveMinimum": 0
},
"current_weight": {
"type": "number",
"description": "Current weight (for weight-loss-percentage).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string | Breastfeeding status. Weight-loss figures are withheld while breastfeeding. |
| pregnancy | string | Pregnancy status. Weight-loss figures are withheld during pregnancy. |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Breastfeeding status. Weight-loss figures are withheld while breastfeeding."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status. Weight-loss figures are withheld during pregnancy."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| activity | string | Physical activity level. Defaults to sedentary. |
| height_cm | number | Height in centimeters (or use height_ft + height_in). |
| height_ft | number | Height, feet component (imperial). |
| height_in | number | Height, inches component (imperial). |
| lactation | string | Breastfeeding status. Weight-loss figures are withheld while breastfeeding, and the protein RDA follows it. |
| pregnancy | string | Pregnancy status. Weight-loss figures are withheld during pregnancy, and the protein RDA follows it. |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Breastfeeding status. Weight-loss figures are withheld while breastfeeding, and the protein RDA follows it."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status. Weight-loss figures are withheld during pregnancy, and the protein RDA follows it."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| pregnancy | string | Pregnancy status (adds the IOM trimester calorie allowance). |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"description": "Age in years."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"edition": {
"enum": [
"iom2005",
"nasem2023"
],
"type": "string",
"description": "DRI Estimated Energy Requirement equation set. Defaults to iom2005."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Lactation status (adds the IOM lactation calorie allowance)."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status (adds the IOM trimester calorie allowance)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| Breastfeeding status. Weight-loss figures are withheld while breastfeeding. |
| pregnancy | string | Pregnancy status. Weight-loss figures are withheld during pregnancy. |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Breastfeeding status. Weight-loss figures are withheld while breastfeeding."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status. Weight-loss figures are withheld during pregnancy."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years, 18 or over (if deriving from a profile)."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex (if deriving from a profile)."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"calories": {
"type": "number",
"maximum": 8000,
"minimum": 500,
"description": "Daily calorie budget to split. Omit to derive TDEE from a profile."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| pregnancy | string | Pregnancy status (adds the IOM trimester calorie allowance). |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"description": "Age in years."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"edition": {
"enum": [
"iom2005",
"nasem2023"
],
"type": "string",
"description": "DRI Estimated Energy Requirement equation set. Defaults to iom2005."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Lactation status (adds the IOM lactation calorie allowance)."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status (adds the IOM trimester calorie allowance)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| pregnancy | string | Pregnancy status. The protein RDA follows it. |
| weight_kg | number | Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 1,
"description": "Age in years."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"lactation": {
"enum": [
"not-lactating",
"0-6-months",
"7-12-months"
],
"type": "string",
"description": "Breastfeeding status. The protein RDA follows it."
},
"pregnancy": {
"enum": [
"not-pregnant",
"1st-trimester",
"2nd-trimester",
"3rd-trimester"
],
"type": "string",
"description": "Pregnancy status. The protein RDA follows it."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| Weight in kilograms (or use weight_lb). |
| weight_lb | number | Weight in pounds (imperial). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"age",
"sex"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 18,
"description": "Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri."
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex — drives the energy equation."
},
"activity": {
"enum": [
"sedentary",
"moderately-active",
"active",
"very-active"
],
"type": "string",
"description": "Physical activity level. Defaults to sedentary."
},
"height_cm": {
"type": "number",
"description": "Height in centimeters (or use height_ft + height_in).",
"exclusiveMinimum": 0
},
"height_ft": {
"type": "number",
"maximum": 8,
"minimum": 1,
"description": "Height, feet component (imperial)."
},
"height_in": {
"type": "number",
"maximum": 11.9,
"minimum": 0,
"description": "Height, inches component (imperial)."
},
"weight_kg": {
"type": "number",
"description": "Weight in kilograms (or use weight_lb).",
"exclusiveMinimum": 0
},
"weight_lb": {
"type": "number",
"description": "Weight in pounds (imperial).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Free-text search over recipe name + description, e.g. \"black bean\"."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results to return (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset."
},
"category": {
"type": "string",
"description": "Dish category, e.g. \"Main dish\", \"Salad\", \"Soup\"."
},
"food_group": {
"type": "string",
"description": "Food-group key: fruits, vegetables, grains, protein-foods, or dairy."
},
"min_rating": {
"type": "number",
"maximum": 5,
"minimum": 0,
"description": "Minimum USDA rating (0–5)."
},
"ingredients": {
"type": "string",
"description": "Comma-separated ingredients on hand, up to 20, e.g. \"chicken, rice, broccoli\". Returns recipes using at least one, those using the most first, each with matched_ingredients."
},
"max_calories": {
"type": "number",
"description": "Only recipes at or below this calorie count per serving.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}