Skip to main content
Glama

Score a food from its label

analyze_label
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
brandNo
categoryNoNutri-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.
is_drinkNoTrue for beverages (milk and plant drinks included). Values are then per 100 ml.
nutritionNoThe nutrition facts table, copied exactly.
product_nameNo
ingredients_textNoThe full ingredient list exactly as printed.
fruit_veg_percentNo% of fruit, vegetables and legumes, if the label states it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds value beyond that: it describes the return ('the same 0-100 score and reports any missing data') and discloses that missing data is tolerated rather than fatal, which no structured field conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, purpose front-loaded, then input-fidelity guidance, then return behavior. No filler, though the middle sentence packs several distinct ideas (source of data, fidelity, E-numbers, bracketed words) into one run-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully states the return (0-100 score plus a missing-data report). For a 7-parameter tool with a nested nutrition object, it covers the key decision points (which inputs, what basis) without being exhaustive; the remaining gap is the lack of interplay guidance between category/is_drink and the nutrition basis.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, so many fields (salt_g, sodium_mg, serving_size, basis) are self-documenting. The description still earns credit by explaining input fidelity requirements ('exactly as printed, including E-numbers and words in brackets') and by clarifying that ingredient list and nutrition facts are alternatives and that per-100 g versus per-serving are both acceptable inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Scores a food from its label') and enumerates the accepted inputs (ingredient list and/or nutrition facts, photo or pasted text). The clause 'including products that aren't in the database' implicitly separates it from a lookup tool like check_food, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: use this when the label is available or the product is not in the database. No explicit routing versus check_food, find_healthier_alternatives or explain_additive, and no statement of when this tool is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.