# MyPlate.food nutrition tools

> USDA nutrition calculators + the preserved MyPlate Kitchen recipes; source-cited, machine-verified.

- name: food.myplate/nutrition
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 75/100 flags: no-repository
- quality: 82/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/food.myplate%2Fnutrition
- tools: https://api.protogrid.dev/v1/servers/food.myplate%2Fnutrition/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "nutrition": {
      "type": "http",
      "url": "https://mcp.myplate.food/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 65
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% ~updated-90d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 79 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: calculate_bmi (destructiveHint, idempotentHint); calculate_body_fat (destructiveHint, idempotentHint); calculate_body_metric (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 7,077 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 7,077 tokens to load them all
- tool set hash: b6dc0953d842bc3625234cc47076e2df
- badge: [![protogrid quality](https://protogrid.dev/badge/food.myplate/nutrition.svg)](https://protogrid.dev/servers/food.myplate/nutrition)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.myplate.food/mcp (streamable-http, auth none, reachable true, uptime30d 0.9831933)
- https://mcp.myplate.food/sse (sse, auth none, reachable true, uptime30d 0.974359)

## Packages

_none_

## Tools (16)

- `calculate_bmi`: 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.
- `calculate_bmr`: 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.
- `calculate_body_fat`: 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).
- `calculate_body_metric`: 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).
- `calculate_calorie_deficit`: 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.
- `calculate_calorie_needs`: 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.
- `calculate_dach_energy`: 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.
- `calculate_dri`: 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).
- `calculate_glp1_protein`: 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.
- `calculate_ideal_weight`: 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.
- `calculate_macros`: 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.
- `calculate_myplate_plan`: 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).
- `calculate_protein_target`: 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.
- `calculate_tdee`: 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.
- `get_recipe`: 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.
- `search_recipes`: Search the ~1,072-recipe USDA MyPlate Kitchen collection (public domain). Filter by free-text query, 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.
