
Official MCP RegistryListed
Nutrition MCP
USDA FoodData Central nutrition data: search foods, compare macros, and analyze meals.
First seen 2 Oct 2026. Evidence as of 11 Nov 2026.
14
Tools
From an anonymous probe
1
Source listings
Each with its own history
2
Recorded changes
Since first seen
Tools
| Tool | Description | Behaviour |
|---|---|---|
| analyze_meal | Totals nutrients across several foods and assesses the meal. assessment.shortfalls lists missed targets, worst first, and assessment.over_limit lists exceeded limits. not_reported lists nutrients with no data in the food records; those are unknown, not zero. failed lists items left out of the total, and partial is true when there are any. | Read-only |
| analyze_plan | Analyzes a multi-day meal plan and assesses its daily average. Every ingredient is resolved and converted, then totaled by dish, meal, and day, up to 400 ingredients. The assessment is of the daily average, not the multi-day sum. per_day has each day's totals, shopping_list totals ingredients at full recipe quantities, and failed lists ingredients missing from the totals. The detail breakdown is large for a full week. | Read-only |
| analyze_recipe | Totals one dish from its ingredient list and reports it per serving. Ingredient quantities are for the whole dish, as a recipe states them. per_serving divides by servings, whole_recipe holds the undivided totals, and the assessment covers one serving. | Read-only |
| clear_profile | Deletes this conversation's profile so assessments use the FDA food-label values. cleared is false when no profile was set. | Destructive |
| compare_foods | Puts several foods side by side at the same serving weight. highest_per_nutrient names the food with the most of each nutrient. failed lists ids that could not be loaded, and partial is true when the comparison is missing some of them. | Read-only |
| database_status | Reports whether the local USDA database is built and what it holds. The result counts foods by dataset and records with an ingredient statement. | Read-only |
| find_foods_by_nutrient | Ranks foods by how much of one nutrient they carry per 100 g. The default list is lab-measured foods. Branded products are included only when data_type is Branded. Amounts that cannot fit in 100 g, and potassium above the potassium-chloride ceiling, are left out. Per-100 g ranking favors foods eaten in small amounts, such as spices and dried herbs; the category filter narrows the list to one food group. Results are paged, and pagination.next_offset is null on the last page. | Read-only |
| get_food_nutrition | Returns the nutrient breakdown for one food at a serving weight. The result has macros, micronutrients, an assessment against daily targets, USDA's verbatim ingredient statement when available, and common portion sizes with their gram weights. ingredients_available is false when USDA supplied no ingredient statement, which does not mean the food has no ingredients. assessment.basis is personal_dri when a profile is set and fda_label_dv otherwise. | Read-only |
| get_profile | Returns this conversation's profile and the daily targets it resolves to. profile is null when none is set, and assessments then use the FDA food-label daily values. | Read-only |
| list_retailers | Lists configured retailers and the commerce capabilities each supports. A retailer with integration_mode link_handoff supports product links only; no account, cart, checkout, or order is created for it. | Read-only |
| prepare_retailer_handoff | Packages exact retailer products into links for the user to open. The handoff repeats the products, links, and quantities with the original request. It does not contact the retailer, change a cart, or check out. | Read-only |
| resolve_ingredients | Matches ingredient names to FoodData Central foods and converts portions to grams. Portions such as 2 tbsp, 1/2 cup, or 1 medium are converted with each food's own measured portions, so 1 cup differs for spinach and olive oil. Repeated ingredients are looked up once. method says how each portion was converted. Ingredients that could not be converted are listed under unresolved with the portions that food supports, and alternatives lists runner-up matches with their fdc_id. Bare names such as rice or beans match many records; names with the cooked state, such as cooked white rice, match more precisely. About a fifth of USDA foods have a portion table. | Read-only |
| search_foods | Searches USDA FoodData Central by food name. Each match has an fdc_id, its dataset, key macros per 100 g, and, for branded products, USDA's verbatim ingredient statement. ingredients_available is false when USDA supplied no ingredient statement for that record. Results are paged, and pagination.next_offset is null on the last page. | Read-only |
| set_profile | Stores a profile for this conversation so assessments use Dietary Reference Intakes. Age- and sex-specific U.S. Dietary Reference Intakes replace the generic food-label values. The result lists the resolved daily targets and limits. The profile is held in memory for the conversation, replaces any earlier profile, and is not written to disk. | Destructive |
Change history
- find_foods_by_nutrient: description changed (+"The default list is lab-measured foods. Branded products are included only when data_type is Branded. Amounts that cannot fit in 100 g, and potassium above the potassium-chloride ceiling, are left out.")
- Website changed from "https://github.com/AndrewVG23/nutrition_mcp" to "https://docuslide-mcp-production.up.railway.app/docs" (registry)
| Source | Listing | First seen | Last seen | Versions |
|---|---|---|---|---|
| Official MCP Registry | io.github.AndrewVG23/nutrition-mcp | 2 Oct 2026 | 11 Nov 2026 | 2 |