Skip to content

org.heathy/nutrition

by heathy.org · remote · no sign-in to list tools · v0.6.0 · published by org.heathy

Nutrition for more than 1,100 plant foods from 30 national tables, plus GB/EU & US claim checking

Changes · 3

8 tools: 3 change things and 5 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http nutrition https://mcp.heathy.org/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 3Claude Code: ask
  • check_claimFor 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 publ…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote 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.

    Annotations the server declares

    • title: Check nutrition claims against GB/EU and US rules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • health_topicWhat 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Eat for a health goal
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • nutrient_rankingRanks whole plant foods by the amount of one nutrient per 100 g of edible portion, optionally within one food category.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Rank foods by a nutrient
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 5Claude Code: allow
  • get_recipeGet one Heathy recipe in full: ingredients with their food slugs and gram weights, method, per-serving nutrition, allergens and carbon footprint.No findings

    Why it is in this group

    • The name "get_recipe" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get a raw recipe
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • herb_monographGet 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, `…No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Ayurvedic herb monograph
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • lookup_foodGet 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 mor…Reads private dataNo findings

    Why it is in this group

    • The name "lookup_food" says "lookup": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "get" and "table": it reads databases.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Look up a food
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_foodsFind the Heathy slug for a food or Ayurvedic herb by name, including regional and non-English aliases (Hindi, Sanskrit, botanical names).No findings

    Why it is in this group

    • The name "search_foods" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search foods and herbs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_recipesFind raw / no-cook vegan recipes on Heathy by free text, health goal, category, ingredient, time or allergen.No findings

    Why it is in this group

    • The name "search_recipes" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search raw recipes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 0.6.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http nutrition https://mcp.heathy.org/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__nutrition__lookup_food",
      "mcp__nutrition__search_foods",
      "mcp__nutrition__herb_monograph",
      "mcp__nutrition__search_recipes",
      "mcp__nutrition__get_recipe"
    ],
    "ask": [
      "mcp__nutrition__nutrient_ranking",
      "mcp__nutrition__health_topic",
      "mcp__nutrition__check_claim"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as nutrition. Review it before you use it.

Capability tags behind 1 rule
  • mcp__nutrition__lookup_food private-data