fitfly-engine

Deterministic fitness coaching engine: adaptive programs, progression math, readiness autoregulation

사용해야 할까요

품질 및 안전성

A
설명 품질
96%
스키마 완전성
67%
이름 품질
90%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,228토큰 (도구 정의)
~804 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.96%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "fitfly-engine": {
      "url": "https://workout-engine-production-5dd7.up.railway.app/mcp"
    }
  }
}

원격 엔드포인트

https://workout-engine-production-5dd7.up.railway.app/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_todays_session(dayIndex)

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",
  "properties": {
    "dayIndex": {
      "description": "Which program day (1-based). Defaults to the first day.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢readiness_checkin(energy, sleep, soreness)

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",
  "properties": {
    "energy": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "1 drained … 5 great"
    },
    "sleep": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "1 terrible … 5 great"
    },
    "soreness": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "1 none … 5 very sore"
    }
  },
  "required": [
    "energy",
    "sleep",
    "soreness"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪log_workout(dayIndex, goal, exercises)

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",
  "properties": {
    "dayIndex": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "goal": {
      "type": "string",
      "enum": [
        "strength",
        "hypertrophy",
        "general_fitness",
        "fat_loss"
      ]
    },
    "exercises": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "exerciseId": {
            "type": "string"
          },
          "prescribedRepTop": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "sets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "weightKg": {
                  "type": "number"
                },
                "reps": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "rpe": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "completed": {
                  "type": "boolean"
                }
              },
              "required": [
                "weightKg",
                "reps"
              ]
            }
          }
        },
        "required": [
          "exerciseId",
          "sets"
        ]
      },
      "description": "Per-exercise completed sets (weights in kg)."
    }
  },
  "required": [
    "exercises"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_swap_options(exerciseId)

Valid alternatives for an exercise — same muscle group, filtered to the athlete's equipment/level/injuries. Use before swap_exercise.

입력 스키마

{
  "type": "object",
  "properties": {
    "exerciseId": {
      "type": "string"
    }
  },
  "required": [
    "exerciseId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪swap_exercise(exerciseId, toExerciseId, dayIndex, scope)

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",
  "properties": {
    "exerciseId": {
      "type": "string"
    },
    "toExerciseId": {
      "type": "string"
    },
    "dayIndex": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "scope": {
      "description": "Default 'program'.",
      "type": "string",
      "enum": [
        "today",
        "program"
      ]
    }
  },
  "required": [
    "exerciseId",
    "toExerciseId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_program

The athlete's current multi-day program (render-ready).

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡regenerate_program

Rebuild the whole program from the stored profile (~20s AI generation). Use after a profile change or a plateau.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪nutrition_targets

The athlete's daily calorie + macro targets, computed from body stats, activity, and goal.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪meal_plan(mealsPerDay, trainingDay, dietaryStyle, exclusions)

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",
  "properties": {
    "mealsPerDay": {
      "type": "integer",
      "minimum": 3,
      "maximum": 5
    },
    "trainingDay": {
      "type": "boolean"
    },
    "dietaryStyle": {
      "type": "string"
    },
    "exclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢changelog(limit)

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",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개
검증됨버전이 기록되지 않음도구 10개