Skip to content

Adaptive TDEE

Tool id: adaptive-tdee · Methods: regression, endpoints

Formula TDEE (the tdee tool) estimates; this tool measures. Given 2+ weeks of daily weight and intake logs it computes the TDEE that actually explains your weight change, using the energy-balance identity TDEE = mean intake − stored energy (Wishnofsky: 7700 kcal per kg of body-mass change).

FieldTypeNotes
entriesarray (10–400)one per day: { date, weight, kcal }
entries[].datestringYYYY-MM-DD; gaps are fine, duplicates are an error
entries[].weight{ value, unit }kg or lb
entries[].kcalnumbercalories logged for that date
window_daysinteger3–14, default 7 — smoothing window for endpoints
methodsstring[] | "all"defaults to "all"
  • regression — OLS slope of weight over the whole series; robust to gaps.
  • endpoints — compares the mean of the first and last window_days of weights; requires a date span of at least 2 × window_days, otherwise it is skipped.

Data sources: on the Claude iOS app, the native Apple Health integration supplies weight and dietary energy directly; elsewhere, paste an export from your logging app.

import { REGISTRY } from "@almostjacked/fitness-tools";
const at = REGISTRY.get("adaptive-tdee")!;
at.compute(at.input.parse({
entries: [
{ date: "2026-01-01", weight: { value: 80, unit: "kg" }, kcal: 2500 },
// ... one entry per day, 10+ total
],
}));
{
"results": [
{
"method": "regression",
"value": 2885,
"unit": "kcal/day",
"detail": {
"mean_intake_kcal": 2500,
"weight_change_kg_per_week": -0.35,
"span_days": 14,
"n_entries": 14,
"kcal_per_kg": 7700
}
},
{
"method": "endpoints",
"value": 2885,
"unit": "kcal/day",
"detail": {
"mean_intake_kcal": 2500,
"weight_change_kg_per_week": -0.35,
"span_days": 14,
"n_entries": 14,
"kcal_per_kg": 7700
}
}
],
"consensus": {
"mean": 2885,
"median": 2885,
"min": 2885,
"max": 2885,
"n": 2
},
"skipped": []
}

Full docs for the other protocols: HTTP API · MCP server.