Free executive fitness diagnostic. Finds the primary performance lever.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when a user wants a structured read on their training, nutrition, and recovery, or asks where they should focus first. Returns three pillar scores (Bulletproof Body, Fuel with Freedom, Recharge and Restore), the single biggest lever, and up to three prioritised actions. Do NOT use for medical diagnosis, injury treatment, or nutrition therapy. Do not use when the user is asking only about general fitness information, exercise form, or a single exercise's technique — answer those directly instead. This is coaching assessment, not clinical assessment.
The primary outcome the user wants to prioritise right now.
0-10. How often are you free of aches or pains that limit your training?
Typical hours of sleep per night (4-10).
1-10. Current chronic stress level, where 10 is maximum.
How many years have you trained seriously and consistently?
0-10. How much of a full, controlled range of motion can you own?
0-10. Do you get enough protein without excessive effort?
How many training sessions per week do you currently complete?
0-10. How consistent are your deliberate recovery practices?
0-10. How reliably do you hit your nutrition targets?
0-10. How consistent is your eating schedule?
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http executive-performance https://bmphumanengineering.com/api/mcp
Use this when a user wants a structured read on their training, nutrition, and recovery, or asks where they should focus first. Returns three pillar scores (Bulletproof Body, Fuel with Freedom, Recharge and Restore), the single biggest lever, and up to three prioritised actions. Do NOT use for medical diagnosis, injury treatment, or nutrition therapy. Do not use when the user is asking only about general fitness information, exercise form, or a single exercise's technique — answer those directly instead. This is coaching assessment, not clinical assessment.
| Argument | Type | Description |
|---|---|---|
| goal* | string | The primary outcome the user wants to prioritise right now. |
| painFree* | integer | 0-10. How often are you free of aches or pains that limit your training? |
| sleepHours* | number | Typical hours of sleep per night (4-10). |
| stressLevel* | integer | 1-10. Current chronic stress level, where 10 is maximum. |
| trainingYears* | string | How many years have you trained seriously and consistently? |
| movementControl* | integer | 0-10. How much of a full, controlled range of motion can you own? |
| proteinAdequacy* | integer | 0-10. Do you get enough protein without excessive effort? |
| sessionsPerWeek* | integer | How many training sessions per week do you currently complete? |
| recoveryPractices* | integer | 0-10. How consistent are your deliberate recovery practices? |
| nutritionConsistency* | integer | 0-10. How reliably do you hit your nutrition targets? |
| mealTimingConsistency* | integer | 0-10. How consistent is your eating schedule? |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"trainingYears",
"sessionsPerWeek",
"movementControl",
"painFree",
"nutritionConsistency",
"proteinAdequacy",
"mealTimingConsistency",
"sleepHours",
"stressLevel",
"recoveryPractices",
"goal"
],
"properties": {
"goal": {
"enum": [
"body_composition",
"strength",
"energy",
"longevity",
"performance"
],
"type": "string",
"description": "The primary outcome the user wants to prioritise right now."
},
"painFree": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How often are you free of aches or pains that limit your training?"
},
"sleepHours": {
"type": "number",
"maximum": 10,
"minimum": 4,
"description": "Typical hours of sleep per night (4-10)."
},
"stressLevel": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "1-10. Current chronic stress level, where 10 is maximum."
},
"trainingYears": {
"enum": [
"under_1",
"1_to_3",
"3_to_5",
"5_plus"
],
"type": "string",
"description": "How many years have you trained seriously and consistently?"
},
"movementControl": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How much of a full, controlled range of motion can you own?"
},
"proteinAdequacy": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. Do you get enough protein without excessive effort?"
},
"sessionsPerWeek": {
"type": "integer",
"maximum": 7,
"minimum": 0,
"description": "How many training sessions per week do you currently complete?"
},
"recoveryPractices": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How consistent are your deliberate recovery practices?"
},
"nutritionConsistency": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How reliably do you hit your nutrition targets?"
},
"mealTimingConsistency": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How consistent is your eating schedule?"
}
}
}Use this when a user wants a nutrition structure, wants to fix eating consistency, or asks how to eat for their goal. Returns protein targets per kg of bodyweight, three or four reliable meal anchors, freedom rules that keep it sustainable, and a recovery protocol for missed meals and bad weeks. Do NOT use for clinical nutrition, therapeutic diets, medication-related diet changes, disordered eating treatment, or allergy-driven plans — refer those to a registered dietitian or clinician. Do not use to calculate calorie targets for someone with an eating disorder history.
| Argument | Type | Description |
|---|---|---|
| goal* | string | The primary outcome the plan should support. |
| notes | string | Optional context: dietary preferences, schedule, what has failed before. |
| consistency* | integer | 0-10. How reliable is the user's eating right now? Low values produce a simplified plan; high values produce a plan that focuses on flexibility. |
| flexibilityIsTheConstraint* | boolean | True when the user's main problem is rigidity or social/travel disruption, rather than lack of knowledge. Changes the tone and the rules. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goal",
"consistency",
"flexibilityIsTheConstraint"
],
"properties": {
"goal": {
"enum": [
"body_composition",
"strength",
"energy",
"longevity",
"performance"
],
"type": "string",
"description": "The primary outcome the plan should support."
},
"notes": {
"type": "string",
"maxLength": 500,
"description": "Optional context: dietary preferences, schedule, what has failed before."
},
"consistency": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "0-10. How reliable is the user's eating right now? Low values produce a simplified plan; high values produce a plan that focuses on flexibility."
},
"flexibilityIsTheConstraint": {
"type": "boolean",
"description": "True when the user's main problem is rigidity or social/travel disruption, rather than lack of knowledge. Changes the tone and the rules."
}
}
}Use this when a user wants a week of training built around their goal, a specific split, or their current session frequency. Returns a day-by-day week with session length, blocks, intensity, what to track, and the rules for adjusting if the week goes sideways. Do NOT use for injury rehabilitation, post-surgical programming, or return-from-injury plans — those need a clinician. Do not use to prescribe a program for a condition the user has disclosed. Use fitness.assess_performance_profile first when you have not yet seen the user's training history, because the plan adapts to it.
| Argument | Type | Description |
|---|---|---|
| goal* | string | The primary outcome to build the week around. |
| notes | string | Optional context the user gave: time constraints, injuries to work around, schedule, preferences. |
| equipment* | string | Available equipment. Determines exercise selection. |
| sessionsAre* | string | 'established' = consistent for 1+ years; 'rebuilding' = consistent for months but capacity is down; 'returning' = after a long layoff. |
| sessionsPerWeek* | integer | How many training sessions per week to program (1-6). |
Use this when a user asks how they have been progressing, wants to compare recent assessments, or asks whether something is working. Returns up to five recent pillar scores, overall scores, and the change between them. Do NOT use before the user has completed at least two assessments — there is no trend yet and the honest answer is that one data point is not a trend. Only returns stored derived scores, never raw answers.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many recent assessments to include (1-10). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many recent assessments to include (1-10)."
}
}
}Use this when a user asks what is stored, agrees to have their progress tracked, or asks to stop tracking. Stores the user's consent decision for derived performance scores and, separately, for a coaching-contact record. Only ever called in response to an explicit user decision — never proactively, and never as a default prompt at the end of a conversation.
| Argument | Type | Description |
|---|---|---|
| optOut | boolean | True to delete all stored data for this user and stop tracking. |
| storeProgressScores* | boolean | True to store derived pillar scores so progress can be tracked over time. |
| allowCoachingContact* | boolean | True to allow a coaching lead to be stored and contacted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storeProgressScores",
"allowCoachingContact"
],
"properties": {
"optOut": {
"type": "boolean",
"description": "True to delete all stored data for this user and stop tracking."
},
"storeProgressScores": {
"type": "boolean",
"description": "True to store derived pillar scores so progress can be tracked over time."
},
"allowCoachingContact": {
"type": "boolean",
"description": "True to allow a coaching lead to be stored and contacted."
}
}
}Use this ONLY when a user explicitly asks to be contacted about one-to-one coaching, or explicitly asks to apply for coaching. Collects name, email, goal, and an optional note, then creates a lead for the coach. Do NOT use proactively, do NOT use to upsell, and do NOT use it as a lead-capture step at the end of a free interaction — only on an explicit request from the user. There is no in-plugin purchase: coaching is sold and scheduled separately, so this tool only records interest.
| Argument | Type | Description |
|---|---|---|
| goal* | string | The primary outcome they want coaching for. |
| name* | string | The user's name. |
| note | string | Optional message. Do not include medical history, medications, diagnoses, government identifiers, or payment details — those are rejected and not stored. |
| email* | string | The user's email address, for the coach to reply to. |
| consentGranted* | boolean | Must be true. Confirms the user agreed to be contacted about coaching. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"email",
"goal",
"consentGranted"
],
"properties": {
"goal": {
"enum": [
"body_composition",
"strength",
"energy",
"longevity",
"performance"
],
"type": "string",
"description": "The primary outcome they want coaching for."
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The user's name."
},
"note": {
"type": "string",
"maxLength": 1000,
"description": "Optional message. Do not include medical history, medications, diagnoses, government identifiers, or payment details — those are rejected and not stored."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "The user's email address, for the coach to reply to."
},
"consentGranted": {
"type": "boolean",
"const": true,
"description": "Must be true. Confirms the user agreed to be contacted about coaching."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goal",
"sessionsPerWeek",
"sessionsAre",
"equipment"
],
"properties": {
"goal": {
"enum": [
"body_composition",
"strength",
"energy",
"longevity",
"performance"
],
"type": "string",
"description": "The primary outcome to build the week around."
},
"notes": {
"type": "string",
"maxLength": 500,
"description": "Optional context the user gave: time constraints, injuries to work around, schedule, preferences."
},
"equipment": {
"enum": [
"full_gym",
"home_gym",
"minimal",
"bodyweight"
],
"type": "string",
"description": "Available equipment. Determines exercise selection."
},
"sessionsAre": {
"enum": [
"established",
"rebuilding",
"returning"
],
"type": "string",
"description": "'established' = consistent for 1+ years; 'rebuilding' = consistent for months but capacity is down; 'returning' = after a long layoff."
},
"sessionsPerWeek": {
"type": "integer",
"maximum": 6,
"minimum": 1,
"description": "How many training sessions per week to program (1-6)."
}
}
}