骑行训练分析服务器

一个提供骑行训练分析工具的服务,支持LLM分析健身数据、计算训练指标并提供运动表现洞察。

  • by ipdelete
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ipdelete/workout_mcp_server

使用说明

锻炼MCP服务器

模型上下文协议(MCP)服务器,提供自行车锻炼分析工具,使LLM能够分析健身数据,计算训练指标,并提供对运动表现的见解。

特性

锻炼MCP服务器提供以下工具:

  • 检索锻炼历史记录(最近50次或最近7次锻炼)
  • 按ID查找特定锻炼
  • 计算健身指标:
    • 健身(CTL):慢性训练负荷-42天指数加权移动平均值
    • 疲劳(ATL):急性训练负荷-7天指数加权移动平均值
    • 表格(TSB):训练压力平衡-健身和疲劳之间的区别

安装

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 workout_mcp_server.

使用PIP

或者,您可以安装 workout_mcp_server 通过pip:

pip install workout_mcp_server

安装后,您可以使用以下命令将其作为模块运行:

python -m workout_mcp_server

配置

使用Claude Desktop进行配置

将此添加到您的 claude_desktop_config.json:

Using uvx
"mcpServers": {
  "workout_mcp_server": {
    "command": "uvx",
    "args": ["workout_mcp_server"]
  }
}
Using pip installation
"mcpServers": {
  "workout_mcp_server": {
    "command": "python",
    "args": ["-m", "workout_mcp_server"]
  }
}

使用VSCode MCP客户端进行配置

将此添加到您的 settings.json:

Using uvx
"mcp.servers": {
  "workout_mcp_server": {
    "command": "uvx",
    "args": ["workout_mcp_server"]
  }
}
Using pip installation
"mcp.servers": {
  "workout_mcp_server": {
    "command": "python",
    "args": ["-m", "workout_mcp_server"]
  }
}

可用工具

get_last_50_workouts

从数据集中检索所有50个训练,按日期排序(最近的第一个)。

get_last_7_workouts

检索7个最新的训练,可用于分析当前训练周。

get_workout_by_id

通过其唯一ID检索特定训练。

输入:

  • workout_id (string):训练的唯一标识符

compute_fitness

根据训练压力评分(TSS)的42天指数加权移动平均值计算当前健身评分(慢性训练负荷)。

compute_fatigue

根据TSS的7天指数加权移动平均值计算当前疲劳评分(急性训练负荷)。

compute_form

将当前形式分数(训练压力平衡)计算为体能和疲劳之间的差值。正值表示良好状态,负值表示累积疲劳。

数据结构

每项训练包括:

  • id:唯一的锻炼标识符
  • date:锻炼日期(ISO格式)
  • duration_minutes:锻炼持续时间(分钟)
  • distance_km:覆盖距离(公里)
  • avg_power_watts:平均功率输出(瓦特)
  • tss:训练压力评分
  • workout_type:锻炼类型(例如,“耐力”、“间歇”、“恢复”)

发展

从源头构建

  1. 克隆存储库
  2. 安装依赖项: pip install -e .
  3. 运行服务器: python -m workout_mcp_server

测试

使用以下工具运行测试: pytest

许可证

MIT许可证-有关详细信息,请参阅许可证文件。