Skip to main content
Glama

joiva_get_nutrient_findings

Read-onlyIdempotent

Joiva's rule-based comparison of the logged dietary intake of all nutrients with reference values over 1, 7 and 30 days, one rule set: minimum (70 % of the DGE reference), upper limits (EFSA/NIH), 'at most' limits (saturated fat, added sugar, sodium, omega-6 as % of energy) and ratios (omega-6:omega-3, sodium:potassium molar, calcium:magnesium, zinc:copper). Each finding: limit with source link, per window the value, data coverage and status (auffaellig | ok | zu_wenig_daten | keine_eintraege), the top contributing foods, the origin of the values (label, database, inherited, estimated), a suggestion and a 30-day history. 'zu_wenig_daten' means NO statement, neither a warning nor an all-clear. 'nicht_angewendet' = the rule does not apply to the user's diet (reason given). At most one finding has alarm=true. onlyFired=true returns only rules with status 'auffaellig'. The findings describe logged intake, not nutrient levels in the body.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "joiva_get_nutrient_findings"
  }
}

Input Schema

NameRequiredDescriptionDefault
tzNoIANA timezone, default Europe/Berlin
onlyFiredNoOnly fired rules (status 'auffaellig'); default false

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description goes well beyond them: it defines each status value, clarifies that 'zu_wenig_daten' means no statement either way, states at most one finding has alarm=true, and adds the important caveat that findings describe logged intake, not body nutrient levels.

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 purpose and scope are front-loaded in the first clause, and virtually every sentence carries domain information (status definitions, rule categories, caveat). It is dense and run-on with heavy parenthetical glosses, which slightly hurts scanability, but there is no filler.

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?

With no output schema, the description must explain the return shape, and it does: each finding carries limit plus source link, per-window value, coverage, status, top contributing foods, value origin, suggestion and 30-day history. An agent can reason about the response without further fields.

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%, so both parameters are already documented; the description's onlyFired explanation largely restates the schema. It does add interpretation value by tying 'auffaellig' to the alarm/status model, but tz is not elaborated, so this sits at the baseline for full-coverage schemas.

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 and resource: 'rule-based comparison of the logged dietary intake of all nutrients with reference values over 1, 7 and 30 days.' The rule-set and finding structure makes the output concept distinct from joiva_get_range_summary or stackwell_get_nutrient_totals, though no sibling is named explicitly.

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?

It explains the finding semantics thoroughly and notes onlyFired returns only 'auffaellig' rules, which implies a filter use case. However, it never says when an agent should call this instead of joiva_get_range_summary, joiva_get_day or stackwell_get_nutrient_totals, so selection guidance is only implied.

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