# Bodywise Fitness and Nutrition (remote · bodywise.io)

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

- Trust score: 75/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `bodywise.io`: 75/100 (this document), [markdown](https://verifymcp.io/servers/io-bodywise-mcp/api-mcp.md), [page](https://verifymcp.io/servers/io-bodywise-mcp/api-mcp)

## Channel facts

- Endpoint: `https://bodywise.io/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3802 tokens (~108/item across 35 items; 35 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 35 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 36 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Bodywise Fitness and Nutrition MCP server?

Bodywise Fitness and Nutrition is a hosted endpoint at https://bodywise.io/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-bodywise-mcp 'https://bodywise.io/api/mcp'
```

### Cursor

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

### VS Code

```json
{
  "servers": {
    "io-bodywise-mcp": {
      "type": "http",
      "url": "https://bodywise.io/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-bodywise-mcp]
url = "https://bodywise.io/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-bodywise-mcp": {
      "type": "remote",
      "url": "https://bodywise.io/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-bodywise-mcp --url 'https://bodywise.io/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-bodywise-mcp:
    url: "https://bodywise.io/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-bodywise-mcp": {
      "Transport": "http",
      "Url": "https://bodywise.io/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-bodywise-mcp -t streamable-http -u 'https://bodywise.io/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-bodywise-mcp": {
      "type": "http",
      "url": "https://bodywise.io/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 73, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-19 (score 73)

First indexed and scored.

## MCP tools (35)

### `maintenance_calories` (~112 tokens)

Maintenance calories

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

Input parameters:

- `activity` (number, required): Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9.
- `age` (number, required): Age in years (18–90).
- `height_cm` (number, required): Height in cm.
- `sex` (string, required): Sex assigned at birth.
- `weight_kg` (number, required): Bodyweight in kg.

### `bulking_calories` (~121 tokens)

Bulking calories

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

Input parameters:

- `activity` (number, required): Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9.
- `age` (number, required): Age in years (18–90).
- `height_cm` (number, required): Height in cm.
- `sex` (string, required): Sex assigned at birth.
- `weight_kg` (number, required): Bodyweight in kg.

### `calorie_calculator` (~197 tokens)

Goal calorie target by percentage (legacy)

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.

Input parameters:

- `activity_level` (string, required): Typical activity level.
- `age` (number, required): Age in years (18–90).
- `goal` (string, required): Goal: -20%, -15%, 0% or +10% of maintenance.
- `height_cm` (number, required): Height in cm.
- `sex` (string, required): Sex assigned at birth.
- `weight_kg` (number, required): Bodyweight in kg.

### `daily_protein_range` (~92 tokens)

Daily protein range

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.

Input parameters:

- `meals_per_day` (integer): Meals per day (2–6, default 4).
- `weight_kg` (number, required): Bodyweight in kg.

### `protein_calculator` (~134 tokens)

Protein target by goal (legacy)

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.

Input parameters:

- `goal` (string): Goal: fat_loss, hypertrophy, maintenance or endurance.
- `lean_mass_kg` (number): Optional fat-free mass in kg; used for hypertrophy and fat_loss.
- `weight_kg` (number, required): Bodyweight in kg.

### `macro_calculator` (~186 tokens)

Macro calculator

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.

Input parameters:

- `activity` (number, required): Activity multiplier: 1.2, 1.375, 1.55, 1.725 or 1.9.
- `age` (number, required): Age in years (18–90).
- `goal` (string, required): build (build muscle), maintain (stay the same weight) or lean (lose fat, keep muscle).
- `height_cm` (number, required): Height in cm.
- `sex` (string, required): Sex assigned at birth.
- `weight_kg` (number, required): Bodyweight in kg.

### `protein_distribution_calculator` (~82 tokens)

Protein per meal

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

Input parameters:

- `daily_protein_target_g` (number, required): Daily protein target in grams.
- `meals_per_day` (integer): Meals per day (3–6, default 4).
- `weight_kg` (number, required): Bodyweight in kg.

### `one_rep_max` (~71 tokens)

One-rep max and working weights

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

Input parameters:

- `reps` (integer, required): Repetitions completed.
- `rir` (integer, required): Reps in reserve (0–4).
- `weight_kg` (number, required): Weight lifted in kg.

### `rpe_rir_calculator` (~152 tokens)

RPE / RIR working weight

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

Input parameters:

- `estimated_1rm_kg` (number): Known or estimated 1RM in kg. Or give known_weight_kg + reps_performed.
- `known_weight_kg` (number): Weight of a completed set in kg.
- `reps_performed` (integer): Reps completed in that set.
- `rir` (integer): Reps in reserve on that set (default 0).
- `target_reps` (integer, required): Target reps.
- `target_rir` (integer): Target reps in reserve (default 2, i.e. RPE 8).

### `fat_free_mass_index` (~70 tokens)

Fat-free mass index

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

Input parameters:

- `body_fat_percent` (number, required): Body fat percentage.
- `height_cm` (number, required): Height in cm.
- `weight_kg` (number, required): Bodyweight in kg.

### `fat_loss_timeline_calculator` (~118 tokens)

Fat-loss timeline

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

Input parameters:

- `current_body_fat_pct` (number, required): Current body fat %.
- `current_weight_kg` (number, required): Current bodyweight in kg.
- `rate_of_loss_pct_per_week` (number): Weekly loss as % of bodyweight (0.5–1, default 0.75).
- `target_body_fat_pct` (number, required): Target body fat %, below the current figure.

### `lift_balance_calculator` (~84 tokens)

Lift ratios

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

Input parameters:

- `bench_press_kg` (number, required): Bench press in kg.
- `deadlift_kg` (number): Deadlift in kg.
- `overhead_press_kg` (number): Overhead press in kg.
- `squat_kg` (number): Squat in kg.

### `dots_wilks_calculator` (~83 tokens)

DOTS and Wilks scores

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

Input parameters:

- `sex` (string, required): Sex assigned at birth.
- `total_lifted_kg` (number, required): Squat + bench + deadlift total in kg.
- `weight_kg` (number, required): Bodyweight in kg.

### `creatine_dosing_calculator` (~57 tokens)

Creatine dosing

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

Input parameters:

- `weight_kg` (number, required): Bodyweight in kg.

### `ipf_gl_points_calculator` (~89 tokens)

IPF GL points

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

Input parameters:

- `sex` (string, required): Sex assigned at birth.
- `total_lifted_kg` (number, required): Squat + bench + deadlift total in kg.
- `weight_kg` (number, required): Bodyweight in kg.

### `strength_to_bodyweight_calculator` (~104 tokens)

Strength to bodyweight

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

Input parameters:

- `bench_press_kg` (number): Bench press in kg.
- `deadlift_kg` (number): Deadlift in kg.
- `overhead_press_kg` (number): Overhead press in kg.
- `squat_kg` (number): Squat in kg.
- `weight_kg` (number, required): Bodyweight in kg.

### `barbell_warm_up_calculator` (~84 tokens)

Barbell warm-up sets

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

Input parameters:

- `bar_kg`: Bar weight: 20 or 15 kg.
- `working_weight_kg` (number, required): Working weight in kg.

### `lean_bulking_rate_calculator` (~80 tokens)

Lean bulking rate

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.

Input parameters:

- `weeks` (integer): Length of the bulk in weeks (1–52, default 12).
- `weight_kg` (number, required): Bodyweight in kg.

### `double_progression_calculator` (~140 tokens)

Next set weight

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.

Input parameters:

- `equipment` (string): Used to pick the smallest realistic weight step.
- `rep_max` (integer, required): Top of the rep range.
- `rep_min` (integer, required): Bottom of the rep range.
- `reps_achieved` (array, required): Reps completed in each working set, in order.
- `step_kg` (number): Override the weight step in kg.
- `weight_kg` (number, required): Weight used today in kg.

### `dumbbell_barbell_converter` (~117 tokens)

Dumbbell to barbell converter

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.

Input parameters:

- `direction` (string, required): Which way to convert.
- `lift` (string, required): Lift.
- `weight_kg` (number, required): Dumbbell weight per hand, or the loaded barbell including the bar.

### `weekly_volume_auditor` (~146 tokens)

Weekly sets per muscle

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.

Input parameters:

- `back` (integer): Weekly hard sets, back.
- `biceps` (integer): Weekly hard sets, biceps.
- `chest` (integer): Weekly hard sets, chest.
- `hamstrings` (integer): Weekly hard sets, hamstrings.
- `quads` (integer): Weekly hard sets, quads.
- `shoulders` (integer): Weekly hard sets, shoulders.
- `triceps` (integer): Weekly hard sets, triceps.

### `rest_between_sets_calculator` (~53 tokens)

Rest between sets

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

Input parameters:

- `exercise_type` (string, required): Exercise type.
- `goal` (string): Training goal.

### `bulking_stall_calculator` (~140 tokens)

Why am I not gaining weight?

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.

Input parameters:

- `current_kcal` (number, required): Current intake in kcal a day.
- `weeks` (integer, required): Weeks of weigh-ins.
- `weigh_ins` (string): How often they weigh in.
- `weight_change_kg` (number, required): Weight change over those weeks in kg, negative for a loss.
- `weight_kg` (number, required): Bodyweight now in kg.

### `fat_calculator` (~131 tokens)

Fat calculator

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

Input parameters:

- `daily_kcal` (number): Daily calories.
- `g_per_kg` (number): Fat g/kg (default 0.8).
- `percent_of_kcal` (number): Fat as % of calories (needs daily_kcal).
- `weight_kg` (number, required): Bodyweight in kg.

### `carbohydrate_calculator` (~101 tokens)

Carbohydrate calculator

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

Input parameters:

- `daily_kcal` (number, required): Daily calories.
- `fat_g` (number, required): Daily fat in g.
- `protein_g` (number, required): Daily protein in g.
- `training_days` (integer): Training days a week, for the split.

### `macro_meal_plan` (~159 tokens)

Macro plan with per-meal targets

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.

Input parameters:

- `daily_kcal` (number, required): Daily calories.
- `fat_g_per_kg` (number): Fat g/kg (default 0.8).
- `meals_per_day` (integer): Meals per day.
- `protein_g_per_kg` (number): Protein g/kg (default 1.9).
- `weight_kg` (number, required): Bodyweight in kg.

### `search_foods` (~126 tokens)

Search UK food composition data (CoFID)

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.

Input parameters:

- `limit` (integer): Max results.
- `query` (string, required): Food name.

### `get_food` (~65 tokens)

Food nutrients (CoFID)

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.

Input parameters:

- `food_code` (string, required): CoFID food code.

### `search_exercises` (~130 tokens)

Search the Bodywise exercise library

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.

Input parameters:

- `equipment` (string): Equipment, e.g. dumbbell, cable.
- `level` (string): Experience level.
- `limit` (integer): Max results.
- `location` (string): gym or home.
- `muscle` (string): Muscle, e.g. chest, glutes.
- `query` (string): Exercise name.

### `get_exercise` (~84 tokens)

Exercise details and cues

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.

Input parameters:

- `slug` (string, required): Exercise slug from search_exercises.

### `list_calculators` (~29 tokens)

List calculators

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

### `get_calculator_info` (~54 tokens)

Get calculator info

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

Input parameters:

- `id` (string, required): Calculator id (e.g. tdee) or MCP tool name (e.g. maintenance_calories).

### `list_public_pages` (~79 tokens)

List public pages

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

Input parameters:

- `content_type` (string): Optional content type, e.g. guide, programme, tool, quick-answer, page.
- `section` (string): Filter: all, hub (Muscle & Strength Hub) or site.

### `search_public_content` (~63 tokens)

Search public content

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

Input parameters:

- `limit` (integer): Maximum results (1–25).
- `query` (string, required): Search words, e.g. 'protein per day' or 'rest between sets'.

### `get_public_page` (~66 tokens)

Get public page

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

Input parameters:

- `url` (string, required): A bodywise.io URL or path, e.g. /hub/how-much-protein-to-build-muscle.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-bodywise-mcp/api-mcp#diagnostics

## Score history

- 2026-10-24: 75
- 2026-10-23: 75
- 2026-10-22: 74
- 2026-10-21: 74
- 2026-10-20: 73
- 2026-10-19: 73

## Common questions

### What is the Bodywise Fitness and Nutrition MCP server?

Bodywise Fitness and Nutrition is an MCP server listed in the public MCP registry as io.bodywise/mcp. Public fitness and nutrition calculators, exercise information, and evidence-based guides. This page covers its hosted endpoint (https://bodywise.io/api/mcp).

### Is the Bodywise Fitness and Nutrition MCP server safe to use?

Bodywise Fitness and Nutrition scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Bodywise Fitness and Nutrition MCP server expose?

Bodywise Fitness and Nutrition exposes 35 tools: maintenance_calories, bulking_calories, calorie_calculator, daily_protein_range, protein_calculator, and 30 more. Their descriptions and schemas cost roughly 3,599 tokens of context every time the server is loaded.

### Does the Bodywise Fitness and Nutrition MCP server require authentication?

No. We connected to Bodywise Fitness and Nutrition without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Bodywise Fitness and Nutrition MCP server still maintained?

Bodywise Fitness and Nutrition is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://bodywise.io/api/mcp
- Website: https://bodywise.io/
- Changelog RSS feed: https://verifymcp.io/servers/io-bodywise-mcp/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-bodywise-mcp/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/io-bodywise-mcp/api-mcp
