FoodChecker
Is this food healthy? A 0-100 score from nutrition, additives and processing (Open Food Facts).
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"foodchecker": {
"url": "https://foodchecker-ebon.vercel.app/mcp"
}
}
}リモートエンドポイント
https://foodchecker-ebon.vercel.app/mcpstreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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).
入力スキーマ
{
"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"
}コミュニティ
エビデンス