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.
9 tools: 6 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
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.comTools
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.comRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.