Skip to main content

MCP server for food nutrition data (barcode lookup, search, Nutri-Score/NOVA/Eco-Score, comparison) powered by Open Food Facts.

Project description

NutriClarity MCP 🥗

CI PyPI Python License: MIT

An open-source Model Context Protocol server that gives any LLM access to food nutrition data — look up products by barcode, search by name, read Nutri-Score / NOVA / Eco-Score ratings, and compare products side by side.

Powered by Open Food Facts, a free, open, crowd-sourced food products database. No API key required.

Tools

Tool Description
get_product_by_barcode(barcode) Full nutrition facts, scores, allergens & ingredients for a barcode (EAN/UPC).
search_products(query, page_size=5) Search products by name or brand; returns barcodes + a nutrition summary.
get_nutrition_scores(barcode) Nutri-Score (A–E), NOVA processing group (1–4), and Eco-Score for a product.
compare_products(barcodes) Side-by-side per-100g comparison table for 2+ products.
add_or_update_product(...) Optional / opt-in. Create or edit a product. Only enabled when credentials are set (see below).

Reading needs no API key or account — it's open data. Only the optional write tool requires an Open Food Facts login.

Quick start

The easiest way to run it is with uvx (no install, no clone):

uvx nutriclarity-mcp

Claude Desktop / Cursor / any MCP client

Add this to your MCP config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "nutriclarity": {
      "command": "uvx",
      "args": ["nutriclarity-mcp"]
    }
  }
}

Then ask things like:

  • "What's the nutrition of barcode 3017620422003?"
  • "Search for oat milk and show me the healthiest option."
  • "Compare Coke and Pepsi nutrition."

Docker

docker run -i --rm ghcr.io/nitishkp001/nutriclarity-mcp

MCP config:

{
  "mcpServers": {
    "nutriclarity": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/nitishkp001/nutriclarity-mcp"]
    }
  }
}

Optional: write support (adding/editing products)

By default the server is read-only — no account, no risk. If you want the LLM to be able to contribute or correct product data, enable the add_or_update_product tool by providing an Open Food Facts account:

Env var Description
OFF_USERNAME Your account username (not your email). Enables writes when set with the password.
OFF_PASSWORD Your account password.
OFF_ENVIRONMENT sandbox (default) or production.

Writes go to the sandbox by default, so you can test safely without touching the real database. Set OFF_ENVIRONMENT=production only when you deliberately want to edit the live, public database. Sandbox accounts are separate from production accounts — register on each site you target.

{
  "mcpServers": {
    "nutriclarity": {
      "command": "uvx",
      "args": ["nutriclarity-mcp"],
      "env": {
        "OFF_USERNAME": "your-username",
        "OFF_PASSWORD": "your-password",
        "OFF_ENVIRONMENT": "sandbox"
      }
    }
  }
}

⚠️ Open Food Facts is a shared, public database used by millions. If you enable production writes, make sure the data you submit is accurate and taken from the real product label. The tool changes only the fields you pass.

Local development

Requires uv.

git clone https://github.com/nitishkp001/nutriclarity-mcp
cd nutriclarity-mcp
uv sync --extra dev        # install deps
uv run nutriclarity-mcp    # run the server over stdio
uv run pytest              # run tests
uv run ruff check .        # lint

To inspect the tools interactively, use the MCP Inspector:

npx @modelcontextprotocol/inspector uv run nutriclarity-mcp

How it works

  • Built with FastMCP.
  • Calls the Open Food Facts REST API (/api/v2/product/{barcode} and /cgi/search.pl).
  • Sends a descriptive User-Agent as Open Food Facts requests, and asks only for the fields it needs to keep responses small.

Data & attribution

Product data comes from Open Food Facts and is made available under the Open Database License (ODbL). Individual contents are under the Database Contents License. Nutrition data is crowd-sourced and may be incomplete or inaccurate — do not rely on it for medical decisions.

License

MIT © 2026 — see LICENSE. This project is not affiliated with or endorsed by Open Food Facts.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nutriclarity_mcp-0.2.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nutriclarity_mcp-0.2.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file nutriclarity_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: nutriclarity_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nutriclarity_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 23145b2543a84a47412d9e4dbf0e0db7ceb02ad09d5a37aba5cb7c8cbc3fe425
MD5 98cd65806059d6f3c812cc7315951e44
BLAKE2b-256 6f3dd302ed23275e9c5f04568ebddf433f0941092ccdf4c8058afc7a9d392c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nutriclarity_mcp-0.2.0.tar.gz:

Publisher: publish.yml on nitishkp001/nutriclarity-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nutriclarity_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nutriclarity_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c2205ccbe9d4e5373d10ff4d0e56d548cbf808af084f8b89c1a0e78d0e9dced
MD5 38f0d8a378926262141cd1ec1d467f2a
BLAKE2b-256 f415cddc9059f47b1af30c70df3fa1907bfaff13d58d69ef80879a86bf0178cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nutriclarity_mcp-0.2.0-py3-none-any.whl:

Publisher: publish.yml on nitishkp001/nutriclarity-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page