Skip to main content
Glama

Food nutrients

get_food_nutrition
Read-onlyIdempotent

Returns the nutrient breakdown for one food at a serving weight.

The result has macros, micronutrients, an assessment against daily targets, USDA's verbatim ingredient statement when available, and common portion sizes with their gram weights. ingredients_available is false when USDA supplied no ingredient statement, which does not mean the food has no ingredients. assessment.basis is personal_dri when a profile is set and fda_label_dv otherwise.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fdc_id": "<fdc_id>"
    },
    "name": "get_food_nutrition"
  }
}

Input Schema

NameRequiredDescriptionDefault
gramsNoServing weight in grams. Defaults to 100.
fdc_idYesFoodData Central id from search_foods.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare a safe, idempotent, closed-world read, so the description's job is to add semantics — and it does: it enumerates the result sections and explains the non-obvious edge cases (ingredients_available=false does not mean no ingredients; assessment.basis is personal_dri vs fda_label_dv depending on whether a profile is set). It adds no error or missing-id behavior, which keeps it from a 5.

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?

Front-loaded with the core purpose, then the return contents, then two semantic caveats — each sentence carries information an agent could act on. Slightly long, but there is no filler or 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 two-parameter read tool with a full output schema and complete annotations, the description covers purpose, result composition, and the two interpretive traps. What remains thin is usage routing against siblings, which is a minor gap given the simplicity of the operation.

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 both parameters are already documented with defaults and constraints. The description only gestures at the serving-weight concept ('at a serving weight') and adds no syntax, units, or edge-case meaning beyond what the schema states. 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 first sentence names a specific verb and resource ('Returns the nutrient breakdown') and scopes it to a single food at a given serving weight, which implicitly separates it from meal/plan/recipe-level siblings like analyze_meal. It does not explicitly name an alternative, so it stops short of full differentiation.

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: an agent can infer this is the lookup to run after obtaining an fdc_id, but the description never states when to prefer it over compare_foods or the analyze_* tools, nor any prerequisites or exclusions. The 'fdc_id from search_foods' chaining hint lives in the schema, not the description.

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