Skip to main content
Glama
Canada's Food Guide MCP Server

Canada's Food Guide MCP Server

Get Dri Lookup From Session

get_dri_lookup_from_session

Retrieve specific DRI values from session-cached data to avoid repeated website requests and compare nutrient intake against reference values during nutrition analysis.

Instructions

Retrieve specific DRI values from session-cached data.

This tool provides fast access to DRI values from data already stored in the virtual session, eliminating the need for repeated website requests. Perfect for building complex nutrition analysis workflows with multiple DRI lookups.

MATH TOOL INTEGRATION: This tool provides DRI reference values for comparison. ALWAYS use simple_math_calculator for any calculations involving these values:

  • Adequacy percentages: simple_math_calculator(expression="(intake/rda)*100", variables={"intake": actual, "rda": dri_value})

  • Deficit calculations: simple_math_calculator(expression="rda - intake", variables={"rda": dri_value, "intake": actual})

  • AMDR compliance: simple_math_calculator(expression="(nutrient_cals/total_cals)*100", variables={"nutrient_cals": value, "total_cals": total})

Prerequisites: Must run store_dri_tables_in_session first to populate session data.

Supported macronutrients:

  • carbohydrate, protein, total_fat, linoleic_acid, alpha_linolenic_acid, total_fibre, total_water

Use this tool when:

  • Looking up specific DRI values during nutrition analysis

  • Building personalized nutrition recommendations

  • Comparing individual nutrients against reference values

  • Creating nutrition education content with official values

Input Schema

NameRequiredDescriptionDefault
genderYesTarget gender ("males", "females") or None for general
age_rangeYesTarget age range (e.g., "19-30 y", "4-8 y")
session_idYesVirtual session containing cached DRI data
macronutrientYesNutrient type to retrieve values for

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does disclose real behavior: the data source is session cache, population requires a prior store_dri_tables_in_session call, and only seven macronutrients are supported. It omits failure behavior when the session is unpopulated or an unsupported nutrient is passed, which is the main remaining gap for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and prerequisite are front-loaded and easy to scan, but the 'MATH TOOL INTEGRATION' block with three worked formula templates is disproportionate to this tool's job and reads as cross-tool advertising. Trimming it to one routing sentence ('use simple_math_calculator for adequacy/deficit/AMDR math') would preserve the guidance at a third of the length.

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, so return-shape explanation is unnecessary, and everything else an agent needs — prerequisite, cached-data source, supported nutrient values, and when to apply it — is present. For a four-parameter read tool this is complete.

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 would be 3, but the description adds genuinely useful meaning: the 'Supported macronutrients' list effectively supplies an allowed-value set for the macronutrient parameter that the schema leaves as an unconstrained string. It adds nothing for session_id or age_range 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 first sentence gives a specific verb and resource ('Retrieve specific DRI values from session-cached data') and the caching angle implicitly separates it from the website-fetching siblings like get_specific_macronutrient_dri. It never names those siblings explicitly, so an agent must infer the split rather than being routed unambiguously.

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 a hard prerequisite ('Must run store_dri_tables_in_session first') and gives a four-item 'Use this tool when' list covering lookup, recommendation building, comparison, and education use. It stops short of stating when NOT to use it — e.g. that a non-cached lookup should go to get_specific_macronutrient_dri — which leaves the main sibling ambiguity unresolved.

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