Skip to main content
Glama

Calculate.co.nz NZ Calculators

energy_expenditure_calculator

Work out maintenance calories (TDEE), BMR, and a target for a goal.

Use for: 'how many calories should I eat', 'what is my TDEE', 'calorie
deficit to lose weight', 'how many calories to lose 5kg', 'what are my
macros'.

NAME THE FORMULA. Mifflin-St Jeor and the revised Harris-Benedict differ by
5 to 10% for the same person, which is often more than the entire deficit
they are trying to run. formula_spread_kcal is that gap and
bmr_formula_used says which one the answer took. Quoting a calorie number
without saying where it came from is the mistake to avoid here, because the
person will treat it as measured rather than estimated.

ASK FOR BODY FAT IF THEY MIGHT KNOW IT. With it, Katch-McArdle works from
lean mass and is the better estimate, particularly for anyone muscular or
carrying more fat than average, where the weight-based formulas are worst.

WARN ABOUT THE ACTIVITY LEVEL. Most people overestimate it, and one level
is worth several hundred calories a day. One level lower than it feels is
usually closer.

Projections use 7,700 kcal per kilogram of body fat, so 500 kcal a day is
about half a kilogram a week. Pass on the caveats: these are population
formulas, not a measurement, and a long timeline runs optimistic because
metabolic rate falls as weight does. The honest advice is to eat at the
number for two to three weeks and adjust from what the scale does.

Args:
    sex: male or female. It changes the formula constant.
    age: Years.
    weight_kg: Body weight in kilograms.
    height_cm: Height in centimetres.
    activity_level: sedentary, light, moderate, very_active, extra_active.
    goal: lose, maintain or gain.
    body_fat_pct: Optional, and worth asking for.
    target_weight_kg: Optional, produces a timeline.

Returns:
    All three BMR formulas with their spread, the TDEE, a calorie target
    for the goal, protein, fat and carbohydrate targets, and a timeline to
    any target weight.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ageYes
sexYes
goalNomaintain
height_cmYes
weight_kgYes
body_fat_pctNo
activity_levelNomoderate
target_weight_kgNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and over-delivers: it names all three formulas (Mifflin-St Jeor, revised Harris-Benedict, Katch-McArdle), discloses formula_spread_kcal and bmr_formula_used in the answer, explains the 7,700 kcal/kg projection assumption, and mandates passing on the caveat that these are population estimates, not a measurement. It also warns about activity-level overestimation and prescribes the two-to-three-week self-correction advice.

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?

Long, but structured so each block earns its place: purpose, routing examples, formula guidance, input strategy, projection caveats, args, returns. The ALL-CAPS directives front-load the three behaviors that most affect correctness. Only minor redundancy (formulas named in both the guidance and the Returns section) and overall length keep it from a 5.

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 tool with 8 parameters, zero annotations, zero schema descriptions, and no output schema, the description is complete: full parameter semantics, return contents ('All three BMR formulas with their spread, the TDEE, a calorie target...'), and the caveats to relay to the user. Nothing needed to call it correctly or interpret its results honestly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the Args section must carry the weight, and it does fully: units for age, weight_kg, and height_cm; complete allowed-value sets for activity_level and goal (which the schema lacks enums for); optionality; and behavioral consequences for body_fat_pct ('worth asking for') and target_weight_kg ('produces a timeline'). Every one of the 8 parameters gains meaning beyond the bare schema.

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?

The opening line states a specific verb and resource: 'Work out maintenance calories (TDEE), BMR, and a target for a goal.' The 'Use for' examples ('how many calories should I eat', 'what is my TDEE', 'calorie deficit to lose weight') make the intended queries unmistakable, and TDEE/BMR/calorie-target clearly differentiates it from bmi_calculator and the NZ-specific calculators in the sibling list.

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?

Provides an explicit 'Use for' list of example user intents that routes the agent to this tool for calorie and TDEE questions. However, it names no alternatives and states no exclusions (e.g., directing BMI questions to bmi_calculator), so when-not-to-use is left to inference rather than stated.

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