Bodywise Fitness and Nutrition
by bodywise.io · remote · no sign-in to list tools · v1.0.0 · published by io.bodywise
Public fitness and nutrition calculators, exercise information, and evidence-based guides.
35 tools: 24 change things and 11 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things24Claude Code: ask: see these tools
- Only reads11Claude Code: allow: see these tools
6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http bodywise https://bodywise.io/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Highsearch_foods
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
- Highget_food
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
- Highsearch_exercises
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
- Highget_exercise
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
The server marks "dumbbell_barbell_converter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "convert": a word for a change.
The server marks "rest_between_sets_calculator" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "rest_between_sets_calculator" says "set": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
35 tools
Changes things 24Claude Code: ask
barbell_warm_up_calculatorWarm-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).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
bulking_caloriesMaintenance calories plus the 10–15% lean-gain starting surplus and a weekly gain guide (the Bodywise bulking calorie calculator).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Maintenance calories plus the 10–15% lean-gain starting surplus and a weekly gain guide (the Bodywise bulking calorie calculator).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
calorie_calculatorOlder calculator kept for backwards compatibility: maintenance (Mifflin-St Jeor × named activity level) times 0.80, 0.85, 1.00 or 1.10 by goal.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
carbohydrate_calculatorCarbohydrate grams = (daily kcal − protein g × 4 − fat g × 9) ÷ 4, with an optional training-day / rest-day split that keeps the weekly average.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Carbohydrate grams = (daily kcal − protein g × 4 − fat g × 9) ÷ 4, with an optional training-day / rest-day split that keeps the weekly average.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
creatine_dosing_calculatorCreatine monohydrate maintenance (3–5 g/day) and optional loading dose (~0.3 g/kg/day for 5–7 days).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Creatine monohydrate maintenance (3–5 g/day) and optional loading dose (~0.3 g/kg/day for 5–7 days).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
daily_protein_rangeDaily protein of 1.6–2.2 g per kg bodyweight and the per-meal split (the public Bodywise protein calculator page, /hub/protein-calculator).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
dots_wilks_calculatorDOTS (IPF 2019) and original Wilks scores for a powerlifting total at a given bodyweight.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it DOTS (IPF 2019) and original Wilks scores for a powerlifting total at a given bodyweight.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
double_progression_calculatorDouble progression: from the reps completed in each working set today, returns the weight and rep target for the next session.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
dumbbell_barbell_converterConverts dumbbell and barbell loads.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "dumbbell_barbell_converter" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
fat_calculatorDaily fat: 0.8 g per kg bodyweight by default (allowed 0.5–1.2 g/kg).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
fat_free_mass_indexCalculate fat-free mass, FFMI and height-normalised FFMI (Kouri et al., 1995).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate fat-free mass, FFMI and height-normalised FFMI (Kouri et al., 1995).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
fat_loss_timeline_calculatorProjected weeks and daily deficit to reach a target body-fat percentage, assuming all loss is fat (~7,700 kcal/kg).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Projected weeks and daily deficit to reach a target body-fat percentage, assuming all loss is fat (~7,700 kcal/kg).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
ipf_gl_points_calculatorIPF GL points (IPF 2020 classic three-lift coefficients) for a squat + bench + deadlift total at a given bodyweight.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it IPF GL points (IPF 2020 classic three-lift coefficients) for a squat + bench + deadlift total at a given bodyweight.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
lean_bulking_rate_calculatorWeekly and monthly weight gain at 0.25–0.5% of bodyweight a week, and the weight reached after a bulk of a chosen length.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
lift_balance_calculatorSquat, deadlift and overhead press as percentages of bench press.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Squat, deadlift and overhead press as percentages of bench press. Descriptive only.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
macro_calculatorThe public Bodywise macro calculator page (/macro-calculator): maintenance calories (Mifflin-St Jeor × activity multiplier), a goal target (build +300 kcal, maintain 0, lean −400; …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
macro_meal_planUse this first when asked for a meal plan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
maintenance_caloriesEstimate daily maintenance calories (Mifflin-St Jeor × activity multiplier) for an adult.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate daily maintenance calories (Mifflin-St Jeor × activity multiplier) for an adult.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
one_rep_maxEstimate a 1RM (Epley, counting reps in reserve) and working weights from a completed set.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate a 1RM (Epley, counting reps in reserve) and working weights from a completed set.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
protein_calculatorOlder goal-based daily protein range (fat_loss, hypertrophy, maintenance, endurance; optional lean mass), kept for backwards compatibility.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
protein_distribution_calculatorSplit a daily protein target across meals and compare each meal with 0.4 g per kg of bodyweight.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Split a daily protein target across meals and compare each meal with 0.4 g per kg of bodyweight.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
rest_between_sets_calculatorA rest window in seconds for an exercise type and goal, with the evidence caveats.1 finding
Why it is in this group
- The name "rest_between_sets_calculator" says "set": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "rest_between_sets_calculator" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "rest_between_sets_calculator" says "set": a word for a change.
Description, as the server wrote it A rest window in seconds for an exercise type and goal, with the evidence caveats. Not a proven optimum.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
rpe_rir_calculatorWorking weight for a target number of reps at a target RPE or reps in reserve (Epley model).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Working weight for a target number of reps at a target RPE or reps in reserve (Epley model).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
strength_to_bodyweight_calculatorEach lift as a plain multiple of bodyweight.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Each lift as a plain multiple of bodyweight. Descriptive only; it never labels a lifter's level.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
Only reads 11Claude Code: allow
bulking_stall_calculatorCompares weekly weight change with a 0.25-0.5% of bodyweight a week monitoring range and suggests a calorie step.No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
get_calculator_infoDescribe one calculator: method, units, API URL, canonical page and supporting guides.No findings
Why it is in this group
- The name "get_calculator_info" says "get": a word for reading.
Description, as the server wrote it Describe one calculator: method, units, API URL, canonical page and supporting guides.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
get_exerciseOne exercise by slug: muscles, equipment, setup, execution, breathing, range-of-motion and common-error cues, and alternatives.1 finding
Why it is in this group
- The name "get_exercise" says "get": a word for reading.
Findings
- High
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
get_foodCore figures for one food (per 100 g), by the ref from search_foods.1 finding
Why it is in this group
- The name "get_food" says "get": a word for reading.
Findings
- High
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
get_public_pageFetch one public Bodywise page by URL or path: metadata, references and clean Markdown text.No findings
Why it is in this group
- The name "get_public_page" says "get": a word for reading.
Description, as the server wrote it Fetch one public Bodywise page by URL or path: metadata, references and clean Markdown text. Private, account and admin pages are refused.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
list_calculatorsList every public Bodywise calculator with its MCP tool name, JSON API URL and canonical page.No findings
Why it is in this group
- The name "list_calculators" says "list": a word for reading.
Description, as the server wrote it List every public Bodywise calculator with its MCP tool name, JSON API URL and canonical page.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
list_public_pagesList every public, indexable Bodywise page (Hub guides, programmes, calculators and site pages) with canonical URLs.No findings
Why it is in this group
- The name "list_public_pages" says "list": a word for reading.
Description, as the server wrote it List every public, indexable Bodywise page (Hub guides, programmes, calculators and site pages) with canonical URLs.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
search_exercisesFind standard resistance exercises by name, muscle, equipment, location (gym/home) or level.1 finding
Why it is in this group
- The name "search_exercises" says "search": a word for reading.
Findings
- High
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
search_foodsSearch 2,886 foods in McCance and Widdowson's CoFID dataset.1 finding
Why it is in this group
- The name "search_foods" says "search": a word for reading.
Findings
- High
The description contains "never show the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...are for building finished answers only: never show the user rows, columns, codes, raw records or li..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
search_public_contentKeyword search over public Bodywise pages.No findings
Why it is in this group
- The name "search_public_content" says "search": a word for reading.
Description, as the server wrote it Keyword search over public Bodywise pages. Returns titles, summaries and canonical URLs to cite.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
weekly_volume_auditorDescribes weekly hard sets per muscle group against the roughly 10-or-more weekly sets the 2026 ACSM position stand favoured.No findings
Why it is in this group
- The description's first verb is "describe": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http bodywise https://bodywise.io/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__bodywise__weekly_volume_auditor",
"mcp__bodywise__bulking_stall_calculator",
"mcp__bodywise__search_foods",
"mcp__bodywise__get_food",
"mcp__bodywise__search_exercises",
"mcp__bodywise__get_exercise",
"mcp__bodywise__list_calculators",
"mcp__bodywise__get_calculator_info",
"mcp__bodywise__list_public_pages",
"mcp__bodywise__search_public_content",
"mcp__bodywise__get_public_page"
],
"ask": [
"mcp__bodywise__maintenance_calories",
"mcp__bodywise__bulking_calories",
"mcp__bodywise__calorie_calculator",
"mcp__bodywise__daily_protein_range",
"mcp__bodywise__protein_calculator",
"mcp__bodywise__macro_calculator",
"mcp__bodywise__protein_distribution_calculator",
"mcp__bodywise__one_rep_max",
"mcp__bodywise__rpe_rir_calculator",
"mcp__bodywise__fat_free_mass_index",
"mcp__bodywise__fat_loss_timeline_calculator",
"mcp__bodywise__lift_balance_calculator",
"mcp__bodywise__dots_wilks_calculator",
"mcp__bodywise__creatine_dosing_calculator",
"mcp__bodywise__ipf_gl_points_calculator",
"mcp__bodywise__strength_to_bodyweight_calculator",
"mcp__bodywise__barbell_warm_up_calculator",
"mcp__bodywise__lean_bulking_rate_calculator",
"mcp__bodywise__double_progression_calculator",
"mcp__bodywise__dumbbell_barbell_converter",
"mcp__bodywise__rest_between_sets_calculator",
"mcp__bodywise__fat_calculator",
"mcp__bodywise__carbohydrate_calculator",
"mcp__bodywise__macro_meal_plan"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as bodywise. Review it before you use it.