Skip to content

Clarity by Health AI

by healthai.com · remote · no sign-in to list tools · v0.7.8 · published by com.healthai

Condition-aware ingredient and product checks for agents, with evidence tiers and citations.

Changes · 6

9 tools: 6 change things and 3 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 clarity https://mcp.healthai.com

Tools

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

9 tools

Changes things 6Claude Code: ask
  • check_ingredientLook up a cosmetic/food/supplement ingredient in Clarity's condition-aware database.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
    Look up a cosmetic/food/supplement ingredient in Clarity's condition-aware database. Returns verdict, evidence tier (Gold/Silver/Bronze), and citation for a given condition lens. Pass `lenses` (array) instead of `lens` to check several conditions in ONE call (profile-shaped checking, e.g. a user who is pregnant AND has MCAS) — results then carry a per-lens breakdown under `lenses{}`. Every result includes human_url, a live Clarity page to hand the user as the source link.

    Annotations the server declares

    • title: Check an ingredient
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_interactionCheck Clarity's curated ingredient-to-ingredient interaction database.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
    Check Clarity's curated ingredient-to-ingredient interaction database. Give one ingredient to list everything it interacts with (e.g. 'iron'), or two ingredients to check a specific pair (e.g. 'calcium' + 'iron'). Returns interaction_type, severity (Beneficial/Moderate/High), mechanism, clinical_note, source, and whether it affects lactation/infant/absorption. Queries both directions of the pair. Absence of a result is NOT proof of safety — the set is curated and growing. Descriptive with sources, not medical advice.

    Annotations the server declares

    • title: Check ingredient interactions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_recallCheck whether a consumer product or brand has an FDA/consumer recall on file — supplements, food, cosmetics (NOT medical devices).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
    Check whether a consumer product or brand has an FDA/consumer recall on file — supplements, food, cosmetics (NOT medical devices). Query by `brand` (primary), optionally narrow by `product_name`. Returns recall_flag, whether any active Class I (most serious) recall exists, and each matching record with classification, reason, date, status, and a source_url to verify. Recall data has no barcode, so matches are brand/name text matches — confirm via source_url. For medical-DEVICE recalls, use the radar MCP (com.healthai/radar).

    Annotations the server declares

    • title: Check a consumer-product recall
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_stackAudit a supplement/ingredient STACK in one call: per-item condition-lens verdicts (evidence-graded, cited where citations exist) PLUS every curated ingredient-to-ingredient interac…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
    Audit a supplement/ingredient STACK in one call: per-item condition-lens verdicts (evidence-graded, cited where citations exist) PLUS every curated ingredient-to-ingredient interaction found WITHIN the stack (type, severity, mechanism, source). Use when a user takes multiple supplements together. Supports multi-lens via `lenses`. Absence of an interaction is NOT proof of safety — the curated set is growing. Every result includes human_url for the user.

    Annotations the server declares

    • title: Audit a supplement stack
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • scan_barcodeLook up a product by barcode (Open Food Facts / Open Beauty Facts), match its ingredients against Clarity's database, return which ingredients are flagged for the given condition l…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.
    Description, as the server wrote it
    Look up a product by barcode (Open Food Facts / Open Beauty Facts), match its ingredients against Clarity's database, return which ingredients are flagged for the given condition lens, AND flag any active FDA recall for the product (recall_flag + recalls[], sourced from FDA — verify via source_url). Anonymous calls are read-only: a local-mirror miss may query the public source but does not refresh Clarity's mirror or harvest tokens. An authenticated caller may opt into each bounded side effect with persist_mirror:true and harvest_crosswalk:true.

    Annotations the server declares

    • title: Scan a product barcode
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • validate_claimFact-check a free-text health/safety claim against Clarity's human-curated, evidence-graded database.No findings

    Why it is in this group

    • The name "validate_claim" says "validate": a word for reading.
    • The input takes a statement or command to run (input.statement), which can change anything it can reach.
    Description, as the server wrote it
    Fact-check a free-text health/safety claim against Clarity's human-curated, evidence-graded database. Given a statement (e.g. 'fenugreek is safe while breastfeeding') and a condition lens, returns whether Clarity's curated position supports / contradicts / does-not-cover it, plus any verified citation on file. Anonymous calls never write the review queue. An authenticated caller may explicitly opt into a bounded, redacted review signal with review_consent:true. Do not include personal information. Descriptive — not medical advice.

    Annotations the server declares

    • title: Validate a health claim
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 3Claude Code: allow
  • find_alternativesFind 2-3 safer swaps for a flagged product: same-category products that rate good/excellent on Clarity's general food/skincare quality score AND contain no ingredient flagged for t…No findings

    Why it is in this group

    • The name "find_alternatives" says "find": a word for reading.
    Description, as the server wrote it
    Find 2-3 safer swaps for a flagged product: same-category products that rate good/excellent on Clarity's general food/skincare quality score AND contain no ingredient flagged for the given condition lens. Seed by barcode (preferred — e.g. right after scan_barcode flags something) or product_name. Each alternative carries its score, ingredient-recognition coverage, and human_url. The score is a GENERAL quality score, not a condition verdict — verify a chosen alternative with scan_barcode or check_stack. Food and skincare only (supplement swaps are declined honestly for now).

    Annotations the server declares

    • title: Find safer product alternatives
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • score_productGet Clarity's product quality score by barcode.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 Clarity's product quality score by barcode. Returns category-specific scores (food: nutrition/additive/processing/organic; skincare: irritation/allergen/endocrine/condition; supplement: transparency/safety/label_quality/complexity — dose transparency penalizes proprietary blends, safety flags high-risk botanicals) — these are DISTINCT and never merged — plus per-lens fit with match coverage. Always includes data_quality/coverage so a score is never given without its confidence.

    Annotations the server declares

    • title: Score a product
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • strain_lookupLook up a cannabis or mushroom species/strain in Clarity's database.No findings

    Why it is in this group

    • The name "strain_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    Look up a cannabis or mushroom species/strain in Clarity's database. Returns verdict, evidence tier, PMID citation, and safety flags.

    Annotations the server declares

    • title: Look up a cannabis or mushroom strain
    • 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.

Install

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

claude mcp add --transport http clarity https://mcp.healthai.com

Run in a terminal.

Claude Code permissions

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

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__clarity__find_alternatives",
      "mcp__clarity__strain_lookup",
      "mcp__clarity__score_product"
    ],
    "ask": [
      "mcp__clarity__check_ingredient",
      "mcp__clarity__check_stack",
      "mcp__clarity__scan_barcode",
      "mcp__clarity__validate_claim",
      "mcp__clarity__check_interaction",
      "mcp__clarity__check_recall"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as clarity. Review it before you use it.