Fitness Tools
Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus.
사용해야 할까요
품질 및 안전성
발견 사항 (7)
- LOWactivity-multiplier에서
- LOWadaptive-tdee에서
- LOWbody-fat에서
- LOWone-rep-max에서
- LOWactivity-multiplier에서
- LOWpowerlifting-attempts에서
- LOWmuscle-potential에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"fitness-tools": {
"command": "npx",
"args": [
"@almostjacked/fitness-tools-mcp"
]
}
}
}실행 가능한 패키지
0.3.4stdio원격 엔드포인트
https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢tdee(sex, age, height, weight, activity, ...)
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",
"properties": {
"sex": {
"type": "string",
"enum": [
"male",
"female"
]
},
"age": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 120
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"cm",
"in",
"mm"
],
"default": "cm"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"weight": {
"type": "object",
"properties": {
"value": {
"$ref": "#/properties/height/properties/value"
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"activity": {
"anyOf": [
{
"type": "string",
"enum": [
"sedentary",
"light",
"moderate",
"active",
"very_active"
]
},
{
"type": "number"
}
]
},
"body_fat": {
"anyOf": [
{
"type": "number",
"minimum": 2,
"maximum": 70
},
{
"type": "null"
}
],
"default": null
},
"lean_mass": {
"anyOf": [
{
"$ref": "#/properties/weight"
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"sex",
"age",
"height",
"weight",
"activity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢adaptive-tdee(entries, window_days, prior_tdee_kcal, methods)
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",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"weight": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"kcal": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 20000
}
},
"required": [
"date"
],
"additionalProperties": false
},
"minItems": 10,
"maxItems": 400
},
"window_days": {
"type": "integer",
"minimum": 3,
"maximum": 14,
"default": 7
},
"prior_tdee_kcal": {
"type": "number",
"minimum": 500,
"maximum": 10000,
"description": "Optional starting TDEE estimate, e.g. from the tdee tool; speeds early convergence."
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "kalman"
}
},
"required": [
"entries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢body-fat(sex, age, height, weight, neck, ...)
Estimate body-fat % via US Navy circumference, Jackson-Pollock 3-site skinfold, and Deurenberg (BMI-based) methods.
입력 스키마
{
"type": "object",
"properties": {
"sex": {
"type": "string",
"enum": [
"male",
"female"
]
},
"age": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 120
},
{
"type": "null"
}
],
"default": null
},
"height": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"cm",
"in",
"mm"
],
"default": "cm"
}
},
"required": [
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null
},
"weight": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"$ref": "#/properties/height/anyOf/0/properties/value"
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null
},
"neck": {
"anyOf": [
{
"$ref": "#/properties/height/anyOf/0"
},
{
"type": "null"
}
],
"default": null
},
"waist": {
"anyOf": [
{
"$ref": "#/properties/height/anyOf/0"
},
{
"type": "null"
}
],
"default": null
},
"hip": {
"anyOf": [
{
"$ref": "#/properties/height/anyOf/0"
},
{
"type": "null"
}
],
"default": null
},
"skinfold_sum": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"sex"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢one-rep-max(weight, reps, methods)
Estimate 1RM from a submaximal set via Epley, Brzycki, Lombardi, Wathan, O'Conner, and Mayhew; returns a %1RM load chart.
입력 스키마
{
"type": "object",
"properties": {
"weight": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"reps": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"weight",
"reps"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"percent_table": {
"type": "array",
"items": {
"type": "object",
"properties": {
"percent": {
"type": "number"
},
"load": {
"type": "number"
}
},
"required": [
"percent",
"load"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"percent_table"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢macros(calories, weight, goal, protein_g_per_kg, fat_g_per_kg, ...)
Compute protein/fat/carb grams for a calorie target using the g-per-kg-bodyweight method, with goal-based protein defaults.
입력 스키마
{
"type": "object",
"properties": {
"calories": {
"type": "number",
"exclusiveMinimum": 0
},
"weight": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"goal": {
"type": "string",
"enum": [
"cut",
"maintain",
"bulk"
],
"default": "maintain"
},
"protein_g_per_kg": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 4
},
{
"type": "null"
}
],
"default": null
},
"fat_g_per_kg": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 3
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"calories",
"weight"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"results",
"consensus"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢activity-multiplier(activity_level, bmr, weight, sessions_per_week, session_minutes, ...)
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",
"properties": {
"activity_level": {
"anyOf": [
{
"type": "string",
"enum": [
"sedentary",
"light",
"moderate",
"active",
"very_active"
]
},
{
"type": "null"
}
],
"default": null
},
"bmr": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"default": null
},
"weight": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null
},
"sessions_per_week": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 21
},
{
"type": "null"
}
],
"default": null
},
"session_minutes": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 600
},
{
"type": "null"
}
],
"default": null
},
"intensity": {
"anyOf": [
{
"type": "string",
"enum": [
"light",
"moderate",
"vigorous"
]
},
{
"type": "null"
}
],
"default": null
},
"steps_per_day": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000
},
{
"type": "null"
}
],
"default": null
},
"occupation": {
"anyOf": [
{
"type": "string",
"enum": [
"desk",
"standing",
"manual",
"heavy"
]
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢powerlifting-attempts(one_rep_max, bar_weight, available_plates, aggressiveness)
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",
"properties": {
"one_rep_max": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"bar_weight": {
"anyOf": [
{
"$ref": "#/properties/one_rep_max"
},
{
"type": "null"
}
],
"default": null
},
"available_plates": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
],
"default": null
},
"aggressiveness": {
"type": "string",
"enum": [
"conservative",
"standard",
"aggressive"
],
"default": "standard"
}
},
"required": [
"one_rep_max"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"attempts": {
"type": "object",
"properties": {
"opener": {
"type": "object",
"properties": {
"weight": {
"type": "number"
},
"plates_per_side": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"weight",
"plates_per_side"
],
"additionalProperties": false
},
"second": {
"$ref": "#/properties/attempts/properties/opener"
},
"third": {
"$ref": "#/properties/attempts/properties/opener"
}
},
"required": [
"opener",
"second",
"third"
],
"additionalProperties": false
},
"warmups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"weight": {
"type": "number"
},
"reps": {
"type": "integer"
},
"plates_per_side": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"weight",
"reps",
"plates_per_side"
],
"additionalProperties": false
}
},
"bar_weight": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
]
},
"aggressiveness": {
"type": "string",
"enum": [
"conservative",
"standard",
"aggressive"
]
}
},
"required": [
"attempts",
"warmups",
"bar_weight",
"unit",
"aggressiveness"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢muscle-potential(sex, height, wrist, ankle, target_body_fat_pct, ...)
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",
"properties": {
"sex": {
"type": "string",
"enum": [
"male",
"female"
]
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"cm",
"in",
"mm"
],
"default": "cm"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"wrist": {
"anyOf": [
{
"$ref": "#/properties/height"
},
{
"type": "null"
}
],
"default": null
},
"ankle": {
"anyOf": [
{
"$ref": "#/properties/height"
},
{
"type": "null"
}
],
"default": null
},
"target_body_fat_pct": {
"type": "number",
"minimum": 3,
"maximum": 40,
"default": 10
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"sex",
"height"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ffmi(height, weight, body_fat, lean_mass, methods)
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",
"properties": {
"height": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"cm",
"in",
"mm"
],
"default": "cm"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"weight": {
"type": "object",
"properties": {
"value": {
"$ref": "#/properties/height/properties/value"
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"body_fat": {
"anyOf": [
{
"type": "number",
"minimum": 2,
"maximum": 70
},
{
"type": "null"
}
],
"default": null
},
"lean_mass": {
"anyOf": [
{
"$ref": "#/properties/weight"
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"height",
"weight"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"results",
"consensus"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢rsmi(sex, height, weight, age, asm_kg, ...)
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",
"properties": {
"sex": {
"type": "string",
"enum": [
"male",
"female"
]
},
"height": {
"type": "object",
"properties": {
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"type": "string",
"enum": [
"cm",
"in",
"mm"
],
"default": "cm"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"weight": {
"type": "object",
"properties": {
"value": {
"$ref": "#/properties/height/properties/value"
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
],
"default": "kg"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"age": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 120
},
"asm_kg": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"default": null
},
"methods": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"default": "all"
}
},
"required": [
"sex",
"height",
"weight",
"age"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"detail": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"value",
"unit"
],
"additionalProperties": false
}
},
"consensus": {
"anyOf": [
{
"type": "object",
"properties": {
"mean": {
"type": "number"
},
"median": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"n": {
"type": "integer"
}
},
"required": [
"mean",
"median",
"min",
"max",
"n"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"method",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"results",
"consensus",
"skipped"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거