Skip to main content
Glama

FoodGuard

Verified food-safety screening for AI agents.

FoodGuard is an open-source MCP server and Claude Agent Skill that gives AI agents deterministic, source-grounded tools for food allergens, Indian packaged-food labels, official regulations, recalls, and preliminary process hazards.

It is infrastructure for trustworthy agents—not an "AI food-safety expert" prompt.

IMPORTANT

FoodGuard produces screening results, not legal certification, medical advice, or a completed HACCP plan. v0.1 supports India first and intentionally abstains when information or live verification is unavailable.

Why it exists

Small food businesses and consumers increasingly ask AI systems consequential questions. Model memory alone is a poor source for rules that change, differ by jurisdiction, and can affect health. FoodGuard makes those systems show their work:

User → Claude / MCP host → FoodGuard rule engine → official evidence → grounded answer

Every finding carries an outcome, confidence, matched input, source IDs, official URLs, retrieval dates, limitations, and a clear screening boundary.

Related MCP server: food-safety-mcp

What v0.1 can do

Tool

What it does

Safety behavior

identify_allergens

Finds configured Indian priority-allergen names and common derivatives

Flags ambiguous terms; never equates no match with allergen-free

audit_food_label

Screens OCR/transcribed Indian label text for common declaration indicators

Distinguishes text presence from visual/legal compliance

identify_process_hazards

Produces preliminary review prompts for manufacturing steps

Does not assign CCPs or invent critical limits

search_regulations

Searches a curated official-source registry

States that coverage is not the complete body of law

get_regulation_section

Returns official source metadata and an evidence paraphrase

Directs users to authoritative wording

source_freshness

Shows source age and review status

Makes staleness visible

check_food_recall

Routes India checks to the official live portal

Abstains rather than fabricating a no-recall result

Quick start

Requirements: Python 3.11+ and uv.

git clone https://github.com/TechTharun/foodguard.git
cd foodguard
uv sync --extra dev
uv run foodguard-mcp

The server uses stdio by default. The repository includes .mcp.json, so project-aware Claude Code sessions can discover it after dependencies are installed.

To inspect the server interactively:

uv run mcp dev src/foodguard/server.py

Example

Ask Claude:

Use FoodGuard to identify allergens in wheat flour, sodium caseinate, soy lecithin, peanut, and natural flavour.

FoodGuard returns structured findings resembling:

{
  "outcome": "REVIEW_REQUIRED",
  "findings": [
    {"code": "ALLERGEN_CEREALS_GLUTEN", "outcome": "DETECTED"},
    {"code": "ALLERGEN_MILK", "outcome": "DETECTED"},
    {"code": "ALLERGEN_SOYBEAN", "outcome": "DETECTED"},
    {"code": "ALLERGEN_GROUNDNUT", "outcome": "DETECTED"},
    {"code": "ALLERGEN_AMBIGUOUS_INGREDIENT", "outcome": "REVIEW_REQUIRED"}
  ],
  "disclaimer": "Screening result only..."
}

Claude can explain the result, but the evidence and abstention behavior come from FoodGuard.

Claude Agent Skill

The bundled skill is at .claude/skills/food-safety/SKILL.md. It teaches Claude when to call each tool, how to preserve uncertainty, and when to escalate to official or professional review. It includes short reference files for evidence policy and multi-tool workflows.

FoodGuard-Eval

The starter benchmark contains 30 transparent cases covering direct allergens, derivatives, multiple allergens, negatives, and correct abstention.

uv run foodguard-eval
uv run pytest
uv run ruff check .

CI runs linting, unit tests, an in-memory MCP client test, and the benchmark on Python 3.11 and 3.12. Benchmark scores in this repository are computed—never hand-written.

Design principles

  • Evidence before eloquence: official sources and limitations travel with claims.

  • Abstention is a feature: missing or ambiguous data produces review, not confident prose.

  • Deterministic core: the MCP server wraps ordinary testable Python functions.

  • Jurisdiction first: India rules are explicit rather than silently generalized worldwide.

  • No hidden live claims: v0.1 tells you when a live source must be checked.

  • Agent-agnostic: Claude is the first-class experience, but any MCP-compatible host can use the server.

Read the architecture, evidence contract, and safety model.

Roadmap

  • verified FSSAI amendment monitoring and source diffs;

  • reliable live recall ingestion with provenance;

  • label-image OCR with bounding-box evidence;

  • supplier-specification and compound-ingredient workflows;

  • larger expert-reviewed public evals;

  • additional jurisdictions behind separate rule packs.

Contributing

Food-safety professionals, developers, researchers, translators, and accessibility reviewers are welcome. Start with CONTRIBUTING.md. Please report security problems privately as described in SECURITY.md.

License

Apache-2.0. See LICENSE.

Related MCP Connectors

Related MCP Servers