mquickcalc-health
This server provides 15 evidence-based health and fitness calculators that AI agents can call directly.
Body composition: BMI (WHO/Asian), reverse BMI target weight, ideal weight, lean mass, body fat % (US Navy)
Energy & metabolism: BMR (Mifflin-St Jeor), TDEE with activity multipliers, daily calorie targets for maintain/lose/gain, safe calorie deficit
Nutrition: Daily protein needs, macro split calculator (protein/carbs/fat), kilojoules ↔ calories conversion
Fitness & performance: One-rep max estimates (Brzycki/Epley), target heart rate zones (Karvonen), VO2 max estimation
Running & sleep: Running pace per km, race time projections, recommended bedtime based on sleep cycles, weekly sleep debt recovery
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mquickcalc-healthCalculate BMI for 70 kg and 170 cm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mQuickCalc Health MCP Server
Calculate BMI, BMR, TDEE, macros, body fat, running pace, heart rate zones, and more — directly inside your AI agent.
From personalized calorie targets to one-rep max estimates, mQuickCalc Health MCP puts 15 evidence-based health calculators into any AI agent workflow. No more guesswork — just accurate numbers.
15 production-ready tools: BMI · BMR · TDEE · daily calories · macros · body fat % · ideal weight · protein · kJ conversion · one-rep max · target heart rate · VO2 max · running pace · sleep debt
Perfect for: fitness coaches, developers building health apps, AI nutrition analysis, workout planning.
Tools
Tool | Description |
| Body Mass Index from height & weight (WHO + Asian standards) |
| Find target weight for a desired BMI |
| Devine, Miller, Hamwi, BMI-based ideal weight |
| Lean body mass from body fat percentage |
| Basal Metabolic Rate (Mifflin-St Jeor) |
| Total Daily Energy Expenditure from BMR & activity level |
| Calories for goal: maintain, cut, or bulk |
| Safe calorie deficit for sustainable fat loss |
| Daily protein needs based on weight & goal |
| Carbohydrates, fat, protein grams from calories & goals |
| Kilojoules ↔ Calories, bidirectional |
| US Navy body fat formula from measurements |
| Estimated 1RM from weight & reps (Epley, Brzycki, etc.) |
| Target heart rate zones from age & resting HR |
| Pace per km/mile, race time predictions |
Related MCP server: NutriBalance
Installation
Prerequisites
Node.js 18+ (Node 20 recommended)
npm 9+
Quick install
npm install -g @eyetoolkit/mquickcalc-health-mcpBuild from source
npm install
npm run buildTest locally
node dist/index.jsClaude Desktop Integration
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mquickcalc-health": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/mcp-health/dist/index.js"]
}
}
}Then restart Claude Desktop.
Usage Examples
What's my TDEE? I'm 175cm, 75kg, male, moderately active:
→ tdee_calculator({ height: 175, weight: 75, age: 30, sex: "male", activityLevel: "moderate" })
Calculate my macros for a 2200 calorie cut:
→ macro_calculator({ calories: 2200, goal: "cut" })
What's my one-rep max from 100kg × 5 reps?
→ one_rep_max_calculator({ weight: 100, reps: 5 })
What pace should I run to finish a half marathon in 2 hours?
→ running_pace_calculator({ distance: 21.1, targetTime: 120 })Pricing
Free tier: All 15 tools, no API key required.
License
MIT
Available Tools
15 toolsbmi_calculatorA
BMI from weight(kg) and height(cm). Returns WHO and Asian-Pacific categories with healthy weight range.
| Name | Required | Description | Default |
|---|---|---|---|
| heightCm | Yes | ||
| weightKg | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions the return value categories and healthy weight range, but does not explicitly state that it is a pure, non-destructive calculation or describe error handling. This is acceptable for a calculator but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no redundancy. It front-loads the core formula and states the output, every word earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter calculator with no output schema, the description covers the essentials: inputs with units, the calculation, and the return categories. It could explicitly state that the numeric BMI value is also returned and any input validation rules, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies units (kg and cm), which adds value, but does not provide constraints, expected ranges, or further parameter detail beyond what the parameter names already suggest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool computes BMI from weight (kg) and height (cm) and mentions the output (WHO and Asian-Pacific categories, healthy weight range). This distinguishes it from sibling calculators like bmr_calculator or tdee_calculator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for BMI calculation but does not explicitly name alternatives or provide when-to-use/when-not-to-use guidance. For a simple calculator, this is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bmr_calculatorA
Basal Metabolic Rate via Mifflin-St Jeor. Male: 10w+6.25h−5a+5. Female: 10w+6.25h−5a−161.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | Yes | ||
| heightCm | Yes | ||
| weightKg | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It transparently shows the exact equations used, which is excellent for a calculation tool. However, it doesn't mention edge cases (e.g., age/weight range validity) or that it assumes specific unit inputs (kg/cm) beyond what the parameter names imply. The formula disclosure is strong but could add more context on limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the tool's purpose and method. The formula is compact and efficient. It could be slightly clearer by explicitly mapping variables to parameter names, but it's appropriately sized for a simple calculator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has clear schema constraints (all required, numbers, one enum). The formula adds completeness for the calculation logic. However, without an output schema, the description doesn't clarify the return format (e.g., a number vs. a formatted string), and it doesn't mention unit assumptions beyond parameter names. It's adequate but not fully complete for an agent that needs to know the response type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It defines the variables w, h, a in the formula but doesn't explicitly map them to weightKg, heightCm, age. The sex parameter is covered by the two formula variants. This is adequate but could be clearer by explicitly stating 'weightKg = weight in kg' etc. The formula itself adds semantic meaning that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates Basal Metabolic Rate using the Mifflin-St Jeor equation, and includes the specific formula. This distinguishes it from sibling tools like bmi_calculator and tdee_calculator by naming the exact calculation method and metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for calculating BMR, which is appropriate for understanding basal metabolic rate, but it doesn't explicitly say when to use it versus tdee_calculator (which adds activity level) or daily_calorie_calculator. It provides the formula context but lacks direct usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
body_fat_calculatorB
Body fat % via US Navy Method (waist + neck + height ± hip for females). Also returns lean body mass.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | Yes | ||
| hipCm | No | ||
| neckCm | Yes | ||
| waistCm | Yes | ||
| heightCm | Yes | ||
| weightKg | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses the formula inputs and the additional return value, which is useful, but it does not explain sex-specific input requirements, limitations of the Navy method, or that this is a stateless read-only calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that leads with the main output and method, then adds the secondary output. The '±' shorthand is terse but understandable; no filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and no output schema or annotations, this description is incomplete. It does not clarify that hip is required for females despite being optional in the schema, explain why age and weight are needed, or describe the output format/units of lean body mass.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps waist, neck, height, and hip to the formula and hints that hip applies only to females, but it does not explain the roles of weight and age, and it omits any statement about units or hip handling despite hip being non-required in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool's output (body fat percentage) and the specific calculation method (US Navy), plus the secondary output (lean body mass). It is not a tautology and clearly separates this from sibling calculators like BMI or BMR, though it lacks an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the name and description: call it when body fat percentage or lean body mass is requested. However, there is no explicit statement of when to choose it over sibling calculators or any exclusions, so the guidance is indirect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
daily_calorie_calculatorB
Target daily calories for maintain/lose/gain. Combines BMR + activity + goal adjustment (−500 kcal for weight loss, +300 for gain).
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | Yes | ||
| goal | Yes | ||
| heightCm | Yes | ||
| weightKg | Yes | ||
| activityLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the goal adjustment values (−500 kcal for loss, +300 for gain), which is useful behavioral context. However, it doesn't mention the activityLevel parameter's role, how BMR is calculated (e.g., Mifflin-St Jeor), or any assumptions/limitations. The description adds some behavioral detail but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose and includes the key adjustment values. It's concise and readable. It could be slightly more structured (e.g., separating the formula from the adjustments), but it earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't explain the activityLevel parameter, which is optional but critical for the calculation. It also doesn't describe the output format (e.g., a number in kcal/day) or any edge cases. An agent would need to guess at the activityLevel values and the exact BMR formula. The description is adequate for a high-level understanding but not for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter documentation. The description mentions weight, height, age, sex, and goal implicitly through the formula, but it doesn't explain the activityLevel parameter at all, which is the only non-required parameter and has no enum. It also doesn't specify units for weightKg/heightCm or clarify the sex enum values. The description adds minimal parameter meaning beyond the schema's bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: calculating target daily calories for maintain/lose/gain goals. It names the specific resource (daily calorie target) and the method (BMR + activity + goal adjustment), which distinguishes it from siblings like bmr_calculator and tdee_calculator. However, it doesn't explicitly name a sibling alternative, so it loses a point for not fully differentiating itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when the user wants a daily calorie target for a specific goal. It also implies that BMR and TDEE are components, suggesting those siblings are for intermediate values. However, it doesn't explicitly state when not to use it or name alternatives like tdee_calculator for maintenance-only estimates. The usage context is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ideal_weight_calculatorC
Ideal body weight via Robinson and Broca formulas for a given height and sex.
| Name | Required | Description | Default |
|---|---|---|---|
| sex | No | ||
| heightCm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It names the formulas and inputs but does not explain output units, which formula is applied under what conditions, how sex affects results, or any limitations. The mention of Robinson and Broca formulas adds some method context, but behavior remains largely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no redundant words. It front-loads the purpose and immediately adds the differentiating formula names, making it efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator, the description captures the core purpose and method, but it lacks return format/units and does not address the mismatch between the schema's optional sex and the description's implication that sex is required. Since there is no output schema, a bit more clarity about expected results would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It only restates 'height and sex' without adding meaning: it does not define units, clarify that sex is optional per the schema, or explain how the formulas use these parameters. The parameter names in the schema already convey at least as much.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an ideal body weight calculator and names the specific formulas (Robinson and Broca), which distinguishes it from sibling calculators. It lacks an explicit action verb like 'calculates', but the noun phrase 'Ideal body weight via...' is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as BMI or BMR calculators. The only usage signal is implicit: if you need ideal body weight, use this calculator. No exclusions, prerequisites, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kj_to_calories_converterA
Convert kilojoules to kilocalories. 1 kcal = 4.184 kJ.
| Name | Required | Description | Default |
|---|---|---|---|
| kilojoules | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the exact conversion constant (4.184), which is the core behavioral trait of this stateless pure-conversion tool. There are no side effects, auth requirements, or rate limits to disclose. It doesn't address edge cases (negative values, zero), but for a simple converter the disclosed constant is the key behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The purpose is front-loaded and the conversion constant is a valuable addition. Every word earns its place; there is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema converter, the description is nearly complete: it states the operation and the conversion factor, and the output unit (kcal) is implied by 'kilocalories'. It could explicitly state the return value or handle negative-input behavior, but nothing an agent strictly needs to call it correctly is missing for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does: the first sentence and tool name imply the input is in kilojoules, and the conversion factor defines the math. However, it never explicitly documents the parameter's format, valid range, or units beyond inference from the name. The description adds some meaning but doesn't fully cover the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('convert') and resource ('kilojoules to kilocalories'), which is unambiguous and distinct from the sibling calculators. The conversion factor (1 kcal = 4.184 kJ) reinforces the exact operation. No reasonable agent could confuse this with BMI or macro calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: this is the only unit-conversion tool among the siblings, which are all health-metric calculators. However, the description never explicitly says 'use this when you need to convert kJ to kcal' or excludes alternatives like daily_calorie_calculator. The guidance is implicit from the name and nature rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_calculatorC
Protein/carbs/fat grams from target calories and percentage split. Presets: balanced, keto, low-carb, high-protein.
| Name | Required | Description | Default |
|---|---|---|---|
| fatPercent | No | ||
| carbsPercent | No | ||
| proteinPercent | No | ||
| targetCalories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it only states the basic calculation. It does not disclose what happens when percentages are omitted, whether they must sum to 100, which ranges are valid, or how presets map to percentages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with two short sentences and no filler. It loses a point only because it is slightly too terse to carry its required semantic load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with 4 parameters, no output schema, and no annotations. Critical details are missing: default behavior for percent parameters, preset selection mechanism, percent validation, and what the returned grams represent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only mentions 'target calories' and 'percentage split' generally. It does not explain fatPercent, carbsPercent, proteinPercent, their allowed ranges, or how presets relate to these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: converting target calories and percentage splits into protein/carbs/fat grams. The mention of presets also hints at distinct behavior from sibling calculators, though it doesn't name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus the many sibling calculators. It does not mention prerequisites, how to select a preset, or when manual percentages should be supplied instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
one_rep_max_calculatorB
Estimate 1-rep max (1RM) from weight and reps. Brzycki or Epley formula. Returns training loads at 100%/90%/85%/80%/75%.
| Name | Required | Description | Default |
|---|---|---|---|
| reps | Yes | ||
| weight | Yes | ||
| formula | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions the formula options but omits important details like the valid range for reps, handling of edge cases (e.g., reps = 0 or > 10), unit expectations (kg vs lbs), and the exact return format. This leaves the agent guessing about constraints and assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the purpose, key options, and expected output with no filler. The essential information is front-loaded, and every clause contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with no output schema, the description covers the core operation but lacks crucial context: valid input ranges, unit assumptions, and how the training loads are presented (e.g., as a list, object, or formatted string). An agent could invoke it correctly but might misinterpret outputs without additional clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden of explaining parameters. It only mentions 'weight' and 'reps' without clarifying units, types, or constraints, and the optional 'formula' parameter is only listed in the enum without any guidance on when to choose which. The description adds minimal meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Estimate'), a precise resource ('1-rep max'), and the input (weight and reps). It also names the formula options and the output (training loads at specific percentages), making it clearly distinct from sibling calculators like BMI or BMR.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a weightlifting context but provides no explicit guidance on when to use this tool versus the many sibling calculators. It does not state any exclusions or prerequisites, such as valid rep ranges or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
protein_calculatorB
Daily protein needs from body weight and goal (cut: 2g/kg, maintain: 1.6g/kg, bulk: 2g/kg).
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| weightKg | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full responsibility for behavioral disclosure. It provides useful detail by listing the per-goal multipliers (cut: 2g/kg, maintain: 1.6g/kg, bulk: 2g/kg). However, it does not disclose output units, rounding, behavior when goal is omitted, or whether the result is a single number.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler. The key formula and goal options are packed into one sentence, and the most relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator tool with only two parameters, the description is mostly adequate but has clear gaps: it does not state what happens when the optional 'goal' parameter is omitted, even though the schema marks it optional, and it does not explicitly confirm that the result is in grams. These omissions matter for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It gives meaning to 'goal' by mapping enum values to multipliers, but it does not explicitly explain 'weightKg' beyond the phrase 'body weight', and it relies on the schema for the goal enum. The formula adds some value over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource being computed ('Daily protein needs') and its inputs ('body weight and goal'), which distinguishes it from sibling calculators like BMI, BMR, and TDEE. It lacks an explicit verb like 'calculates' and does not contrast with macro_calculator, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus macro_calculator or other nutrition-related calculators. There are no stated conditions, exclusions, or alternative tool references, so the agent must infer suitability from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
running_pace_calculatorA
Calculate pace per km from distance and time. Projects equivalent half-marathon and marathon times.
| Name | Required | Description | Default |
|---|---|---|---|
| distanceKm | Yes | ||
| timeMinutes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states the primary output (pace per km) and additional outputs (projected race times). It does not mention side effects or error handling, but for a pure calculator, this is adequate. The description adds value beyond the schema by specifying the output nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff. The primary purpose is front-loaded, and the additional output is mentioned succinctly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with no output schema, the description provides sufficient information for an agent to call it correctly: inputs are clear from parameter names, and outputs are described. It does not specify exact output formatting (e.g., pace units or race time format), but this is likely predictable for a running pace calculator. Overall, it is complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It mentions 'distance and time' but does not clarify units or ranges beyond what the parameter names (distanceKm, timeMinutes) already imply. The description adds no substantive information about the parameters, so it fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates pace per km from distance and time, and additionally projects half-marathon and marathon times. This is a specific verb and resource, and it distinguishes the tool from sibling calculators (BMI, BMR, etc.) by its running-specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's domain is obvious from the name and description, but there is no explicit guidance on when to use it versus alternatives. Since all siblings are different types of calculators, the context is clear, but the description does not state exclusions or conditional usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sleep_calculatorB
Calculate recommended bedtime from wake time and sleep goal. Based on 90-minute sleep cycles.
| Name | Required | Description | Default |
|---|---|---|---|
| wakeTime | No | ||
| sleepHours | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds a useful behavioral detail by revealing the 90-minute sleep-cycle basis for the calculation. However, it does not disclose output format, rounding behavior, or how invalid inputs are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The main purpose is front-loaded in the first sentence, and the second adds a meaningful algorithmic detail without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should cover return values and input conventions. It explains the calculation concept but omits what the bedtime output looks like and the required wakeTime format, leaving an agent to guess or fail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It loosely maps 'wake time' to wakeTime and 'sleep goal' to sleepHours, but does not specify the expected string format for wakeTime or units/ranges for sleepHours. This leaves important parameter ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Calculate recommended bedtime from wake time and sleep goal.' It is distinct enough from the sibling sleep_debt_calculator by focusing on bedtime recommendation, though it does not explicitly name or differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied: when a user has a wake time and desired sleep duration, this tool computes a bedtime. However, there is no explicit guidance on when to prefer this over sleep_debt_calculator or other sleep-related tools, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sleep_debt_calculatorB
Calculate weekly sleep debt vs target. Shows how many extra 30-min sleep sessions needed to recover.
| Name | Required | Description | Default |
|---|---|---|---|
| targetSleep | No | ||
| weekdaySleep | Yes | ||
| weekendSleep | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It reveals that the output is a count of 30-min sessions needed, which is helpful. However, it does not disclose that the operation is read-only (though implied by 'calculate'), nor does it mention any edge cases like missing targetSleep or input validation. The description adds some behavioral context beyond the name but is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the main purpose and followed by an output detail. It is concise and to the point, with no redundant phrasing. It earns its length by adding the 30-minute session output detail, which is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description is insufficient. It does not explain input units, default behavior for targetSleep, calculation logic, or how it differs from sleep_calculator. An agent would need to guess or infer crucial details to call it correctly, making the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain the parameters. It does not clarify units (hours? minutes?), what targetSleep represents (default value if omitted), or how the debt is computed (e.g., weekly average vs. total). The parameter names are self-explanatory but the description adds no semantic detail beyond that. Given the lack of schema coverage, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (calculate) and resource (weekly sleep debt vs target), and mentions the output (number of extra 30-min sleep sessions). It is distinct from sibling sleep_calculator which likely addresses general sleep needs, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sleep_calculator or other siblings. The description implies a use case but does not explicitly state conditions or alternatives. An agent cannot determine when this tool is the right choice over sleep_calculator without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
target_heart_rate_calculatorC
5-zone heart rate training system via Karvonen formula (age + resting HR → HR reserve → zones).
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| maxHeartRate | No | ||
| restingHeartRate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does reveal the Karvonen pipeline from age and resting heart rate through HR reserve to zones, which is meaningful. However, it does not disclose what happens when optional parameters like maxHeartRate or restingHeartRate are omitted, nor how the final zone output is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core formula and output concept. It earns its place with no filler. It loses a point only because the compressed phrasing omits parameter roles that would have been just as easy to mention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with three parameters and no output schema, the description is not complete enough. It does not state how maxHeartRate interacts with the formula, what defaults are used when optional fields are absent, or what the returned zones look like, leaving an agent uncertain about behavior and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare parameter names. It explains that age and resting heart rate feed into the Karvonen formula, but it does not define maxHeartRate's role or explain optional-parameter defaults, units, or constraints. This leaves a significant gap for an agent trying to choose valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a heart-rate-specific calculator that derives 5 training zones using the Karvonen formula from age and resting heart rate. This is enough to distinguish it from the sibling calculators, though it stops short of an explicit verb phrase like 'calculates target heart rate zones.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool instead of sibling calculators such as vo2max_calculator or running_pace_calculator. The phrase 'training system' implies a fitness context, but no scenarios, prerequisites, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tdee_calculatorC
Total Daily Energy Expenditure = BMR × activity multiplier. Returns weight loss/gain targets.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | Yes | ||
| heightCm | Yes | ||
| weightKg | Yes | ||
| activityLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose that the tool computes BMR internally and multiplies by an activity multiplier, and that it returns weight loss/gain targets. But it omits critical behaviors: which BMR equation is used, what the default activity multiplier is when the optional activityLevel parameter is omitted, and what the 'weight loss/gain targets' concretely are (caloric deficit/surplus values, in what units). This under-disclosure matters because the schema marks activityLevel as optional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences and 19 words with the formula front-loaded before the output statement. There is no filler or schema repetition. The slight vagueness of 'weight loss/gain targets' is a completeness issue rather than a conciseness one, so the structure itself earns a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters (2 enums), no annotations, no output schema, and 0% schema description coverage, yet the description is only two sentences. It never explains the return value format or units (essential for a nutrition tool), the default for the optional activityLevel, or the relationship to the overlapping daily_calorie_calculator sibling. For this complexity level, the description is substantially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add a conceptual model: the formula implies weightKg, heightCm, age, and sex feed the BMR calculation, and 'activity multiplier' maps to the activityLevel parameter. This gives real semantic meaning that the bare schema lacks. However, it does not explain what the activityLevel enum values mean, units expectations, or the behavior when activityLevel is omitted, so it only partially compensates for the 0% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: it names the resource (TDEE), states the governing formula ('BMR × activity multiplier'), and names the output (weight loss/gain targets). This distinguishes it from bmr_calculator, since BMR alone has no activity multiplier. However, it does not differentiate itself from daily_calorie_calculator, a sibling that likely computes the same thing, so it misses the explicit sibling differentiation needed for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus its siblings. With daily_calorie_calculator, bmr_calculator, and macro_calculator all present, an agent has no signal about which tool answers a user's calorie-needs question. There is no stated context, prerequisite, or exclusion, so the description provides essentially no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vo2max_calculatorA
Estimate VO2 Max from max HR and resting HR. Uth-Sørensen-Overstand formula.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| sex | No | ||
| maxHeartRate | No | ||
| restingHeartRate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does state that this is an estimation using a named formula, which conveys a deterministic, read-only calculation. However, it does not explain why age is the only required parameter or what happens when maxHeartRate or restingHeartRate are omitted, leaving a meaningful behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no filler. The formula name adds useful precision without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, no annotations, no output schema, and no schema-level descriptions, the description is not complete enough for an agent to confidently invoke it correctly. The mismatch between the stated inputs ('max HR and resting HR') and the schema's required age leaves important uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only names maxHeartRate and restingHeartRate. It says nothing about the required age parameter or the optional sex parameter, and it provides no units or value format guidance. The input semantics are therefore incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Estimate') and a clear resource ('VO2 Max'), and it names the exact formula ('Uth-Sørensen-Overstand'). This distinguishes it from sibling calculators and leaves no doubt about the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to use the tool — when a VO2 Max estimate is needed — but the description gives no explicit guidance on when not to use it or how it compares with siblings like target_heart_rate_calculator or running_pace_calculator. There is implied context but no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
v0.1.0- First observed
bmi_calculator - First observed
bmr_calculator - First observed
body_fat_calculator - First observed
daily_calorie_calculator - First observed
ideal_weight_calculator - First observed
kj_to_calories_converter - First observed
macro_calculator - First observed
one_rep_max_calculator - First observed
protein_calculator - First observed
running_pace_calculator - First observed
sleep_calculator - First observed
sleep_debt_calculator - First observed
target_heart_rate_calculator - First observed
tdee_calculator - First observed
vo2max_calculator
TDQS
Scored across 15 tools
Each tool addresses a distinct health metric (BMI, BMR, TDEE, macros, body fat, etc.) with no overlap in purpose. Even closely related calculators like BMR and TDEE are clearly separated by their descriptions.
Most tools follow the pattern of 'descriptor_calculator' (e.g., bmi_calculator, bmr_calculator). Two converters (kj_to_calories_converter) and two sleep tools (sleep_calculator, sleep_debt_calculator) deviate slightly from the dominant '_calculator' suffix, but the naming is still predictable.
15 tools is reasonable for a health calculator suite covering body metrics, nutrition, fitness, and sleep. It is at the upper end of the typical range but each tool serves a distinct function without feeling excessive.
The set covers the core health calculation domains well: body composition (BMI, body fat, ideal weight), energy (BMR, TDEE, calories), nutrition (macros, protein), fitness (1RM, heart rate, VO2max, pace), and sleep. Minor gaps like hydration or calorie conversion from calories to kJ are absent, but the core lifecycles are complete.
Maintenance
Related MCP Connectors
Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.
Manage your Health Partner account, log food, water, workouts, body using agent
Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus.
Body composition for AI: BMI, body fat, FFMI, waist-to-height, plus saved measurement trends.
Related MCP Servers
- FlicenseBqualityCmaintenanceEnables retrieval and analysis of MyFitnessPal nutrition data including daily summaries, meal breakdowns, exercise tracking, and macro/micronutrient analysis. Uses browser cookie authentication to access your personal MyFitnessPal account data through natural language queries.6-
- FlicenseAqualityCmaintenanceCalculate TDEE & macro targets, look up food nutrition data, generate meal plans, fix nutrient deficiencies, and score a day's eating from 0–100. Free nutrition tools for AI assistants.5-
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to search foods, get nutritional breakdowns, and estimate exercise calories using the Nutritionix API through natural language input.3MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with MyFitnessPal data including food diary, exercises, body measurements, nutrition goals, and water intake through natural language.2054MIT