Skip to main content
Glama

products_fda_reports

Read-only

FDA recalls and adverse event reports (CAERS) for one supplement, from openFDA. Give a product name, barcode, DSLD ID, or brand and name. Recalls are listed only when they carry the barcode or the brand and every product-name word; adverse event reports are counted with their most common reactions. Reports do not show that a product caused an event.

Input Schema

NameRequiredDescriptionDefault
upcNoUPC-A or EAN barcode digits as printed on the bottle, e.g. "031604026974" (spaces and dashes are ignored)
nameNoProduct name as printed, used with "brand" when the product is not in DSLD
brandNoBrand (with "name", or to narrow "query")
queryNoProduct as the user named it; resolved to a DSLD label
dsld_idNoDSLD label ID, e.g. from /v1/products/search

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only cover readOnlyHint and openWorldHint; the description adds real behavioral content beyond them: the strict recall-matching rule (barcode, or brand plus every product-name word) and the interpretive caveat that reports do not show the product caused the event. It stops short of disclosing result counts, pagination, or what an empty result means.

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?

Four sentences, front-loaded with what the tool returns and how to address a product, then the matching caveats. No filler, though the causal disclaimer could be folded more tightly into the return-description sentence.

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 carries the return-shape burden and does describe the two result categories (listed recalls, counted adverse events with common reactions). For a 5-parameter, all-optional tool it is nearly complete, missing only edge behavior such as zero-match handling.

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 100%, so the baseline is 3, but the description genuinely adds semantics: it explains how upc, brand/name, and DSLD identifiers feed the recall-matching logic, not just listing them. The synergy between 'brand' + 'name' and the recall inclusion rule is spelled out rather than left to the schema.

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 (retrieve) and resource (FDA recalls and CAERS adverse event reports) for one supplement, sourced from openFDA. This resource is categorically distinct from every sibling (products_get, products_search, products_lookup, interactions_check, stack_analyze), so an agent can route to it without opening another schema.

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?

Gives concrete input guidance ('Give a product name, barcode, DSLD ID, or brand and name') and explains the matching constraint that governs result inclusion, which implies how to drive the tool. However, it never states when to prefer this over siblings like products_lookup or products_get, nor any when-not conditions.

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.