Fitness Tools

io.github.almostjacked由 GitHub 帳號 almostjacked 發布v0.3.4更新於 Oct 25, 2026

Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus.

已驗證Streamable HTTP可網頁執行位置與生活資料與分析

概覽

AI 產生的概覽

一個健身計算器伺服器,讓助理用已發表的公式計算 TDEE、體脂率、單次最大重量、巨量營養素、舉重試舉與肌肉潛力估算。

可以做什麼
估算能量需求:用多種公式計算 BMR/TDEE,依記錄的體重與熱量歷史計算自適應 TDEE,並用查表或 NEAT+EAT 模型估算活動係數。估算身體組成:用海軍圍度、皮褶與 BMI 方法計算體脂率,計算 FFMI 並標示是否超過自然上限,以及計算 RSMI 並對照肌少症門檻。估算力量:由次最大組估算單次最大重量並提供百分比負荷表,以及產生健力開把、第二把、第三把試舉、熱身遞增與槓片配置。規劃營養:依熱量目標計算蛋白質、脂肪與碳水克數。估算目標體脂率下的無藥物最大體重。
適用情境
適合需要助理做可重複的健身計算而非臨時編數字的場景:訓練計畫、熱量與巨量營養素目標、力量進展,或身體組成與肌肉潛力估算。每個計算器會執行多個已發表公式並給出共識結果,適合希望看到方法與結果區間的用戶。
執行需求
可作為託管遠端端點使用,也可透過 npm 套件的 npx 作為本機 stdio 程序執行。未宣告驗證、環境變數或請求標頭。本機方式需要 Node.js,並需要網路存取以取得該套件。
安裝前請注意
這些計算器依人群公式提供估算,不是醫療建議或實際測量。肌肉潛力工具在目前版本僅支援男性。自適應 TDEE 依賴使用者提供的體重與熱量歷史,結果取決於記錄品質。不涉及憑證或寫入操作。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fitness Tools,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.almostjacked%2Ffitness-tools/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "fitness-tools": {
      "type": "http",
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    }
  }
}

README

Fitness Tools

[CI] [License: MIT] [npm] [MCP Registry]

📖 Documentation · npm

Use it with your AI right now: add the hosted MCP connector https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp in claude.ai / ChatGPT settings, install one-click in Cursor or VS Code, or grab the Claude Desktop .mcpb.

Composable, deterministic fitness calculators — BMR/TDEE, body fat, 1RM, macros, activity multiplier, powerlifting attempts, and natural muscular potential. Each calculator runs several published formulas and reports a consensus across them.

This repo ships three separate, independently-usable artifacts:

  • @almostjacked/fitness-tools — the npm library. Validated, self-describing calculators that run natively in the browser and on the server. This is the product.
  • @almostjacked/fitness-tools-api — a reference HTTP server built on the library. It re-exposes the same calculators over HTTP (identical math, identical results) and is inert until you run or host it.
  • @almostjacked/fitness-tools-mcp — an MCP stdio server built on the library. It exposes the same calculators as MCP tools for agents/LLM clients (identical math), runnable with npx @almostjacked/fitness-tools-mcp.

Which one do you want?

You're…UseWhy
Writing JS/TS (browser, Node, edge)@almostjacked/fitness-tools (npm)Runs in-process. Install, import, call. No server, no network.
Calling from another language / curl / a no-code tool@almostjacked/fitness-tools-api (HTTP)Same calculators over HTTP. You run/host it.
Building a remote frontend@almostjacked/fitness-tools-apiSelf-describing catalog + OpenAPI over the wire.
Wiring the calculators into an MCP client / agent@almostjacked/fitness-tools-mcpnpx an MCP stdio server; one tool per calculator.

The API adds a network boundary, not capability. The package works the moment you install it; the server does nothing until it's running.

Documentation

Layout

packages/core   @almostjacked/fitness-tools — the library (the product)apps/api        @almostjacked/fitness-tools-api  — a reference HTTP server over the libraryapps/mcp        @almostjacked/fitness-tools-mcp  — an MCP stdio server over the library

Develop

bash
corepack enable              # pnpm version is pinned in package.jsonpnpm installpnpm -r test                 # core + api + mcp test suitespnpm -C packages/core build  # build the librarypnpm -C apps/api dev         # run the reference server on :8080

See each package's README — library · reference server.

License

MIT — free, open-source, and usable in commercial products. See LICENSE. Built on published formulas (Mifflin-St Jeor, US Navy, Jackson-Pollock, Epley, Casey Butt, etc.); contributions welcome.

來源:README.md,提交 ee0b492

工具

10

tdee

Total Daily Energy Expenditure

Estimate 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.

輸入參數age必填sex必填height必填weight必填methodsactivity必填body_fatlean_mass

adaptive-tdee

Adaptive TDEE

Measure 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.

輸入參數entries必填methodswindow_daysprior_tdee_kcal

body-fat

Body Fat Percentage

Estimate body-fat % via US Navy circumference, Jackson-Pollock 3-site skinfold, and Deurenberg (BMI-based) methods.

輸入參數agehipsex必填neckwaistheightweightmethodsskinfold_sum

one-rep-max

One-Rep Max

Estimate 1RM from a submaximal set via Epley, Brzycki, Lombardi, Wathan, O'Conner, and Mayhew; returns a %1RM load chart.

輸入參數reps必填weight必填methods

macros

Macronutrient Split

Compute protein/fat/carb grams for a calorie target using the g-per-kg-bodyweight method, with goal-based protein defaults.

輸入參數goalweight必填methodscalories必填fat_g_per_kgprotein_g_per_kg

activity-multiplier

Activity Multiplier

Estimate the TDEE activity multiplier via the classic lookup table or a NEAT+EAT model (occupation/steps for non-exercise, training volume for exercise).

輸入參數bmrweightmethodsintensityoccupationsteps_per_dayactivity_levelsession_minutessessions_per_week

powerlifting-attempts

Powerlifting Meet Attempts

Deterministic opener/second/third attempts from an estimated 1RM, plus a warmup ramp and per-side plate loading. Tunable by aggressiveness and available plates.

輸入參數bar_weightone_rep_max必填aggressivenessavailable_plates

muscle-potential

Maximum Muscular Potential

Estimate 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.

輸入參數sex必填anklewristheight必填methodstarget_body_fat_pct

ffmi

Fat-Free Mass Index

Compute 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.

輸入參數height必填weight必填methodsbody_fatlean_mass

rsmi

Relative Skeletal Muscle Index

Estimate 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.

輸入參數age必填sex必填asm_kgheight必填weight必填methods

版本歷史

1
  1. v0.3.4最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分