Skip to main content
Glama

MCPFax Food Facts

Packaged food facts by barcode

food_by_barcode

Look up a packaged food by its barcode and get the fields that answer "can this person eat this?" — ingredients, allergens, traces, additives, Nutri-Score, NOVA processing group and per-100g nutrition. Data is from Open Food Facts, which is crowd-sourced and openly licensed: coverage is uneven by country and a product can be listed with most nutrition empty, so every response carries a completeness flag and missing values are null rather than estimated. A barcode not in the database returns not_found and is NOT charged. Costs $0.005 USDC per call via x402 on Base.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
barcodeYes6-14 digit product barcode, e.g. '737628064502'.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses the crowd-sourced Open Food Facts source, uneven coverage, possible empty nutrition values, a completeness flag, nulls instead of estimates, not_found behavior, non-charge for not_found, and a specific cost. This is exceptional transparency for a lookup tool.

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

Conciseness5/5

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

Every sentence earns its place: the first states action and result fields, the second explains data quality behavior, and the third covers not-found handling and cost. It is front-loaded with the core operation and then layers necessary caveats without fluff.

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

Completeness5/5

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

For a simple single-parameter tool with no output schema, the description is remarkably complete. It covers expected response fields, data-quality caveats, completeness signaling, null behavior, not_found semantics, and cost. Nothing essential is missing for an agent to decide whether to call it and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already provides the barcode format and an example. The tool description only repeats that it is a barcode lookup and adds no new parameter-level meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource ('Look up a packaged food by its barcode') and enumerates the exact fields returned. It clearly separates this tool from the unrelated siblings by anchoring it to barcode-based food lookup. The highlighted use case, 'can this person eat this?', adds practical purpose without ambiguity.

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

Usage Guidelines4/5

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

The description clearly frames when to use the tool: when you have a food barcode and need dietary-relevant facts. It provides helpful context about data source, coverage, and pricing. It does not explicitly name alternatives or exclusion conditions, but the sibling tools appear unrelated, so this is a minor gap.

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.

TDQS

B3.4/5.0
Disambiguation4/5

food_by_barcode is clearly distinct as the only direct food-data tool. demand_report and request_data both deal with data-demand signals, but one is an aggregate read-only report and the other is a direct query/submission, so the descriptions keep them mostly separable.

Naming Consistency3/5

Names are readable and consistently lowercase snake_case, but they follow different patterns: noun_noun (demand_report), noun_by_key (food_by_barcode), and verb_noun (request_data). The semantic similarity of 'demand' and 'request' also blurs the two meta-tools.

Tool Count5/5

With three tools, the server is within the ideal compact range and each tool has a distinct job: one paid food lookup, one demand aggregator, and one data-request channel. Nothing feels redundant or excessive for the marketplace concept.

Completeness3/5

The barcode lookup covers the eatability fields well, and request_data/demand_report close part of the loop for missing data. However, there is no search by product name or category, and the only actual food-facts operation is a single barcode lookup, so broader Food Facts workflows have notable gaps.

Resources