MCP 서버

Fitness Tools

io.github.almostjacked/fitness-tools
헬스케어 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Calculates fitness and body-composition metrics including TDEE, body fat, macros, FFMI, muscle potential, one-rep max, and powerlifting attempts.

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).
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'bmr': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'weight': {'anyOf': [{'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'intensity': {'anyOf': [{'enum': ['light', 'moderate', 'vigorous'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'occupation': {'anyOf': [{'enum': ['desk', 'standing', 'manual', 'heavy'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'steps_per_day': {'anyOf': [{'type': 'integer', 'maximum': 100000, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'activity_level': {'anyOf': [{'enum': ['sedentary', 'light', 'moderate', 'active', 'very_active'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'session_minutes': {'anyOf': [{'type': 'number', 'maximum': 600, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'sessions_per_week': {'anyOf': [{'type': 'integer', 'maximum': 21, 'minimum': 0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entries'], 'properties': {'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'kcal': {'type': 'number', 'maximum': 20000, 'exclusiveMinimum': 0}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 400, 'minItems': 10}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'kalman'}, 'window_days': {'type': 'integer', 'default': 7, 'maximum': 14, 'minimum': 3}, 'prior_tdee_kcal': {'type': 'number', 'maximum': 10000, 'minimum': 500, 'description': 'Optional starting TDEE estimate, e.g. from the tdee tool; speeds early convergence.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
body-fat
Body Fat Percentage
Estimate body-fat % via US Navy circumference, Jackson-Pollock 3-site skinfold, and Deurenberg (BMI-based) methods.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sex'], 'properties': {'age': {'anyOf': [{'type': 'number', 'maximum': 120, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'hip': {'anyOf': [{'$ref': '#/properties/height/anyOf/0'}, {'type': 'null'}], 'default': None}, 'sex': {'enum': ['male', 'female'], 'type': 'string'}, 'neck': {'anyOf': [{'$ref': '#/properties/height/anyOf/0'}, {'type': 'null'}], 'default': None}, 'waist': {'anyOf': [{'$ref': '#/properties/height/anyOf/0'}, {'type': 'null'}], 'default': None}, 'height': {'anyOf': [{'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['cm', 'in', 'mm'], 'type': 'string', 'default': 'cm'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None}, 'weight': {'anyOf': [{'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'$ref': '#/properties/height/anyOf/0/properties/value'}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'skinfold_sum': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['height', 'weight'], 'properties': {'height': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['cm', 'in', 'mm'], 'type': 'string', 'default': 'cm'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'$ref': '#/properties/height/properties/value'}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'body_fat': {'anyOf': [{'type': 'number', 'maximum': 70, 'minimum': 2}, {'type': 'null'}], 'default': None}, 'lean_mass': {'anyOf': [{'$ref': '#/properties/weight'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
macros
Macronutrient Split
Compute protein/fat/carb grams for a calorie target using the g-per-kg-bodyweight method, with goal-based protein defaults.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['calories', 'weight'], 'properties': {'goal': {'enum': ['cut', 'maintain', 'bulk'], 'type': 'string', 'default': 'maintain'}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'calories': {'type': 'number', 'exclusiveMinimum': 0}, 'fat_g_per_kg': {'anyOf': [{'type': 'number', 'maximum': 3, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'protein_g_per_kg': {'anyOf': [{'type': 'number', 'maximum': 4, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sex', 'height'], 'properties': {'sex': {'enum': ['male', 'female'], 'type': 'string'}, 'ankle': {'anyOf': [{'$ref': '#/properties/height'}, {'type': 'null'}], 'default': None}, 'wrist': {'anyOf': [{'$ref': '#/properties/height'}, {'type': 'null'}], 'default': None}, 'height': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['cm', 'in', 'mm'], 'type': 'string', 'default': 'cm'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'target_body_fat_pct': {'type': 'number', 'default': 10, 'maximum': 40, 'minimum': 3}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['weight', 'reps'], 'properties': {'reps': {'type': 'integer', 'maximum': 20, 'exclusiveMinimum': 0}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'percent_table'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'percent_table': {'type': 'array', 'items': {'type': 'object', 'required': ['percent', 'load'], 'properties': {'load': {'type': 'number'}, 'percent': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['one_rep_max'], 'properties': {'bar_weight': {'anyOf': [{'$ref': '#/properties/one_rep_max'}, {'type': 'null'}], 'default': None}, 'one_rep_max': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'aggressiveness': {'enum': ['conservative', 'standard', 'aggressive'], 'type': 'string', 'default': 'standard'}, 'available_plates': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['attempts', 'warmups', 'bar_weight', 'unit', 'aggressiveness'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string'}, 'warmups': {'type': 'array', 'items': {'type': 'object', 'required': ['weight', 'reps', 'plates_per_side'], 'properties': {'reps': {'type': 'integer'}, 'weight': {'type': 'number'}, 'plates_per_side': {'type': 'array', 'items': {'type': 'number'}}}, 'additionalProperties': False}}, 'attempts': {'type': 'object', 'required': ['opener', 'second', 'third'], 'properties': {'third': {'$ref': '#/properties/attempts/properties/opener'}, 'opener': {'type': 'object', 'required': ['weight', 'plates_per_side'], 'properties': {'weight': {'type': 'number'}, 'plates_per_side': {'type': 'array', 'items': {'type': 'number'}}}, 'additionalProperties': False}, 'second': {'$ref': '#/properties/attempts/properties/opener'}}, 'additionalProperties': False}, 'bar_weight': {'type': 'number'}, 'aggressiveness': {'enum': ['conservative', 'standard', 'aggressive'], 'type': 'string'}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sex', 'height', 'weight', 'age'], 'properties': {'age': {'type': 'number', 'maximum': 120, 'exclusiveMinimum': 0}, 'sex': {'enum': ['male', 'female'], 'type': 'string'}, 'asm_kg': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'height': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['cm', 'in', 'mm'], 'type': 'string', 'default': 'cm'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'$ref': '#/properties/height/properties/value'}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sex', 'age', 'height', 'weight', 'activity'], 'properties': {'age': {'type': 'number', 'maximum': 120, 'exclusiveMinimum': 0}, 'sex': {'enum': ['male', 'female'], 'type': 'string'}, 'height': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['cm', 'in', 'mm'], 'type': 'string', 'default': 'cm'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'weight': {'type': 'object', 'required': ['value'], 'properties': {'unit': {'enum': ['kg', 'lb'], 'type': 'string', 'default': 'kg'}, 'value': {'$ref': '#/properties/height/properties/value'}}, 'additionalProperties': False}, 'methods': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'default': 'all'}, 'activity': {'anyOf': [{'enum': ['sedentary', 'light', 'moderate', 'active', 'very_active'], 'type': 'string'}, {'type': 'number'}]}, 'body_fat': {'anyOf': [{'type': 'number', 'maximum': 70, 'minimum': 2}, {'type': 'null'}], 'default': None}, 'lean_mass': {'anyOf': [{'$ref': '#/properties/weight'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'consensus', 'skipped'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'value', 'unit'], 'properties': {'unit': {'type': 'string'}, 'value': {'type': 'number'}, 'detail': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string'}}, 'additionalProperties': False}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'reason'], 'properties': {'method': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'consensus': {'anyOf': [{'type': 'object', 'required': ['mean', 'median', 'min', 'max', 'n'], 'properties': {'n': {'type': 'integer'}, 'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
추가됨
rsmi
2026년 9월 17일 12:40 PM
추가됨
ffmi
2026년 9월 17일 12:40 PM
추가됨
muscle-potential
2026년 9월 17일 12:40 PM
추가됨
powerlifting-attempts
2026년 9월 17일 12:40 PM
추가됨
activity-multiplier
2026년 9월 17일 12:40 PM
추가됨
macros
2026년 9월 17일 12:40 PM
추가됨
one-rep-max
2026년 9월 17일 12:40 PM
추가됨
body-fat
2026년 9월 17일 12:40 PM
추가됨
adaptive-tdee
2026년 9월 17일 12:40 PM
추가됨
tdee
2026년 9월 17일 12:40 PM