MCPサーバー

fitfly-engine

io.github.dropflyai/fitfly-engine
ヘルスケア 公開・接続可能 MCP 2025-11-25

このMCPでできること

Manages an adaptive fitness program with workout sessions, exercise substitutions, readiness adjustments, progression tracking, nutrition targets, and meal plans.

changelog
What the engine changed and why
The 'what changed & why' feed — the engine's coaching decisions (volume bumps, deloads, swaps) in Coach Fly's voice. Use to explain to the athlete why their plan evolved.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}
get_program
Get the active program
The athlete's current multi-day program (render-ready).
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_todays_session
Get today's training session
Today's workout: exercises, sets/reps, per-exercise load guidance and concrete target weights, plus nutrition targets and cycle status. Auto-applies the user's readiness check-in (autoregulation) if they've done one today. Call this to see what the athlete should do now.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'dayIndex': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Which program day (1-based). Defaults to the first day.'}}}
list_swap_options
List same-area swap options for an exercise
Valid alternatives for an exercise — same muscle group, filtered to the athlete's equipment/level/injuries. Use before swap_exercise.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exerciseId'], 'properties': {'exerciseId': {'type': 'string'}}}
log_workout
Log completed sets
Record what the athlete actually lifted. The engine runs progression (double-progression, e1RM), detects PRs, and returns per-exercise outcomes (established/progressed/held/deloaded) with next-time targets. Weights are in kg.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exercises'], 'properties': {'goal': {'enum': ['strength', 'hypertrophy', 'general_fitness', 'fat_loss'], 'type': 'string'}, 'dayIndex': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'exercises': {'type': 'array', 'items': {'type': 'object', 'required': ['exerciseId', 'sets'], 'properties': {'sets': {'type': 'array', 'items': {'type': 'object', 'required': ['weightKg', 'reps'], 'properties': {'rpe': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'reps': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'weightKg': {'type': 'number'}, 'completed': {'type': 'boolean'}}}}, 'exerciseId': {'type': 'string'}, 'prescribedRepTop': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Per-exercise completed sets (weights in kg).'}}}
meal_plan
Generate a meal plan
A day of meals hitting the athlete's targets, USDA truth-checked (flags feasible=false with a note when macros are approximate). Slow (~15s AI call).
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'exclusions': {'type': 'array', 'items': {'type': 'string'}}, 'mealsPerDay': {'type': 'integer', 'maximum': 5, 'minimum': 3}, 'trainingDay': {'type': 'boolean'}, 'dietaryStyle': {'type': 'string'}}}
nutrition_targets
Get nutrition targets
The athlete's daily calorie + macro targets, computed from body stats, activity, and goal.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
readiness_checkin
Log a readiness check-in
Record how the athlete feels today (energy, sleep, soreness — each 1–5). The engine scores readiness and, on the next get_todays_session, reshapes the workout accordingly (reduce volume / reduce intensity / recovery day). Returns the readiness score + modifier.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['energy', 'sleep', 'soreness'], 'properties': {'sleep': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': '1 terrible … 5 great'}, 'energy': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': '1 drained … 5 great'}, 'soreness': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': '1 none … 5 very sore'}}}
regenerate_program
Regenerate the program
Rebuild the whole program from the stored profile (~20s AI generation). Use after a profile change or a plateau.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
swap_exercise
Swap an exercise
Replace an exercise with a valid same-area alternative. scope 'today' = just this session; scope 'program' = going forward. The new lift starts fresh (day-one calibration).
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exerciseId', 'toExerciseId'], 'properties': {'scope': {'enum': ['today', 'program'], 'type': 'string', 'description': "Default 'program'."}, 'dayIndex': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'exerciseId': {'type': 'string'}, 'toExerciseId': {'type': 'string'}}}
追加
changelog
2026年9月17日12:41
追加
meal_plan
2026年9月17日12:41
追加
nutrition_targets
2026年9月17日12:41
追加
regenerate_program
2026年9月17日12:41
追加
get_program
2026年9月17日12:41
追加
swap_exercise
2026年9月17日12:41
追加
list_swap_options
2026年9月17日12:41
追加
log_workout
2026年9月17日12:41
追加
readiness_checkin
2026年9月17日12:41
追加
get_todays_session
2026年9月17日12:41