Bodywise Fitness and Nutrition

Public fitness and nutrition calculators, exercise information, and evidence-based guides.

我該用這個嗎

品質與安全性

A
說明品質
91%
結構描述完整度
97%
命名品質
84%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(11)

  • LOWTool 'maintenance_calories' description lacks action verb在 maintenance_calories 中
  • LOWTool 'daily_protein_range' description lacks action verb在 daily_protein_range 中
  • LOWTool 'lift_balance_calculator' description lacks action verb在 lift_balance_calculator 中
  • LOWTool 'dots_wilks_calculator' description lacks action verb在 dots_wilks_calculator 中
  • LOWTool 'ipf_gl_points_calculator' description lacks action verb在 ipf_gl_points_calculator 中
  • LOWTool 'strength_to_bodyweight_calculator' description lacks action verb在 strength_to_bodyweight_calculator 中
  • LOWTool 'lean_bulking_rate_calculator' description lacks action verb在 lean_bulking_rate_calculator 中
  • LOWTool 'rest_between_sets_calculator' description lacks action verb在 rest_between_sets_calculator 中
  • LOWTool 'get_calculator_info' description lacks action verb在 get_calculator_info 中
  • LOWTool 'protein_distribution_calculator' name length outside 3-30 range在 protein_distribution_calculator 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,602Token(工具定義)
~1.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.94%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mcp": {
      "url": "https://bodywise.io/api/mcp"
    }
  }
}

遠端端點

https://bodywise.io/api/mcpstreamable-http

它能做什麼

工具清單

工具(35)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢maintenance_calories(sex, age, height_cm, weight_kg, activity)

Estimate daily maintenance calories (Mifflin-St Jeor × activity multiplier) for an adult.

