FoodChecker
Is this food healthy? A 0-100 score from nutrition, additives and processing (Open Food Facts).
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"foodchecker": {
"url": "https://foodchecker-ebon.vercel.app/mcp"
}
}
}Puntos de conexión remotos
https://foodchecker-ebon.vercel.app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
🟢check_food(barcode, query, country)
Looks up a packaged food or drink in Open Food Facts (3M+ products) by barcode or by name and returns a 0-100 health score (Excellent / Good / Poor / Bad) with the reasons: nutrition (Nutri-Score), additives and their risk level, and how processed it is. For questions such as whether a product is healthy. A barcode gives the most precise match.
Esquema de entrada
{
"type": "object",
"properties": {
"barcode": {
"description": "EAN/UPC barcode digits, e.g. 3017620422003.",
"type": "string"
},
"query": {
"description": "Product name, ideally with the brand, e.g. 'Nutella hazelnut spread'. Used when there is no barcode.",
"type": "string"
},
"country": {
"description": "Optional country to prefer when searching by name, e.g. 'united-states', 'france', 'united-kingdom'.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢analyze_label(product_name, brand, ingredients_text, nutrition, is_drink, ...)
Scores a food from its label: the ingredient list and/or the nutrition facts, for example from a photo of the packaging or pasted text, including products that aren't in the database. Most accurate with the ingredient list exactly as printed, including E-numbers and words in brackets. Nutrition values can be per 100 g or per serving (with the serving size). Returns the same 0-100 score and reports any missing data.
Esquema de entrada
{
"type": "object",
"properties": {
"product_name": {
"type": "string"
},
"brand": {
"type": "string"
},
"ingredients_text": {
"description": "The full ingredient list exactly as printed.",
"type": "string"
},
"nutrition": {
"type": "object",
"properties": {
"basis": {
"type": "string",
"enum": [
"per_100g",
"per_serving"
],
"description": "What the numbers refer to. EU labels are usually per 100 g/ml; US Nutrition Facts are per serving."
},
"serving_size": {
"description": "Serving size in g (or ml for drinks). Required when basis is per_serving.",
"type": "number",
"exclusiveMinimum": 0
},
"calories_kcal": {
"type": "number",
"minimum": 0
},
"energy_kj": {
"type": "number",
"minimum": 0
},
"total_fat_g": {
"type": "number",
"minimum": 0
},
"saturated_fat_g": {
"type": "number",
"minimum": 0
},
"trans_fat_g": {
"type": "number",
"minimum": 0
},
"carbohydrates_g": {
"type": "number",
"minimum": 0
},
"sugars_g": {
"description": "Total sugars.",
"type": "number",
"minimum": 0
},
"added_sugars_g": {
"type": "number",
"minimum": 0
},
"fiber_g": {
"type": "number",
"minimum": 0
},
"protein_g": {
"type": "number",
"minimum": 0
},
"salt_g": {
"type": "number",
"minimum": 0
},
"sodium_mg": {
"description": "Sodium in milligrams (US labels). Use salt_g instead if the label shows salt.",
"type": "number",
"minimum": 0
}
},
"required": [
"basis"
],
"description": "The nutrition facts table, copied exactly."
},
"is_drink": {
"description": "True for beverages (milk and plant drinks included). Values are then per 100 ml.",
"type": "boolean"
},
"category": {
"description": "Nutri-Score family. Use fat_oil_nuts_seeds for oils, butter, nuts and nut butters; cheese for cheese; red_meat for beef, pork or lamb products.",
"type": "string",
"enum": [
"general",
"beverage",
"water",
"cheese",
"fat_oil_nuts_seeds",
"red_meat"
]
},
"fruit_veg_percent": {
"description": "% of fruit, vegetables and legumes, if the label states it.",
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_healthier_alternatives(barcode, country, limit)
Finds similar products in the same Open Food Facts category that score clearly higher than the given product, best first, each with its score.
Esquema de entrada
{
"type": "object",
"properties": {
"barcode": {
"type": "string",
"description": "Barcode of the product to beat."
},
"country": {
"description": "Only suggest products sold in this country, e.g. 'united-states'.",
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"barcode"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢explain_additive(additive)
Explains what a food additive is, what it does, and its risk level with sources, by E-number (E250) or name (sodium nitrite, Red 40, carrageenan).
Esquema de entrada
{
"type": "object",
"properties": {
"additive": {
"type": "string",
"description": "E-number or name, e.g. 'E471' or 'Red 40'."
}
},
"required": [
"additive"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia