# MyPlate.food nutrition tools (remote · mcp.myplate.food)

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

- Trust score: 65/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.myplate.food`: 65/100 (this document), [markdown](https://verifymcp.io/servers/food-myplate-nutrition/mcp.md), [page](https://verifymcp.io/servers/food-myplate-nutrition/mcp)
- remote · `mcp.myplate.food`: 59/100, [markdown](https://verifymcp.io/servers/food-myplate-nutrition/mcp-2.md), [page](https://verifymcp.io/servers/food-myplate-nutrition/mcp-2)

## Channel facts

- Endpoint: `https://mcp.myplate.food/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 16 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3749 tokens (~234/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http food-myplate-nutrition https://mcp.myplate.food/mcp
```

### Codex

```toml
[mcp_servers.food-myplate-nutrition]
url = "https://mcp.myplate.food/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "food-myplate-nutrition": {
      "type": "remote",
      "url": "https://mcp.myplate.food/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add food-myplate-nutrition --url https://mcp.myplate.food/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  food-myplate-nutrition:
    url: "https://mcp.myplate.food/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 61, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (16)

### `calculate_bmi` (~204 tokens)

Calculate BMI (Body Mass Index)

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.

Input parameters:

- `age` (integer): Age in years. Omit for standard adult BMI; required (with sex) for ages 2–19 youth percentiles.
- `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).
- `sex` (string): Required only when age < 20 (CDC curves are sex-specific).
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_body_fat` (~246 tokens)

Estimate body-fat percentage

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).

Input parameters:

- `age` (integer, required): Age in years.
- `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).
- `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.
- `sex` (string, required): Biological sex.
- `waist_cm` (number): Waist circumference in cm (or waist_in).
- `waist_in` (number): Waist circumference in inches.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_body_metric` (~328 tokens)

Calculate a body / fitness 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).

Input parameters:

- `activity` (string): Activity (for water-intake).
- `body_fat` (number): Body-fat % (for ffmi).
- `current_weight` (number): Current weight (for weight-loss-percentage).
- `height` (number): Height (cm or in).
- `hip` (number): Hip (cm or in).
- `metric` (string, required): Which calculator to run.
- `reps` (integer): Reps performed (for one-rep-max).
- `sex` (string): Required for waist-to-hip, lean-body-mass, ffmi.
- `start_weight` (number): Starting weight (for weight-loss-percentage).
- `unit` (string): Units for inputs/output. Default metric (cm/kg).
- `waist` (number): Waist (cm or in per unit).
- `weight` (number): Weight (kg or lb).

### `calculate_myplate_plan` (~256 tokens)

Calculate a USDA MyPlate food-pattern 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).

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `edition` (string): DRI Estimated Energy Requirement equation set. Defaults to iom2005.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_calorie_needs` (~249 tokens)

Calculate calorie needs (BMR / TDEE / deficit / macros)

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, 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.

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_bmr` (~174 tokens)

Calculate basal metabolic rate (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.

Input parameters:

- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_tdee` (~212 tokens)

Calculate total daily energy expenditure (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.

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_calorie_deficit` (~203 tokens)

Calculate calorie-deficit tiers for weight loss

Use this when someone wants a weight-loss calorie target. Returns maintenance calories (TDEE) and 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.

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_macros` (~240 tokens)

Calculate a macronutrient split

Split a daily calorie budget into protein, carbohydrate and fat grams across three presets (balanced, higher-protein, lower-carb), within the IOM acceptable macronutrient distribution ranges (protein 10–35%, carbs 45–65%, fat 20–35%). Pass `calories` directly, or a body profile (age, sex, height, weight, activity) to derive TDEE first.

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer): Age in years (if deriving from a profile).
- `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).
- `sex` (string): Biological sex (if deriving from a profile).
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_protein_target` (~206 tokens)

Calculate a daily protein target

Daily protein target in grams from body weight and activity level: the IOM RDA floor (0.8 g/kg) and an activity-scaled range up to the Academy of Nutrition and Dietetics / Dietitians of Canada / ACSM (2016) 1.2–2.0 g/kg athlete range. Needs age, sex, height, weight and activity.

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_ideal_weight` (~181 tokens)

Estimate ideal / healthy body 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.

Input parameters:

- `age` (integer, required): Age in years.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `calculate_glp1_protein` (~154 tokens)

GLP-1 muscle-preservation protein target

Protein target to preserve muscle during weight loss on a GLP-1 medication (Ozempic, Wegovy, Zepbound, Mounjaro): the 1.2–1.6 g/kg preservation range vs the 0.8 g/kg IOM RDA, a per-meal spread, and the DRI fiber Adequate Intake for age + sex. Needs weight, age and sex.

Input parameters:

- `age` (integer, required): Age in years.
- `sex` (string, required): Biological sex (sets the fiber Adequate Intake).
- `unit` (string): Units for weight. Default metric (kg).
- `weight` (number, required): Body weight (kg or lb per unit).

### `calculate_dach_energy` (~169 tokens)

Calculate D-A-CH / DGE energy requirement

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.

Input parameters:

- `age` (integer, required): Age in years.
- `pal` (number): Physical Activity Level factor (default 1.6, DGE range 1.2–2.4).
- `sex` (string, required): Biological sex.
- `weight_kg` (number): Weight in kilograms (or weight_lb).
- `weight_lb` (number): Weight in pounds.

### `calculate_dri` (~268 tokens)

Get the full Dietary Reference Intakes table

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).

Input parameters:

- `activity` (string): Physical activity level. Defaults to sedentary.
- `age` (integer, required): Age in years.
- `edition` (string): DRI Estimated Energy Requirement equation set. Defaults to iom2005.
- `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).
- `sex` (string, required): Biological sex — drives the energy equation.
- `weight_kg` (number): Weight in kilograms (or use weight_lb).
- `weight_lb` (number): Weight in pounds (imperial).

### `search_recipes` (~197 tokens)

Search MyPlate Kitchen 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.

Input parameters:

- `category` (string): Dish category, e.g. "Main dish", "Salad", "Soup".
- `food_group` (string): Food-group key: fruits, vegetables, grains, protein-foods, or dairy.
- `limit` (integer): Max results to return (default 20).
- `max_calories` (number): Only recipes at or below this calorie count per serving.
- `min_rating` (number): Minimum USDA rating (0–5).
- `offset` (integer): Pagination offset.
- `q` (string): Free-text search over recipe name + description, e.g. "black bean".

### `get_recipe` (~68 tokens)

Get a full MyPlate Kitchen 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.

Input parameters:

- `slug` (string, required): Recipe slug, e.g. "2-step-chicken".

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/food-myplate-nutrition/mcp#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 64
- 2026-08-01: 64
- 2026-07-31: 64
- 2026-07-30: 63
- 2026-07-29: 63
- 2026-07-28: 62
- 2026-07-27: 61
- 2026-07-26: 61

## Links

- Remote endpoint: https://mcp.myplate.food/mcp
- Website: https://myplate.food/mcp
- Changelog RSS feed: https://verifymcp.io/servers/food-myplate-nutrition/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/food-myplate-nutrition/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/food-myplate-nutrition/mcp
