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

A
Description quality
100%
Schema completeness
97%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,562Tokens (tool definitions)
~1.6 KBTypical response size
Significant attention impact (2.00% of 128k context)

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-http

What it can do

Tool inventory

Tools (8)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒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_research
Search for information about [topic] using nutrition
Expected tools: search_foods
find_specific
Find [specific item] using nutrition
Expected tools: search_foods
retrieve_data
Get details about [item] from nutrition
Expected tools: get_recipe
fetch_info
Fetch [information type] using nutrition
Expected tools: get_recipe
research_workflow
Search for [topic], then get detailed information about the top results using nutrition
Expected tools: search_foodsget_recipe

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools