Skip to main content
Glama

Food Facts

Search products

search_products
Read-onlyIdempotent

Use this when the user wants to find food products by name or brand, such as "find oat milks" or "Nutella jars in Germany". Pass the words to search for and optionally a country (English name or two-letter code) and a limit of up to 10. Returns each product's barcode, name, brands and Nutri-Score; use lookup_barcode for the full entry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many products to return, up to 10 (default 5)
queryYesWhat to look for, such as "oat milk" or a brand and product name
countryNoOptional country to limit to, as an English name or two-letter code, such as "France" or "US"

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
noticeYes
statusYes
messageNo
productsYes
attributionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds useful behavioral context beyond that: the result is a summary (barcode, name, brands, Nutri-Score) and the full entry requires lookup_barcode, which tells the agent this tool truncates data rather than returning everything.

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?

Three tight sentences: trigger condition and examples first, parameter guidance second, return shape and alternative last. Every sentence carries information an agent needs to select and call the tool.

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?

With an output schema present, the description need not enumerate return values, and it still summarizes them for routing purposes. For a 3-parameter read-only search it covers trigger, parameters, result scope and the alternative tool, leaving no material gap.

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%, so query, country format and the limit cap of 10 are already documented in the schema. The description restates the same facts (country as English name or two-letter code, limit up to 10) without adding syntax or format detail beyond it, so the baseline of 3 applies.

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 and resource ('find food products by name or brand') and scopes it with concrete examples ('find oat milks', 'Nutella jars in Germany'). It also distinguishes itself from the sibling lookup_barcode by assigning full-entry retrieval to that tool.

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

Usage Guidelines5/5

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

Opens with an explicit trigger condition ('Use this when the user wants to find food products by name or brand') and names the alternative ('use lookup_barcode for the full entry') along with the condition that selects it. Nothing about when to choose this tool is left to inference.

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