nutrition
Nutrition for more than 1,100 plant foods from 30 national tables, plus GB/EU & US claim checking
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"nutrition": {
"url": "https://mcp.heathy.org/mcp"
}
}
}Remote endpoints
https://mcp.heathy.org/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
π’lookup_food(food, nutrients)
Get the full per-100 g nutrient profile of a whole plant food, reconciled across up to 30 national food-composition tables (USDA, UK CoFID, IFCT India, Ciqual, BLS, Fineli, and more). Unlike a single-source table, every value reports how many sources contributed, which ones, and the per-source spread β so the number can be cited rather than asserted. Covers Indian foods from IFCT 2017 (ICMRβNIN, India). Accepts a slug ("bitter-gourd") or a plain or regional name ("karela", "chickoo").
Input Schema
{
"type": "object",
"properties": {
"food": {
"type": "string",
"description": "Food slug, common name, or regional alias."
},
"nutrients": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional nutrient slugs or names to return (e.g. [\"iron\",\"vitamin-c\"]). Omit for the full profile of 132 nutrients (plus 66 research-tier)."
}
},
"required": [
"food"
],
"additionalProperties": false
}π’search_foods(query, kind, limit)
Find the Heathy slug for a food or Ayurvedic herb by name, including regional and non-English aliases (Hindi, Sanskrit, botanical names). Resolves a plain-English or local name to the slug that lookup_food and herb_monograph accept. Returns ranked candidates rather than guessing a single answer.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Name, partial name, or alias β e.g. \"haldi\", \"bitter gou\"."
},
"kind": {
"type": "string",
"enum": [
"food",
"herb",
"any"
],
"description": "Restrict to foods or Ayurvedic herbs. Default \"any\"."
},
"limit": {
"type": "integer",
"description": "Max results, 1β50. Default 10."
}
},
"required": [
"query"
],
"additionalProperties": false
}π’nutrient_ranking(nutrient, limit, category, min_sources, include_small_amounts)
Ranks whole plant foods by the amount of one nutrient per 100 g of edible portion, optionally within one food category. Each row of `results` gives the value per 100 g, the number of sources behind it and, where heathy.org holds a typical serving for the food, that serving and the amount in it; the order is per 100 g. Foods eaten a few grams at a time (dried herbs, spices, tea leaves, and dried seaweed, mushrooms and vegetables) are not ranked in `results`. They are reported beside it in `also_higher.small_amounts`: a count of those holding more per 100 g than the last row, and the first five. They are ranked in `results` when include_small_amounts is true, and when the category filter selects mostly such foods ("spice", "tea", "seaweed"). With min_sources above 1, foods measured by fewer sources are reported in `also_higher.fewer_sources` in the same way. A nutrient that reads 0 on every food returns an explanation in `all_zero` and no ranking.
Input Schema
{
"type": "object",
"properties": {
"nutrient": {
"type": "string",
"description": "Nutrient slug or name β e.g. \"iron\", \"vitamin-c\", \"folate\"."
},
"limit": {
"type": "integer",
"description": "Max results, 1β100. Default 20."
},
"category": {
"type": "string",
"description": "Optional substring filter on the food category β e.g. \"fruit\", \"legume\", \"millet\"."
},
"min_sources": {
"type": "integer",
"description": "Smallest number of sources behind a value for its food to be ranked in results (1β32). Default 1. Above 1, foods measured by fewer sources are counted in also_higher.fewer_sources."
},
"include_small_amounts": {
"type": "boolean",
"description": "true ranks the foods eaten a few grams at a time (dried herbs, spices, tea leaves, dried seaweed, mushrooms and vegetables) in results with every other food. Default false."
}
},
"required": [
"nutrient"
],
"additionalProperties": false
}π’herb_monograph(herb)
Get a sourced monograph for an Ayurvedic herb, with traditional use and modern research kept strictly separate and never blended: `traditional` records what the tradition claims, `modern` records what research shows with an evidence tier (1 = strongest). Each response includes attribution, disclaimer, source_url and a `safety` block with cautions, pregnancy guidance and drug interactions. Accepts English, Sanskrit, Hindi or botanical names ("turmeric", "haldi", "Curcuma longa").
Input Schema
{
"type": "object",
"properties": {
"herb": {
"type": "string",
"description": "Herb slug or name β English, Sanskrit, Hindi, or botanical."
}
},
"required": [
"herb"
],
"additionalProperties": false
}π’search_recipes(query, goal, category, ingredient, max_time, ...)
Find raw / no-cook vegan recipes on Heathy by free text, health goal, category, ingredient, time or allergen. Every recipe is original and its per-serving nutrition is computed from the same food rows lookup_food returns, so figures are checkable rather than asserted. Returns ranked summaries β call get_recipe with a slug for ingredients, method and full nutrition. health_topic covers what the evidence supports for a goal or a named condition.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text over name, description and tags β e.g. \"dragon fruit\", \"breakfast\"."
},
"goal": {
"type": "string",
"enum": [
"immune",
"bone",
"energy",
"cognitive",
"strength",
"heart",
"gut",
"eye",
"hair",
"skin",
"nerve",
"hormone",
"glucose"
],
"description": "Restrict to recipes carrying this health goal."
},
"category": {
"type": "string",
"enum": [
"smoothies",
"salads",
"bowls",
"wraps",
"dips",
"snacks",
"soups",
"desserts",
"chutneys",
"plant-milks",
"sauces",
"ferments",
"crackers",
"nut-butters"
],
"description": "Restrict to one recipe category."
},
"ingredient": {
"type": "string",
"description": "Food slug or name that must appear in the ingredients β e.g. \"pitaya-raw\"."
},
"max_time": {
"type": "integer",
"description": "Maximum total time in minutes."
},
"exclude_allergens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Drop recipes containing any of these allergens β e.g. [\"tree-nuts\",\"sesame\"]."
},
"limit": {
"type": "integer",
"description": "Max results, 1β50. Default 10."
}
},
"additionalProperties": false
}π’get_recipe(recipe)
Get one Heathy recipe in full: ingredients with their food slugs and gram weights, method, per-serving nutrition, allergens and carbon footprint. All recipes are original, strictly raw / no-cook and vegan. The nutrition is computed from the ingredient food rows rather than entered by hand, so each figure traces back to the national datasets lookup_food cites. Accepts a slug or the recipe name; use search_recipes to find one.
Input Schema
{
"type": "object",
"properties": {
"recipe": {
"type": "string",
"description": "Recipe slug or name β e.g. \"dragon-fruit-coconut-breakfast-bowl\"."
}
},
"required": [
"recipe"
],
"additionalProperties": false
}π’health_topic(topic, include_recipes)
What to eat for a health goal β the nutrients involved, why each one, and which raw recipes carry them β the "what should I eat for X" question. Accepts a goal ("gut health", "bone-health") or a named condition ("PCOS", "ADHD", "anaemia"): condition names resolve even though topic titles are physiological. Topics often looked up alongside a diagnosis include a note on what the evidence does and does not support, with its own evidence rating; for ADHD and autism the note states that diet is not a treatment, per NICE. Omit the argument to list every topic.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Goal slug or title, or a condition name β e.g. \"digestion-gut\", \"PCOS\", \"anaemia\". Omit to list all topics."
},
"include_recipes": {
"type": "boolean",
"description": "Include raw recipes carrying this goal. Default true."
}
},
"additionalProperties": false
}π’check_claim(food, nutrient, market, only_permitted, preparation)
For a RAW or minimally-processed whole food, or an unfortified single-ingredient flour, report which nutrition claims ("source of iron", "high in vitamin C", "high fibre") the published data supports under GB/EU rules (15%/30% of NRV per 100 g, Reg. 1924/2006) and US rules (10-19%/20% of DV per RACC, 21 CFR 101.54), and flags where that answer depends on which national food-composition table was used, since the 30 tables reconciled here disagree on the same food by a median of 1.96x. Applies to claims wherever they appear, including websites and advertising (Reg. 1924/2006 Art. 1(2)), not only packaging. NOT valid for cooked or manufactured products β their composition depends on recipe and processing. Screening only: under Art. 5(1)(b)(i) the nutrient must be in THE FINAL PRODUCT, so a supported claim still needs an analysis of the producer's own produce. Results list the tables that do and do not support each claim; the tool does not select a qualifying table.
Input Schema
{
"type": "object",
"properties": {
"food": {
"type": "string",
"description": "Food slug or name β e.g. \"banana\", \"brazil-nuts\"."
},
"nutrient": {
"type": "string",
"description": "Optional: check one nutrient only, e.g. \"potassium\"."
},
"market": {
"type": "string",
"enum": [
"uk",
"us",
"both"
],
"description": "Which rules to apply. Default \"both\" β the divergence is usually the point."
},
"only_permitted": {
"type": "boolean",
"description": "Optional: return only claims the data supports, dropping the ones that fail."
},
"preparation": {
"type": "string",
"enum": [
"raw"
],
"description": "Must be \"raw\" (the default). This tool holds raw and minimally-processed commodity data only and REFUSES anything else, because cooking changes composition in both directions β vitamin C and folate are destroyed while minerals concentrate as water is lost. If the food you are asking about has been cooked, juiced, or made into a product, do not call this tool: its answer would not describe your product, and a nutrition claim is a legal statement about the product actually sold."
}
},
"required": [
"food"
],
"additionalProperties": false
}Recommended Prompts
search_foodssearch_foodsget_recipeget_recipesearch_foodsget_recipeCommunity
Evidence