fitfly-engine

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

我该使用它吗

质量与安全性

A
描述质量
96%
模式完整度
67%
命名质量
90%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,228token 数(工具定义)
~804 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.96%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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 个工具
已验证未记录版本10 个工具