MCP server for food nutrition data (barcode lookup, search, Nutri-Score/NOVA/Eco-Score, comparison) powered by Open Food Facts.
Project description
NutriClarity MCP 🥗
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. |
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"]
}
}
}
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-Agentas 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nutriclarity_mcp-0.1.0.tar.gz.
File metadata
- Download URL: nutriclarity_mcp-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50da0b6cdd8811bc4c2c08ae56fe3f4804b0c38ecee073d3b69e3e1554a85de4
|
|
| MD5 |
664322df70f61fde23034e468c73ff35
|
|
| BLAKE2b-256 |
d48a6738625b43e5c5c03db8b41deb871edacada27b5dc752a7751690080aa06
|
Provenance
The following attestation bundles were made for nutriclarity_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on nitishkp001/nutriclarity-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nutriclarity_mcp-0.1.0.tar.gz -
Subject digest:
50da0b6cdd8811bc4c2c08ae56fe3f4804b0c38ecee073d3b69e3e1554a85de4 - Sigstore transparency entry: 2151028693
- Sigstore integration time:
-
Permalink:
nitishkp001/nutriclarity-mcp@a27c9c299e8f012cbc2a3f495bfaaeabf563de87 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nitishkp001
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a27c9c299e8f012cbc2a3f495bfaaeabf563de87 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nutriclarity_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nutriclarity_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30fb1bf7f9f99ca20411bfe1720d67e49668013be0d6279335ca97b2fc1ed433
|
|
| MD5 |
351ebf2fb4b61cbad625a75ddc788519
|
|
| BLAKE2b-256 |
d5031392696195ee7cc4cf9b825db89f88bf89af0977ed0fb2773177614d6b03
|
Provenance
The following attestation bundles were made for nutriclarity_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on nitishkp001/nutriclarity-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nutriclarity_mcp-0.1.0-py3-none-any.whl -
Subject digest:
30fb1bf7f9f99ca20411bfe1720d67e49668013be0d6279335ca97b2fc1ed433 - Sigstore transparency entry: 2151028794
- Sigstore integration time:
-
Permalink:
nitishkp001/nutriclarity-mcp@a27c9c299e8f012cbc2a3f495bfaaeabf563de87 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nitishkp001
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a27c9c299e8f012cbc2a3f495bfaaeabf563de87 -
Trigger Event:
push
-
Statement type: