Skip to main content
Glama

Server Details

USDA FoodData Central nutrient lookup, FDA recall watch, EU FMCG labelling via remote MCP

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
7.3% over 22 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation4/5

The core flow search_checks→describe_check→run_check is clearly delineated, and lookup_nutrients is distinct. However, get_source and list_regulations both concern the regulatory corpus and could be confused—one gives the sources behind a specific check, the other lists all regulations/registers.

Naming Consistency5/5

All six names are snake_case verb_noun (search_checks, describe_check, run_check, get_source, list_regulations, lookup_nutrients). The verb-first convention is applied uniformly across the set.

Tool Count4/5

Six tools is a tight, well-scoped set mapping to discovery, description, execution, sourcing, regulations and nutrient lookup. It is reasonable for the purpose, though slightly lean—no batch/run-all or result-history tool.

Completeness4/5

The check lifecycle (search, describe, run, source, regulations) plus nutrient data is largely covered, with no obvious dead end. Minor gaps like saving/exporting results or running multiple checks at once could hinder some workflows.

Available Tools

6 tools
describe_checkDescribe a checkA
Read-onlyIdempotent
Inspect

Inputs, output, market and coverage of one check, plus a ready run_check call.

ParametersJSON Schema
NameRequiredDescriptionDefault
check_idYesFrom search_checks

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds one genuinely useful behavioral detail, that it emits a ready-to-use run_check call, but says nothing about caching, cost, or failure modes.

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?

A single compact sentence with no filler, front-loading the returned facets. Slightly cryptic domain terms ('market', 'coverage') keep it from being fully self-explanatory, but nothing is wasted.

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 correctly carries the return-value burden by naming the facets returned. For a one-parameter read tool this is nearly sufficient; only the vague terms 'market' and 'coverage' and the unelaborated run_check payload leave small gaps.

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% with a single required check_id, so the schema carries the parameter burden. The description only reinforces the 'one check' scope and adds no syntax, format, or sourcing detail beyond what the schema already states.

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 resource (one check) and enumerates the payload facets it returns (inputs, output, market, coverage) plus a runnable run_check call. This distinguishes it from search_checks and run_check without opening a schema, though the telegraphic noun-phrase style omits an explicit verb.

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 only implied: the phrase 'plus a ready run_check call' hints at a describe-then-run workflow, and the schema notes check_id comes 'From search_checks'. There is no explicit when-to-use/when-not or direct comparison against the search_checks sibling.

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

get_sourceGet a check's sourcesB
Read-onlyIdempotent
Inspect

The registers, regulations and references a check answers from, with licence and citation text.

ParametersJSON Schema
NameRequiredDescriptionDefault
check_idYesFrom search_checks

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds content-level detail (licence and citation text are included) but says nothing about failure behaviour when check_id is unknown or about result size.

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?

A single sentence with no filler, and the most useful information (what is returned) comes first. It is a sentence fragment rather than a front-loaded statement of action, which keeps it just short of 5.

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 must carry the return-value burden, and it does name the main payload components (registers, regulations, references, licence, citation). For a simple one-parameter read tool that is largely sufficient, though the lack of any usage context leaves a small 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% and the single check_id parameter is already documented as coming 'From search_checks'. The description adds no format, source, or constraint detail beyond the schema, so the baseline 3 applies.

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?

The description names the specific resource returned (registers, regulations, references) plus the licence and citation text, which is more informative than a tautology. However, it is a bare noun phrase with no verb and never distinguishes itself from siblings like describe_check or list_regulations, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no when-to-use statement, no prerequisites, and no mention of the neighbouring tools. With siblings such as describe_check and list_regulations in the same namespace, the absence of any routing guidance leaves the agent to guess which tool returns sources versus which describes a check.

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

list_regulationsList covered regulationsB
Read-onlyIdempotent
Inspect

Regulations and live registers the checks cover, each with its check_ids. Optional market filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional market code: us, eu or uk

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds a small amount of context by noting the result set is the covered regulations/registers with their check_ids, but says nothing about ordering, completeness, or how the live registers relate to the regulations.

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?

Two compact sentences, with the resource description front-loaded and the filter note trailing. No filler, though the phrase 'live registers the checks cover' is slightly compressed and could be clearer.

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

Completeness3/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 partially compensates by indicating items carry check_ids, but it does not describe the overall return shape (list? grouped by regulation?) or whether the market filter narrows regulations, registers, or both. Adequate but leaves an agent guessing at the response structure.

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 single market parameter already documents its allowed values (us, eu, uk) in the schema. The description's 'Optional market filter' merely restates that, adding no format or defaulting detail beyond the schema.

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?

The description names the resource ('regulations and live registers the checks cover') and its payload shape ('each with its check_ids'), which is enough for an agent to distinguish it from search_checks or describe_check. It omits an explicit verb, relying on the title's 'List', but the read-only listing intent is unambiguous.

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

Usage Guidelines2/5

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

There is no statement of when to reach for this tool versus siblings like search_checks or describe_check. The only usage cue is 'Optional market filter', which is a parameter note rather than routing guidance.

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

lookup_nutrientsLook up nutrients (USDA FoodData Central)A
Read-onlyIdempotent
Inspect

