fitfly-engine

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
96%
Vollständigkeit des Schemas
67%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,228Tokens (Tool-Definitionen)
~804 BTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.96% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (10)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

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

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools