Fitness Tools
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus.
| Author | io.github.almostjacked |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 255 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Fitness Tools": {
"url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
tdeeread-onlyEstimate BMR and TDEE via Mifflin-St Jeor, Harris-Benedict, Katch-McArdle, and Cunningham. Provide body_fat or lean_mass to unlock the LBM-based methods.
Parameters:
sex(required) — stringage(required) — numberheight(required) — objectweight(required) — objectactivity(required)methodsbody_fatlean_mass
Hints: read-only yes · destructive no · idempotent yes · open-world no
adaptive-tdeeread-onlyMeasure actual TDEE from a logged history of daily weight and/or calorie intake. Default method (kalman) is a joint Kalman filter over true weight and TDEE — handles missing days, gates outliers, and reports uncertainty (CI95) alongside denoised true weight; regression/endpoints are simple window-based estimates kept for comparison. Use instead of formula TDEE once real logged data exists. Each entry needs at least one of weight/kcal (not necessarily both). Entry dates must span 10 years or less (earliest to latest). Note: all methods need at least one weigh-in (kalman) or two (regression/endpoints) — a history with zero weight entries throws under the kalman default; pass methods:'all' to get a graceful empty/skipped result instead.
Parameters:
entries(required) — arraymethodswindow_days— integerprior_tdee_kcal— number — Optional starting TDEE estimate, e.g. from the tdee tool; speeds early convergence.
Hints: read-only yes · destructive no · idempotent yes · open-world no
body-fatread-onlyEstimate body-fat % via US Navy circumference, Jackson-Pollock 3-site skinfold, and Deurenberg (BMI-based) methods.
Parameters:
sex(required) — stringagehipneckwaistheightweightmethodsskinfold_sum
Hints: read-only yes · destructive no · idempotent yes · open-world no
one-rep-maxread-onlyEstimate 1RM from a submaximal set via Epley, Brzycki, Lombardi, Wathan, O'Conner, and Mayhew; returns a %1RM load chart.
Parameters:
weight(required) — objectreps(required) — integermethods
Hints: read-only yes · destructive no · idempotent yes · open-world no
macrosread-onlyCompute protein/fat/carb grams for a calorie target using the g-per-kg-bodyweight method, with goal-based protein defaults.
Parameters:
calories(required) — numberweight(required) — objectgoal— stringmethodsfat_g_per_kgprotein_g_per_kg
Hints: read-only yes · destructive no · idempotent yes · open-world no
activity-multiplierread-onlyEstimate the TDEE activity multiplier via the classic lookup table or a NEAT+EAT model (occupation/steps for non-exercise, training volume for exercise).
Parameters:
bmrweightmethodsintensityoccupationsteps_per_dayactivity_levelsession_minutessessions_per_week
Hints: read-only yes · destructive no · idempotent yes · open-world no
powerlifting-attemptsread-onlyDeterministic opener/second/third attempts from an estimated 1RM, plus a warmup ramp and per-side plate loading. Tunable by aggressiveness and available plates.
Parameters:
one_rep_max(required) — objectbar_weightaggressiveness— stringavailable_plates
Hints: read-only yes · destructive no · idempotent yes · open-world no
muscle-potentialread-onlyEstimate drug-free maximum bodyweight at a target body-fat % via Casey Butt (wrist+ankle), the FFMI~25 natural cap, and Berkhan's max-contest-weight model. Men only in v1.
Parameters:
sex(required) — stringheight(required) — objectanklewristmethodstarget_body_fat_pct— number
Hints: read-only yes · destructive no · idempotent yes · open-world no
ffmiread-onlyCompute the Fat-Free Mass Index (FFMI) and its height-adjusted form from weight and body fat (or lean mass), and flag whether it exceeds the ~25 natural ceiling.
Parameters:
height(required) — objectweight(required) — objectmethodsbody_fatlean_mass
Hints: read-only yes · destructive no · idempotent yes · open-world no
rsmiread-onlyEstimate the appendicular skeletal muscle index (RSMI) from a DXA value (direct) and/or an anthropometric estimate (Wen 2011), and flag low muscle mass against EWGSOP2, AWGS, and Baumgartner sarcopenia cutoffs.
Parameters:
sex(required) — stringheight(required) — objectweight(required) — objectage(required) — numberasm_kgmethods
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.