Nutrition for more than 1,100 plant foods from 30 national tables, plus GB/EU & US claim checking
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Food slug or name — e.g. "banana", "brazil-nuts".
Which rules to apply. Default "both" — the divergence is usually the point.
Optional: check one nutrient only, e.g. "potassium".
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.
Optional: return only claims the data supports, dropping the ones that fail.
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.
| Argument | Type | Description |
|---|---|---|
| food* | string | Food slug or name — e.g. "banana", "brazil-nuts". |
| market | string | Which rules to apply. Default "both" — the divergence is usually the point. |
| nutrient | string | Optional: check one nutrient only, e.g. "potassium". |
| preparation | string | 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. |
| only_permitted | boolean | Optional: return only claims the data supports, dropping the ones that fail. |
{
"type": "object",
"required": [
"food"
],
"properties": {
"food": {
"type": "string",
"description": "Food slug or name — e.g. \"banana\", \"brazil-nuts\"."
},
"market": {
"enum": [
"uk",
"us",
"both"
],
"type": "string",
"description": "Which rules to apply. Default \"both\" — the divergence is usually the point."
},
"nutrient": {
"type": "string",
"description": "Optional: check one nutrient only, e.g. \"potassium\"."
},
"preparation": {
"enum": [
"raw"
],
"type": "string",
"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."
},
"only_permitted": {
"type": "boolean",
"description": "Optional: return only claims the data supports, dropping the ones that fail."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| recipe* | string | Recipe slug or name — e.g. "dragon-fruit-coconut-breakfast-bowl". |
{
"type": "object",
"required": [
"recipe"
],
"properties": {
"recipe": {
"type": "string",
"description": "Recipe slug or name — e.g. \"dragon-fruit-coconut-breakfast-bowl\"."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| topic | string | Goal slug or title, or a condition name — e.g. "digestion-gut", "PCOS", "anaemia". Omit to list all topics. |
| include_recipes | boolean | Include raw recipes carrying this goal. Default true. |
{
"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
}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").
| Argument | Type | Description |
|---|---|---|
| herb* | string | Herb slug or name — English, Sanskrit, Hindi, or botanical. |
{
"type": "object",
"required": [
"herb"
],
"properties": {
"herb": {
"type": "string",
"description": "Herb slug or name — English, Sanskrit, Hindi, or botanical."
}
},
"additionalProperties": false
}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").
| Argument | Type | Description |
|---|---|---|
| food* | string | Food slug, common name, or regional alias. |
| nutrients | array | Optional nutrient slugs or names to return (e.g. ["iron","vitamin-c"]). Omit for the full profile of 132 nutrients (plus 66 research-tier). |
{
"type": "object",
"required": [
"food"
],
"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)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results, 1–100. Default 20. |
| category | string | Optional substring filter on the food category — e.g. "fruit", "legume", "millet". |
| nutrient* | string | Nutrient slug or name — e.g. "iron", "vitamin-c", "folate". |
| min_sources | integer | 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 |
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.
| Argument | Type | Description |
|---|---|---|
| kind | string | Restrict to foods or Ayurvedic herbs. Default "any". |
| limit | integer | Max results, 1–50. Default 10. |
| query* | string | Name, partial name, or alias — e.g. "haldi", "bitter gou". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"food",
"herb",
"any"
],
"type": "string",
"description": "Restrict to foods or Ayurvedic herbs. Default \"any\"."
},
"limit": {
"type": "integer",
"description": "Max results, 1–50. Default 10."
},
"query": {
"type": "string",
"description": "Name, partial name, or alias — e.g. \"haldi\", \"bitter gou\"."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| goal | string | Restrict to recipes carrying this health goal. |
| limit | integer | Max results, 1–50. Default 10. |
| query | string | Free text over name, description and tags — e.g. "dragon fruit", "breakfast". |
| category | string | Restrict to one recipe category. |
| max_time | integer | Maximum total time in minutes. |
| ingredient | string | Food slug or name that must appear in the ingredients — e.g. "pitaya-raw". |
| exclude_allergens | array | Drop recipes containing any of these allergens — e.g. ["tree-nuts","sesame"]. |
| boolean |
| 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. |
{
"type": "object",
"required": [
"nutrient"
],
"properties": {
"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\"."
},
"nutrient": {
"type": "string",
"description": "Nutrient slug or name — e.g. \"iron\", \"vitamin-c\", \"folate\"."
},
"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."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"goal": {
"enum": [
"immune",
"bone",
"energy",
"cognitive",
"strength",
"heart",
"gut",
"eye",
"hair",
"skin",
"nerve",
"hormone",
"glucose"
],
"type": "string",
"description": "Restrict to recipes carrying this health goal."
},
"limit": {
"type": "integer",
"description": "Max results, 1–50. Default 10."
},
"query": {
"type": "string",
"description": "Free text over name, description and tags — e.g. \"dragon fruit\", \"breakfast\"."
},
"category": {
"enum": [
"smoothies",
"salads",
"bowls",
"wraps",
"dips",
"snacks",
"soups",
"desserts",
"chutneys",
"plant-milks",
"sauces",
"ferments",
"crackers",
"nut-butters"
],
"type": "string",
"description": "Restrict to one recipe category."
},
"max_time": {
"type": "integer",
"description": "Maximum total time in minutes."
},
"ingredient": {
"type": "string",
"description": "Food slug or name that must appear in the ingredients — e.g. \"pitaya-raw\"."
},
"exclude_allergens": {
"type": "array",
"items": {
"type": "string"
},
"description": "Drop recipes containing any of these allergens — e.g. [\"tree-nuts\",\"sesame\"]."
}
},
"additionalProperties": false
}