輸入結構描述

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "age": {
      "type": "number",
      "minimum": 18,
      "maximum": 90,
      "description": "Age in years (18–90)."
    },
    "height_cm": {
      "type": "number",
      "minimum": 140,
      "maximum": 215,
      "description": "Height in cm."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    },
    "activity": {
      "type": "number",
      "minimum": 1.2,
      "maximum": 1.9,
      "description": "Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9."
    }
  },
  "required": [
    "sex",
    "age",
    "height_cm",
    "weight_kg",
    "activity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢bulking_calories(sex, age, height_cm, weight_kg, activity)

Maintenance calories plus the 10–15% lean-gain starting surplus and a weekly gain guide (the Bodywise bulking calorie calculator).

輸入結構描述

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "age": {
      "type": "number",
      "minimum": 18,
      "maximum": 90,
      "description": "Age in years (18–90)."
    },
    "height_cm": {
      "type": "number",
      "minimum": 120,
      "maximum": 220,
      "description": "Height in cm."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 30,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "activity": {
      "type": "number",
      "minimum": 1.2,
      "maximum": 1.9,
      "description": "Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9."
    }
  },
  "required": [
    "sex",
    "age",
    "height_cm",
    "weight_kg",
    "activity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢calorie_calculator(age, sex, height_cm, weight_kg, activity_level, ...)

Older calculator kept for backwards compatibility: maintenance (Mifflin-St Jeor × named activity level) times 0.80, 0.85, 1.00 or 1.10 by goal. It has no Bodywise page. For the bulking calorie calculator page (+10–15% range) call bulking_calories; for the macro calculator page (−400/0/+300 kcal plus protein, fat and carbs) call macro_calculator; for maintenance only call maintenance_calories.

輸入結構描述

{
  "type": "object",
  "properties": {
    "age": {
      "type": "number",
      "minimum": 18,
      "maximum": 90,
      "description": "Age in years (18–90)."
    },
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "height_cm": {
      "type": "number",
      "minimum": 140,
      "maximum": 215,
      "description": "Height in cm."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    },
    "activity_level": {
      "type": "string",
      "enum": [
        "sedentary",
        "light",
        "moderate",
        "active",
        "very_active"
      ],
      "description": "Typical activity level."
    },
    "goal": {
      "type": "string",
      "enum": [
        "fat_loss_aggressive",
        "fat_loss_moderate",
        "maintenance",
        "lean_gain"
      ],
      "description": "Goal: -20%, -15%, 0% or +10% of maintenance."
    }
  },
  "required": [
    "age",
    "sex",
    "height_cm",
    "weight_kg",
    "activity_level",
    "goal"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢daily_protein_range(weight_kg, meals_per_day)

Daily protein of 1.6–2.2 g per kg bodyweight and the per-meal split (the public Bodywise protein calculator page, /hub/protein-calculator). Prefer this over protein_calculator when matching the website.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 30,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "meals_per_day": {
      "default": 4,
      "description": "Meals per day (2–6, default 4).",
      "type": "integer",
      "minimum": 2,
      "maximum": 6
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢protein_calculator(weight_kg, goal, lean_mass_kg)

Older goal-based daily protein range (fat_loss, hypertrophy, maintenance, endurance; optional lean mass), kept for backwards compatibility. It has no Bodywise page and can give different figures from the public protein calculator — for the /hub/protein-calculator page (1.6–2.2 g/kg) call daily_protein_range instead.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    },
    "goal": {
      "default": "hypertrophy",
      "description": "Goal: fat_loss, hypertrophy, maintenance or endurance.",
      "type": "string",
      "enum": [
        "fat_loss",
        "hypertrophy",
        "maintenance",
        "endurance"
      ]
    },
    "lean_mass_kg": {
      "description": "Optional fat-free mass in kg; used for hypertrophy and fat_loss.",
      "type": "number",
      "minimum": 20,
      "maximum": 180
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢macro_calculator(sex, age, height_cm, weight_kg, activity, ...)

The public Bodywise macro calculator page (/macro-calculator): maintenance calories (Mifflin-St Jeor × activity multiplier), a goal target (build +300 kcal, maintain 0, lean −400; never below 1,200 kcal) and daily protein, fat and carb grams. No email is needed or accepted.

輸入結構描述

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "age": {
      "type": "number",
      "minimum": 18,
      "maximum": 90,
      "description": "Age in years (18–90)."
    },
    "height_cm": {
      "type": "number",
      "minimum": 120,
      "maximum": 220,
      "description": "Height in cm."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 30,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "activity": {
      "type": "number",
      "minimum": 1.2,
      "maximum": 1.9,
      "description": "Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9."
    },
    "goal": {
      "type": "string",
      "enum": [
        "build",
        "maintain",
        "lean"
      ],
      "description": "build (build muscle), maintain (stay the same weight) or lean (lose fat, keep muscle)."
    }
  },
  "required": [
    "sex",
    "age",
    "height_cm",
    "weight_kg",
    "activity",
    "goal"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢protein_distribution_calculator(weight_kg, daily_protein_target_g, meals_per_day)

Split a daily protein target across meals and compare each meal with 0.4 g per kg of bodyweight.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    },
    "daily_protein_target_g": {
      "type": "number",
      "minimum": 20,
      "maximum": 400,
      "description": "Daily protein target in grams."
    },
    "meals_per_day": {
      "default": 4,
      "description": "Meals per day (3–6, default 4).",
      "type": "integer",
      "minimum": 3,
      "maximum": 6
    }
  },
  "required": [
    "weight_kg",
    "daily_protein_target_g"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢one_rep_max(weight_kg, reps, rir)

Estimate a 1RM (Epley, counting reps in reserve) and working weights from a completed set.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 5,
      "maximum": 250,
      "description": "Weight lifted in kg."
    },
    "reps": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Repetitions completed."
    },
    "rir": {
      "type": "integer",
      "minimum": 0,
      "maximum": 4,
      "description": "Reps in reserve (0–4)."
    }
  },
  "required": [
    "weight_kg",
    "reps",
    "rir"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢rpe_rir_calculator(estimated_1rm_kg, known_weight_kg, reps_performed, rir, target_reps, ...)

Working weight for a target number of reps at a target RPE or reps in reserve (Epley model).

輸入結構描述

{
  "type": "object",
  "properties": {
    "estimated_1rm_kg": {
      "description": "Known or estimated 1RM in kg. Or give known_weight_kg + reps_performed.",
      "type": "number",
      "minimum": 5,
      "maximum": 400
    },
    "known_weight_kg": {
      "description": "Weight of a completed set in kg.",
      "type": "number",
      "minimum": 5,
      "maximum": 400
    },
    "reps_performed": {
      "description": "Reps completed in that set.",
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    },
    "rir": {
      "description": "Reps in reserve on that set (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 4
    },
    "target_reps": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Target reps."
    },
    "target_rir": {
      "default": 2,
      "description": "Target reps in reserve (default 2, i.e. RPE 8).",
      "type": "integer",
      "minimum": 0,
      "maximum": 4
    }
  },
  "required": [
    "target_reps"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢fat_free_mass_index(height_cm, weight_kg, body_fat_percent)

Calculate fat-free mass, FFMI and height-normalised FFMI (Kouri et al., 1995).

輸入結構描述

{
  "type": "object",
  "properties": {
    "height_cm": {
      "type": "number",
      "minimum": 140,
      "maximum": 215,
      "description": "Height in cm."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    },
    "body_fat_percent": {
      "type": "number",
      "minimum": 3,
      "maximum": 50,
      "description": "Body fat percentage."
    }
  },
  "required": [
    "height_cm",
    "weight_kg",
    "body_fat_percent"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢fat_loss_timeline_calculator(current_weight_kg, current_body_fat_pct, target_body_fat_pct, rate_of_loss_pct_per_week)

Projected weeks and daily deficit to reach a target body-fat percentage, assuming all loss is fat (~7,700 kcal/kg).

輸入結構描述

{
  "type": "object",
  "properties": {
    "current_weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 250,
      "description": "Current bodyweight in kg."
    },
    "current_body_fat_pct": {
      "type": "number",
      "minimum": 6,
      "maximum": 60,
      "description": "Current body fat %."
    },
    "target_body_fat_pct": {
      "type": "number",
      "minimum": 5,
      "maximum": 59,
      "description": "Target body fat %, below the current figure."
    },
    "rate_of_loss_pct_per_week": {
      "default": 0.75,
      "description": "Weekly loss as % of bodyweight (0.5–1, default 0.75).",
      "type": "number",
      "minimum": 0.5,
      "maximum": 1
    }
  },
  "required": [
    "current_weight_kg",
    "current_body_fat_pct",
    "target_body_fat_pct"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢lift_balance_calculator(bench_press_kg, squat_kg, deadlift_kg, overhead_press_kg)

Squat, deadlift and overhead press as percentages of bench press. Descriptive only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "bench_press_kg": {
      "type": "number",
      "minimum": 10,
      "maximum": 400,
      "description": "Bench press in kg."
    },
    "squat_kg": {
      "description": "Squat in kg.",
      "type": "number",
      "minimum": 10,
      "maximum": 500
    },
    "deadlift_kg": {
      "description": "Deadlift in kg.",
      "type": "number",
      "minimum": 10,
      "maximum": 500
    },
    "overhead_press_kg": {
      "description": "Overhead press in kg.",
      "type": "number",
      "minimum": 5,
      "maximum": 300
    }
  },
  "required": [
    "bench_press_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢dots_wilks_calculator(weight_kg, sex, total_lifted_kg)

DOTS (IPF 2019) and original Wilks scores for a powerlifting total at a given bodyweight.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 210,
      "description": "Bodyweight in kg."
    },
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "total_lifted_kg": {
      "type": "number",
      "minimum": 20,
      "maximum": 1500,
      "description": "Squat + bench + deadlift total in kg."
    }
  },
  "required": [
    "weight_kg",
    "sex",
    "total_lifted_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢creatine_dosing_calculator(weight_kg)

Creatine monohydrate maintenance (3–5 g/day) and optional loading dose (~0.3 g/kg/day for 5–7 days).

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 40,
      "maximum": 180,
      "description": "Bodyweight in kg."
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢ipf_gl_points_calculator(weight_kg, sex, total_lifted_kg)

IPF GL points (IPF 2020 classic three-lift coefficients) for a squat + bench + deadlift total at a given bodyweight.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 35,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Sex assigned at birth."
    },
    "total_lifted_kg": {
      "type": "number",
      "minimum": 20,
      "maximum": 1500,
      "description": "Squat + bench + deadlift total in kg."
    }
  },
  "required": [
    "weight_kg",
    "sex",
    "total_lifted_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢strength_to_bodyweight_calculator(weight_kg, squat_kg, bench_press_kg, deadlift_kg, overhead_press_kg)

Each lift as a plain multiple of bodyweight. Descriptive only; it never labels a lifter's level.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 35,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "squat_kg": {
      "description": "Squat in kg.",
      "type": "number",
      "minimum": 1,
      "maximum": 500
    },
    "bench_press_kg": {
      "description": "Bench press in kg.",
      "type": "number",
      "minimum": 1,
      "maximum": 400
    },
    "deadlift_kg": {
      "description": "Deadlift in kg.",
      "type": "number",
      "minimum": 1,
      "maximum": 500
    },
    "overhead_press_kg": {
      "description": "Overhead press in kg.",
      "type": "number",
      "minimum": 1,
      "maximum": 300
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢barbell_warm_up_calculator(working_weight_kg, bar_kg)

Warm-up sets at about 40, 55, 70 and 85% of a working weight, then the working weight, with plates per side (plates 25–1.25 kg).

輸入結構描述

{
  "type": "object",
  "properties": {
    "working_weight_kg": {
      "type": "number",
      "minimum": 20,
      "maximum": 500,
      "description": "Working weight in kg."
    },
    "bar_kg": {
      "default": 20,
      "description": "Bar weight: 20 or 15 kg.",
      "anyOf": [
        {
          "type": "number",
          "const": 20
        },
        {
          "type": "number",
          "const": 15
        }
      ]
    }
  },
  "required": [
    "working_weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢lean_bulking_rate_calculator(weight_kg, weeks)

Weekly and monthly weight gain at 0.25–0.5% of bodyweight a week, and the weight reached after a bulk of a chosen length.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 35,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "weeks": {
      "default": 12,
      "description": "Length of the bulk in weeks (1–52, default 12).",
      "type": "integer",
      "minimum": 1,
      "maximum": 52
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢double_progression_calculator(weight_kg, rep_min, rep_max, reps_achieved, equipment, ...)

Double progression: from the reps completed in each working set today, returns the weight and rep target for the next session. Weight only goes up once every set reaches the top of the rep range.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 1,
      "maximum": 500,
      "description": "Weight used today in kg."
    },
    "rep_min": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "description": "Bottom of the rep range."
    },
    "rep_max": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "description": "Top of the rep range."
    },
    "reps_achieved": {
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 60
      },
      "description": "Reps completed in each working set, in order."
    },
    "equipment": {
      "default": "barbell",
      "description": "Used to pick the smallest realistic weight step.",
      "type": "string",
      "enum": [
        "barbell",
        "dumbbell",
        "machine"
      ]
    },
    "step_kg": {
      "description": "Override the weight step in kg.",
      "type": "number",
      "minimum": 0.5,
      "maximum": 25
    }
  },
  "required": [
    "weight_kg",
    "rep_min",
    "rep_max",
    "reps_achieved"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢dumbbell_barbell_converter(direction, lift, weight_kg)

Converts dumbbell and barbell loads. The total is arithmetic for any lift. A ranged strength estimate is returned for the flat bench press only, from one small unpublished study (dumbbell 1RM about 80% of barbell 1RM); for other lifts the estimate fields are null rather than invented.

輸入結構描述

{
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "enum": [
        "dumbbell_to_barbell",
        "barbell_to_dumbbell"
      ],
      "description": "Which way to convert."
    },
    "lift": {
      "type": "string",
      "enum": [
        "bench_press",
        "incline_press",
        "overhead_press",
        "row"
      ],
      "description": "Lift."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 1,
      "maximum": 400,
      "description": "Dumbbell weight per hand, or the loaded barbell including the bar."
    }
  },
  "required": [
    "direction",
    "lift",
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢weekly_volume_auditor(chest, back, quads, hamstrings, shoulders, ...)

Describes weekly hard sets per muscle group against the roughly 10-or-more weekly sets the 2026 ACSM position stand favoured. Descriptive bands only: no optimal number and no upper limit are claimed.

輸入結構描述

{
  "type": "object",
  "properties": {
    "chest": {
      "default": 0,
      "description": "Weekly hard sets, chest.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "back": {
      "default": 0,
      "description": "Weekly hard sets, back.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "quads": {
      "default": 0,
      "description": "Weekly hard sets, quads.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "hamstrings": {
      "default": 0,
      "description": "Weekly hard sets, hamstrings.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "shoulders": {
      "default": 0,
      "description": "Weekly hard sets, shoulders.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "biceps": {
      "default": 0,
      "description": "Weekly hard sets, biceps.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    },
    "triceps": {
      "default": 0,
      "description": "Weekly hard sets, triceps.",
      "type": "integer",
      "minimum": 0,
      "maximum": 60
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢rest_between_sets_calculator(exercise_type, goal)

A rest window in seconds for an exercise type and goal, with the evidence caveats. Not a proven optimum.

輸入結構描述

{
  "type": "object",
  "properties": {
    "exercise_type": {
      "type": "string",
      "enum": [
        "heavy_compound",
        "other_compound",
        "isolation"
      ],
      "description": "Exercise type."
    },
    "goal": {
      "default": "muscle",
      "description": "Training goal.",
      "type": "string",
      "enum": [
        "muscle",
        "strength"
      ]
    }
  },
  "required": [
    "exercise_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢bulking_stall_calculator(weight_kg, weeks, weight_change_kg, current_kcal, weigh_ins)

Compares weekly weight change with a 0.25-0.5% of bodyweight a week monitoring range and suggests a calorie step. Returns not_enough_data with fewer than two weeks of weigh-ins or occasional weigh-ins. Never diagnoses a medical cause.

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 35,
      "maximum": 250,
      "description": "Bodyweight now in kg."
    },
    "weeks": {
      "type": "integer",
      "minimum": 1,
      "maximum": 26,
      "description": "Weeks of weigh-ins."
    },
    "weight_change_kg": {
      "type": "number",
      "minimum": -20,
      "maximum": 20,
      "description": "Weight change over those weeks in kg, negative for a loss."
    },
    "current_kcal": {
      "type": "number",
      "minimum": 1200,
      "maximum": 6000,
      "description": "Current intake in kcal a day."
    },
    "weigh_ins": {
      "default": "weekly",
      "description": "How often they weigh in.",
      "type": "string",
      "enum": [
        "daily",
        "weekly",
        "occasional"
      ]
    }
  },
  "required": [
    "weight_kg",
    "weeks",
    "weight_change_kg",
    "current_kcal"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢fat_calculator(weight_kg, g_per_kg, daily_kcal, percent_of_kcal)

Daily fat: 0.8 g per kg bodyweight by default (allowed 0.5–1.2 g/kg). Optionally give daily_kcal to see the % of calories, or percent_of_kcal to set fat by % (limited to the allowed g/kg range).

輸入結構描述

{
  "type": "object",
  "properties": {
    "weight_kg": {
      "type": "number",
      "minimum": 30,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "g_per_kg": {
      "description": "Fat g/kg (default 0.8).",
      "type": "number",
      "minimum": 0.5,
      "maximum": 1.2
    },
    "daily_kcal": {
      "description": "Daily calories.",
      "type": "number",
      "minimum": 1000,
      "maximum": 8000
    },
    "percent_of_kcal": {
      "description": "Fat as % of calories (needs daily_kcal).",
      "type": "number",
      "minimum": 1,
      "maximum": 99
    }
  },
  "required": [
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢carbohydrate_calculator(daily_kcal, protein_g, fat_g, training_days)

Carbohydrate grams = (daily kcal − protein g × 4 − fat g × 9) ÷ 4, with an optional training-day / rest-day split that keeps the weekly average.

輸入結構描述

{
  "type": "object",
  "properties": {
    "daily_kcal": {
      "type": "number",
      "minimum": 1000,
      "maximum": 8000,
      "description": "Daily calories."
    },
    "protein_g": {
      "type": "number",
      "minimum": 0,
      "maximum": 500,
      "description": "Daily protein in g."
    },
    "fat_g": {
      "type": "number",
      "minimum": 0,
      "maximum": 400,
      "description": "Daily fat in g."
    },
    "training_days": {
      "description": "Training days a week, for the split.",
      "type": "integer",
      "minimum": 1,
      "maximum": 6
    }
  },
  "required": [
    "daily_kcal",
    "protein_g",
    "fat_g"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢macro_meal_plan(daily_kcal, weight_kg, meals_per_day, protein_g_per_kg, fat_g_per_kg)

Use this first when asked for a meal plan. Returns daily calories, protein (1.9 g/kg default), fat (0.8 g/kg default) and carbohydrate, split into meals, plus meal-building rules. Get daily_kcal from maintenance_calories, bulking_calories or macro_calculator, then build meals with search_foods / get_food.

輸入結構描述

{
  "type": "object",
  "properties": {
    "daily_kcal": {
      "type": "number",
      "minimum": 1000,
      "maximum": 8000,
      "description": "Daily calories."
    },
    "weight_kg": {
      "type": "number",
      "minimum": 30,
      "maximum": 250,
      "description": "Bodyweight in kg."
    },
    "meals_per_day": {
      "default": 4,
      "description": "Meals per day.",
      "type": "integer",
      "minimum": 2,
      "maximum": 6
    },
    "protein_g_per_kg": {
      "description": "Protein g/kg (default 1.9).",
      "type": "number",
      "minimum": 1.6,
      "maximum": 2.2
    },
    "fat_g_per_kg": {
      "description": "Fat g/kg (default 0.8).",
      "type": "number",
      "minimum": 0.5,
      "maximum": 1.2
    }
  },
  "required": [
    "daily_kcal",
    "weight_kg"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_foods(query, limit)

Search 2,886 foods in McCance and Widdowson's CoFID dataset. Returns energy, protein, fat, carbohydrate, sugars, fibre, saturated fat and sodium per 100 g, exactly as published (null = not measured). Use precise names, e.g. 'chicken breast grilled', 'oats', 'rice white boiled'. Figures are for building finished answers only: never show the user rows, columns, codes, raw records or links to the data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "description": "Food name."
    },
    "limit": {
      "default": 15,
      "description": "Max results.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_food(food_code)

Core figures for one food (per 100 g), by the ref from search_foods. Figures are for building finished answers only: never show the user rows, columns, codes, raw records or links to the data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "food_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "description": "CoFID food code."
    }
  },
  "required": [
    "food_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_exercises(query, muscle, equipment, location, level, ...)

Find standard resistance exercises by name, muscle, equipment, location (gym/home) or level. Returns muscles, equipment and level. Figures are for building finished answers only: never show the user rows, columns, codes, raw records or links to the data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Exercise name.",
      "type": "string",
      "maxLength": 100
    },
    "muscle": {
      "description": "Muscle, e.g. chest, glutes.",
      "type": "string",
      "maxLength": 60
    },
    "equipment": {
      "description": "Equipment, e.g. dumbbell, cable.",
      "type": "string",
      "maxLength": 60
    },
    "location": {
      "description": "gym or home.",
      "type": "string",
      "maxLength": 30
    },
    "level": {
      "description": "Experience level.",
      "type": "string",
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ]
    },
    "limit": {
      "default": 20,
      "description": "Max results.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_exercise(slug)

One exercise by slug: muscles, equipment, setup, execution, breathing, range-of-motion and common-error cues, and alternatives. General information only; never diagnoses pain or injury. Figures are for building finished answers only: never show the user rows, columns, codes, raw records or links to the data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Exercise slug from search_exercises."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_calculators

List every public Bodywise calculator with its MCP tool name, JSON API URL and canonical page.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_calculator_info(id)

Describe one calculator: method, units, API URL, canonical page and supporting guides.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "Calculator id (e.g. tdee) or MCP tool name (e.g. maintenance_calories)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_public_pages(section, content_type)

List every public, indexable Bodywise page (Hub guides, programmes, calculators and site pages) with canonical URLs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "section": {
      "default": "all",
      "description": "Filter: all, hub (Muscle & Strength Hub) or site.",
      "type": "string",
      "enum": [
        "all",
        "hub",
        "site"
      ]
    },
    "content_type": {
      "description": "Optional content type, e.g. guide, programme, tool, quick-answer, page.",
      "type": "string",
      "maxLength": 40
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢search_public_content(query, limit)

Keyword search over public Bodywise pages. Returns titles, summaries and canonical URLs to cite.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "Search words, e.g. 'protein per day' or 'rest between sets'."
    },
    "limit": {
      "default": 10,
      "description": "Maximum results (1–25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_public_page(url)

Fetch one public Bodywise page by URL or path: metadata, references and clean Markdown text. Private, account and admin pages are refused.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "A bodywise.io URL or path, e.g. /hub/how-much-protein-to-build-muscle."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本35 個工具