Skip to main content
Glama

Spoon Scout - Food Contaminant Lookup

Check a packaged food

check_product
Read-onlyIdempotent

Looks up one US packaged food by barcode (UPC/EAN/GTIN), id, or name, and returns what is known about it: lab results by chemical (with kind of evidence, sample counts, median and highest values in ppb, lots, dates and sources), FDA recalls naming its barcode, restricted additives in its ingredients with each jurisdiction's rule, FDA's typical levels for its kind of food, same-brand products that were tested, the chemical families never tested in it, and a front-of-pack photo from Open Food Facts when one passed our checks (show it with its credit and CC BY-SA 3.0 licence). result_type is match (one product), candidates (a name fit several; call again with id), or no_match.

Input Schema

NameRequiredDescriptionDefault
idNoA product id from an earlier candidates result
queryNoProduct name with brand, e.g. "clover organic whole milk"
barcodeNoUPC, EAN or GTIN digits, e.g. 070852000121

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the match/candidates/no_match tri-state return, the requirement to show the Open Food Facts photo with credit and CC BY-SA 3.0 licence, and the conditional nature of that photo. Only rate limits or auth requirements are unaddressed.

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?

Single dense paragraph, front-loaded with the lookup action and key types before the long return-value enumeration. Every clause carries information (evidence kinds, units in ppb, licence terms), though the run-on length makes it harder to scan than a bulleted equivalent would be.

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?

There is no output schema, so the description carries the full burden of describing return content, and it does so exhaustively: lab results by chemical, recalls, restricted additives by jurisdiction, FDA typical levels, same-brand products, untested chemical families, and the photo. Combined with the result_type tri-state, an agent needs nothing more to call and interpret it.

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 description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: that 'id' is a product id from an earlier candidates result and that 'query' is a name with brand, establishing the dependency between the two parameters. That interplay is worth credit above baseline.

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?

States a specific verb (looks up) and resource (one US packaged food) plus the three accepted key types, and enumerates exactly what is returned. The singular 'one product' scope implicitly separates it from compare_products and additive_status, so an agent can route correctly without opening a schema.

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?

Gives clear operational guidance for the candidates path ('call again with id') and defines the three result_type outcomes, which tells the agent when to iterate. It does not name or exclude sibling tools (additive_status, chemical_sources) or state prerequisites, so it stops short of full when/when-not coverage.

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.

Resources