MyPlate.food nutrition tools
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
USDA nutrition calculators + the preserved MyPlate Kitchen recipes; source-cited, machine-verified.
| Author | food.myplate |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 567 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"MyPlate.food nutrition tools": {
"url": "https://mcp.myplate.food/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
calculate_bmiread-onlyCompute 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.
Parameters:
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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_body_fatread-onlyEstimate 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).
Parameters:
sex(required) — string — Biological sex.age(required) — 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.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— 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_body_metricread-onlyRun 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).
Parameters:
metric(required) — string — Which calculator to run.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).weight— number — 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_myplate_planread-onlyEstimate 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).
Parameters:
age(required) — integer — Age in years.sex(required) — 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).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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_calorie_needsread-onlyUse 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.
Parameters:
age(required) — integer — Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri.sex(required) — 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. 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_bmrread-onlyCompute 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.
Parameters:
age(required) — integer — Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri.sex(required) — 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_tdeeread-onlyUse 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.
Parameters:
age(required) — integer — Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri.sex(required) — 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 — Weight in kilograms (or use weight_lb).weight_lb— number — Weight in pounds (imperial).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_calorie_deficitread-onlyUse 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.
Parameters:
age(required) — integer — Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri.sex(required) — 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. 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_macrosread-onlySplit 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.
Parameters:
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).weight_kg— number — Weight in kilograms (or use weight_lb).weight_lb— number — Weight in pounds (imperial).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_protein_targetread-onlyDaily 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.
Parameters:
age(required) — integer — Age in years.sex(required) — 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.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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_ideal_weightread-onlyEstimate 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.
Parameters:
age(required) — integer — Age in years (18–120). These are adult equations; for a child or teenager use calculate_myplate_plan or calculate_dri.sex(required) — 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 — 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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_glp1_proteinread-onlyProtein 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.
Parameters:
sex(required) — string — Biological sex (sets the fiber Adequate Intake).weight(required) — number — Body weight (kg or lb per unit).age(required) — integer — Age in years.unit— string — Units for weight. Default metric (kg).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_dach_energyread-onlyDaily 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.
Parameters:
sex(required) — string — Biological sex.age(required) — 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).weight_kg— number — Weight in kilograms (or weight_lb).weight_lb— number — Weight in pounds.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_driread-onlyReturn 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).
Parameters:
age(required) — integer — Age in years.sex(required) — 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).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).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_recipesread-onlySearch 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.
Parameters:
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.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_reciperead-onlyFetch 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.
Parameters:
slug(required) — string — Recipe slug, e.g. "2-step-chicken".
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.