Nutrient composition of a food from USDA FoodData Central: finds the best match for a query (or takes an fdc_id) and returns its nutrients with the record's data type and date.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFood, ingredient, brand or UPC, e.g. 'almond flour'
fdc_idNoOptional fdcId, skips the search
dataTypeNoOptional: Foundation, SR Legacy, Branded or Survey (FNDDS)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it performs a fuzzy 'best match' search (so results may not be the exact food requested) and it discloses the returned fields (nutrients, data type, date). It still doesn't say whether multiple matches are surfaced or how a miss is reported.

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?

A single dense sentence that front-loads the resource, then the two input modes, then the return payload. No filler, no repetition of the title.

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?

For a zero-required-parameter read tool with no output schema, the description covers inputs, resolution strategy and returned fields, which is close to sufficient. Remaining gaps are minor: units/precision of nutrient values and no-match behavior, but nothing blocks correct invocation.

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 coverage is 100%, and the schema descriptions already explain query, fdc_id ('skips the search') and the dataType values, so the description mostly restates structured data. The parenthetical '(or takes an fdc_id)' mirrors the schema rather than adding new semantics such as precedence when both are supplied.

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 ('Nutrient composition of a food from USDA FoodData Central') plus the two resolution paths (query match or fdc_id) and what is returned. The sibling tools (checks/regulations) occupy an entirely different domain, so no differentiation is required, and an agent can tell immediately what this returns.

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: the agent can infer that a query triggers a search while fdc_id 'skips the search', and that dataType narrows the source. There is no explicit when-to-use guidance, no mention of when this tool is preferable to other lookups, and no note on what happens when nothing matches.

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

run_checkRun a checkA
Read-onlyIdempotent
Inspect

Run one check and get a cited answer. Pass check_id and the check's own arguments (see describe_check).

ParametersJSON Schema
NameRequiredDescriptionDefault
check_idYesFrom search_checks
argumentsNoThe check's input, per describe_check

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered without the description's help. The description adds that the result is a 'cited answer', a small but real piece of output context; it says nothing about auth, rate limits, or cost of execution.

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?

Two sentences, no filler, with the core action and result stated first and the parameter workflow second. Every clause carries information.

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?

There is no output schema, and 'get a cited answer' is a thin but adequate hint at the return. For a two-parameter tool whose complex nested argument is delegated to describe_check, this is nearly complete; only the return shape and any execution constraints remain unstated.

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 nested 'arguments' object has no declared properties and the description explicitly defers its shape to describe_check, which is the only meaningful guidance an agent can get for that unconstrained object. It also reinforces the required check_id without repeating schema text verbatim.

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 (run), resource (a check) and outcome (a cited answer), which is more than a restatement of the title. It also points to describe_check for the argument shape, giving some differentiation from siblings, though it never contrasts itself with search_checks or list_regulations.

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?

The description implies a workflow by directing the caller to describe_check for arguments, and the schema notes check_id comes 'From search_checks', so the search → describe → run chain is inferable. However, no explicit when-to-use or when-not-to-use guidance is given, and no alternative is named or excluded.

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

search_checksSearch compliance checksA
Read-onlyIdempotent
Inspect

Find food, cosmetics and FMCG compliance checks by keyword and market (us, eu, uk). Returns check_ids for describe_check and run_check. An empty query lists all checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results, default 10
queryNoKeywords, e.g. 'recall listeria', 'nutrition label', 'FSVP'
marketNoOptional market code: us, eu or uk

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive), so the bar is lower. The description still adds useful behavior beyond the annotations: the empty-query-lists-all semantics and the fact that results are check_ids intended for two named follow-up tools. It omits pagination/truncation behavior for the limit parameter.

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 with zero filler. The core purpose and market scope are front-loaded, and the follow-up-tool routing is stated in the same breath.

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 search tool with no output schema, the description is complete: it says what is searched, what is returned (check_ids), and which tools consume that output. No nested objects or required params complicate the contract.

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 schema documents all three parameters and baseline is 3. The description adds genuine semantics beyond the schema for the query parameter ('an empty query lists all checks') and confirms the market codes, nudging this 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?

Specific verb ('Find') plus resource ('food, cosmetics and FMCG compliance checks') with explicit scope (keyword and market). It clearly distinguishes itself from describe_check and run_check by framing itself as the lookup step that produces check_ids for those tools.

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?

It states the entry condition (search by keyword and market) and routes the agent downstream by naming describe_check and run_check as consumers of the returned check_ids, plus notes that an empty query lists all checks. It stops short of explicitly naming a sibling as the alternative for a given scenario, so no full 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observeddescribe_check
    • First observedget_source
    • First observedlist_regulations
    • First observedlookup_nutrients
    • First observedrun_check
    • First observedsearch_checks

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Product evaluation MCP server for US packaged food. Health scores, ingredient safety, regulatory flags, recall history, corporate ownership.
    2
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying a global food nutrition database of generic and branded products, including search by name, lookup by barcode, and retrieval of resolved nutrient values pinned to a dated snapshot. Coverage spans USDA FoodData Central and Open Food Facts sources, with freshness health checks available.
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources