Skip to main content
Glama
nutrition-mcp

nutrition-mcp

get_nutrition

Read-onlyIdempotent

Retrieve nutrients for a single food by amount in grams or household measures, including glycemic load, ingredient assumptions, and sources.

Instructions

Nutrients for an amount of one food, with the grams used, the measure and oil assumptions, glycemic load when the GI is known, and the sources. unit is g (always valid) or a household measure such as katori, piece or tbsp; search_food lists the units each food accepts, and an unknown unit returns them. A nutrient listed in incomplete is a lower bound. A dish's folate, vitamin C and vitamin B12 are totals of its raw ingredients, with no cooking losses applied; raw_ingredient_totals names them. For more than one food, use compute_meal. Values are rounded to 2 decimals, so 0.0 can be a small amount; a value the source does not report is null, never 0.

Input Schema

NameRequiredDescriptionDefault
unitYesg, or a unit that search_food lists for the food, such as katori or piece.
amountYesHow many of `unit`; above 0.
food_idYesA food id from search_food, such as toor_dal.

Output Schema

NameRequiredDescriptionDefault
giYes
foodYes
unitYes
gramsYes
amountYes
gi_refYes
sourcesYes
nutrientsYesNutrient amounts in `grams` of this food.
incompleteYes
glycemic_loadYes
oil_assumptionYes
measure_assumptionYes
raw_ingredient_totalsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent, so the description earns credit by adding substantive behavior: `incomplete` means a lower bound, dish micronutrients are raw-ingredient totals without cooking losses, values are rounded to 2 decimals, and unreported values are null rather than 0. This is unusually rich, though it doesn't discuss any limits like response size or rate.

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?

The core purpose and the compute_meal boundary are front-loaded, and almost every sentence carries real information. It is a dense run-on with several semicolon-chained caveats, which costs some readability but not correctness.

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?

An output schema exists, yet the description still explains the interpretive semantics an agent needs to read the results correctly (null vs 0, rounding, lower bounds, raw-ingredient totals). Combined with unit handling and the sibling routing, nothing essential to a correct call is missing.

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 baseline is 3; the description still adds meaning beyond the schema by clarifying that g is always valid while household measures are food-specific and that an unknown unit returns the accepted list. It doesn't explain amount edge cases beyond what the schema's exclusiveMinimum already conveys.

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?

Opens with a specific verb+resource: nutrients for an amount of one food, including the measures used and sources. It explicitly distinguishes itself from compute_meal for multi-food queries, so an agent can pick between the two siblings without opening schemas.

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?

States the single-food use case, names the alternative for multiple foods, and directs the agent to search_food for both food ids and the valid unit list. It even specifies that an unknown unit returns the accepted units, which is an explicit recovery path.

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