mcp server
openfoodfacts-mcp-server
Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.
Description as published by the maintainer. Source
- version 0.3.1
- active
- retrieval
active — Most recent push to the repository was 2026-07-30. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
4 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
off_browse_taxonomy(facet, limit, search)- Resolve a human term to the canonical Open Food Facts tag ID that off_search_products filters on. Covers categories, labels/certifications, allergens, additives, countries, NOVA groups, and Nutri-Score grades. Pass a search term to resolve against the live Open Food Facts vocabulary, which holds tens of thousands of tags; omitting it lists only the offline sample this server ships, which is a small slice of every facet except NOVA groups and Nutri-Score grades. Most tag IDs use the "en:" prefix (e.g. "en:organic", "en:gluten-free", "en:milk"); NOVA groups return bare digits "1"-"4" and Nutri-Score grades bare letters "a"-"e". Pass the id through to off_search_products exactly as returned. Category tags are frequently plural upstream ("kombucha" resolves to "en:kombuchas"), so use the returned id rather than constructing one. Required: facet.
off_compare_products(barcodes)- Side-by-side nutrition and scoring comparison for 2–10 products by barcode. Returns a normalized table of energy (kcal/100g), fat, saturated fat, sugars, salt, protein, fiber, Nutri-Score, NOVA group, and Green-Score. Designed for "which of these cereals is healthiest?" or "compare these pasta brands" workflows. Missing nutrition data for any product is preserved as absent — comparisons are not imputed. A batch is not all-or-nothing: barcodes that resolve are returned even when others fail, with confirmed-missing barcodes listed in not_found and failed fetches listed separately in failed. Scores carry regional formula caveats. Data under ODbL 1.0 — cite Open Food Facts in downstream use. Required: barcodes.
off_get_product(fields, barcode)- Fetch a packaged food product by barcode (EAN-13 or UPC) from Open Food Facts. Returns the product name, brand, quantity, ingredients (raw text and parsed list), allergens, additives, computed scores (Nutri-Score a–e, NOVA 1–4, Green-Score), nutrition per 100g and per serving, categories, labels, packaging, origins, image URL, and data completeness. Open Food Facts is a crowd-sourced database — a missing field means "not yet entered by contributors," not that the attribute is absent from the actual product. Computed scores carry regional formula caveats and are indicators, not absolute rankings. Data is under ODbL 1.0 — cite Open Food Facts in downstream use. Required: barcode.
off_search_products(page, query, sort_by, page_size, brands_tag, labels_tag, nova_group, additives_tag, allergens_tag, countries_tag, categories_tag, nutrition_grade)- Search Open Food Facts by full-text query, structured tag filters, or both at once. Returns a summary list with barcodes, product names, brands, Nutri-Score, NOVA group, and categories — enough for triage and selection, not full label data. Use off_get_product on the returned barcodes for complete details. A text query and tag filters combine: results match the query text and satisfy every filter provided (e.g. query "dark chocolate" with labels_tag "en:organic" and countries_tag "en:france" returns organic chocolate sold in France); additives_tag is the one exception, filtering only on searches with no text query. Tag filter values must be canonical tag IDs (e.g. "en:organic", "en:gluten-free") — use off_browse_taxonomy to resolve human terms to tag IDs. At least one search parameter is required. Data is crowd-sourced; result count reflects contributed products, not all products in the market. Data under ODbL 1.0 — cite Open Food Facts in downstream use.
Last successful function declaration observed on . Source: https://openfoodfacts.caseyjhand.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://openfoodfacts.caseyjhand.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 1 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-07-30 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 0.3.1 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-27 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | Apache-2.0 | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-07-27 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 4 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | openfoodfacts.caseyjhand.com | |
| mcp endpoint status | ok | The server listed 4 functions when asked. | as of probe | openfoodfacts.caseyjhand.com |
Where to get it
Related, by what their authors tagged them
-
io.github.davidmosiah/wellness-nourish
— last commit 2026-08-05, shares barcode, nutrition
Local-first nutrition MCP for AI agents: food, barcode, photo, intake, hydration, goals.
-
io.github.cyanheads/usda-mcp-server
— last commit 2026-07-30, shares food, nutrition
Search foods, compare nutrients, and look up the full USDA FoodData Central database.
-
io.github.ericblair1903/nutrients-mcp
— last commit 2026-07-25, shares food, nutrition
Analyze food photos or text for calories, macros, vitamins, minerals, and allergens.
-
io.github.cyanheads/faostat-mcp-server
— last commit 2026-07-30, shares cyanheads, food
UN FAOSTAT global food & agriculture statistics over a local SQLite mirror, via MCP.
-
io.github.AIDataNordic/food-recipe-mcp
— last commit 2026-07-14, shares food
Semantic search across 50,000+ food recipes with hybrid retrieval and reranking.
-
Nutrition MCP
— last commit 2026-08-06, shares nutrition
Personal nutrition tracking — log meals, track macros, review history, import from another app.
-
io.github.DrBaher/supstack
— last commit 2026-07-06, shares nutrition
Evidence-based supplement research, dosing, safety, and interactions as agent-callable tools.
-
io.github.cyanheads/anime-mcp-server
— last commit 2026-07-30, shares cyanheads
Search anime/manga, franchise watch order, schedule, characters, rankings, studio filmography.
-
io.github.cyanheads/arxiv-mcp-server
— last commit 2026-07-27, shares cyanheads
Search arXiv, fetch paper metadata, and read full-text content.
-
io.github.cyanheads/astronomy-mcp-server
— last commit 2026-07-31, shares cyanheads
Offline observational astronomy: positions, rise/set, moon phases, eclipses, and seasons.
These share tags the maintainers applied themselves, such as barcode, nutrition, food, cyanheads. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.
This is not a recommendation and not a test result. It is a map of what the authors said their work is about.
Also from cyanheads
-
io.github.cyanheads/attack-surface-mcp-server
— last commit 2026-07-30
Passive external attack-surface mapping: CT subdomains, DNS, TLS, HTTP posture, RDAP/WHOIS, Shodan.
-
io.github.cyanheads/aviation-weather-mcp-server
— last commit 2026-07-30
Fetch METARs, TAFs, PIREPs, and SIGMETs/AIRMETs from the NWS Aviation Weather Center.
-
io.github.cyanheads/biorxiv-mcp-server
— last commit 2026-07-11
Search and retrieve bioRxiv and medRxiv preprints — by DOI, date interval, or keyword — via MCP.
-
io.github.cyanheads/bls-labor-mcp-server
— last commit 2026-07-17
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
-
io.github.cyanheads/bls-mcp-server
— last commit 2026-07-17
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
-
io.github.cyanheads/bluesky-mcp-server
— last commit 2026-07-31
Search posts, profiles, feeds, threads, and trending topics on Bluesky.
-
io.github.cyanheads/brapi-mcp-server
— last commit 2026-07-16
Collaborative BrAPI v2.1 MCP workspace — studies, germplasm, genotypes across Breedbase, T3, more.
-
io.github.cyanheads/calculator-mcp-server
— last commit 2026-07-02
Evaluate, simplify, and differentiate mathematical expressions.
-
io.github.cyanheads/cdc-health-mcp-server
— last commit 2026-07-11
Search and query CDC public health data — mortality, vaccinations, surveillance, behavioral risk.
-
io.github.cyanheads/census-mcp-server
— last commit 2026-07-31
Query U.S. Census Bureau data, variables, and geography via MCP.
How the author describes it
Topics the maintainer set on GitHub: ai-agents, ai-tools, barcode, cyanheads, food, mcp, mcp-server, model-context-protocol, nutrition, openfoodfacts, typescript.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json