训练数据分析服务器

Intervals.icu MCP服务器是一个用于集成Intervals.icu数据的模型上下文协议服务器,提供48种工具来访问和分析训练数据、健康指标和性能分析。

  • by eddmann
  • Python
  • 本地部署
  • 37 星标
  • 更新于
在 GitHub 查看 eddmann/intervals-icu-mcp

使用说明

Intervals.icu MCP服务器

用于Intervals.icu集成的模型上下文协议(MCP)服务器。通过Claude和其他LLM访问您的训练数据、健康指标和绩效分析。

概述

此MCP服务器提供48个工具与您的Intervals.icu帐户进行交互,分为9类:

  • 活动(10个工具)-查询、搜索、更新、删除和下载活动
  • 活动分析(8个工具)-深入了解流、间隔、最佳努力和直方图
  • 运动员(2个工具)-访问个人资料、健身指标和训练负荷
  • 健康(3个工具)-跟踪和更新恢复、HRV、睡眠和健康指标
  • 活动/日历(9个工具)-通过批量操作管理计划的锻炼、比赛、笔记
  • 性能/曲线(3个工具)-分析功率、心率和速度曲线
  • 锻炼库(2个工具)-浏览和探索锻炼模板和计划
  • 齿轮管理(6个工具)-轨道设备和维护提醒
  • 运动设置(5个工具)-配置FTP、FTHR、速度阈值和区域

此外,服务器还提供:

  • 1 MCP资源-运动员个人资料,包括持续环境下的体能指标
  • 6 MCP提示-常见查询模板(培训分析、绩效分析、活动深入、恢复检查、培训计划审查、每周计划)

先决条件

  • Python 3.11+和 紫外线,或
  • 码头工人

Intervals.icu API密钥设置

安装之前,您需要获取Intervals.icu API密钥:

  1. 首选https://intervals.icu/settings
  2. 滚动到 开发者 章节
  3. 点击 创建API密钥
  4. 复制API密钥(您将在安装过程中使用它)
  5. 注意你的 运动员ID 从您的个人资料URL(格式: i123456)

安装和设置

身份验证的工作原理

  1. API密钥-简单的API密钥身份验证(不需要OAuth)
  2. 配置-API密钥和运动员ID保存到 .env 文件
  3. 基本身份验证-使用用户名“API_KEY”和您的密钥作为密码的HTTP基本身份验证
  4. 持久性-后续运行重用存储的凭据

选项1:使用UV

# Install dependencies
cd intervals-icu-mcp
uv sync

然后使用以下方法之一配置凭据:

交互式设置

uv run intervals-icu-mcp-auth

这将提示您输入API密钥和运动员ID,并将凭证保存到 .env.

手动设置

创建一个 .env 手动文件:

INTERVALS_ICU_API_KEY=your_api_key_here
INTERVALS_ICU_ATHLETE_ID=i123456

选项2:使用Docker

# Build the image
docker build -t intervals-icu-mcp .

然后使用以下方法之一配置凭据:

交互式设置

# Create the env file first (Docker will create it as a directory if it doesn't exist)
touch intervals-icu-mcp.env

# Run the setup script
docker run -it --rm \
  -v "/ABSOLUTE/PATH/TO/intervals-icu-mcp.env:/app/.env" \
  --entrypoint= \
  intervals-icu-mcp:latest \
  python -m intervals_icu_mcp.scripts.setup_auth

这将提示输入凭据并将其保存到 intervals-icu-mcp.env.

手动设置

创建一个 intervals-icu-mcp.env 手动将文件保存在当前目录中(有关格式,请参阅上面的UV手动设置)。

Claude桌面配置

添加到配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

使用UV

{
  "mcpServers": {
    "intervals-icu": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/ABSOLUTE/PATH/TO/intervals-icu-mcp",
        "intervals-icu-mcp"
      ]
    }
  }
}

使用Docker

{
  "mcpServers": {
    "intervals-icu": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/ABSOLUTE/PATH/TO/intervals-icu-mcp.env:/app/.env",
        "intervals-icu-mcp:latest"
      ]
    }
  }
}

用法

请Claude使用自然语言与您的Intervals.icu数据进行交互。服务器提供工具、资源和提示模板来帮助您入门。

MCP提示快速入门

使用内置提示模板进行常见查询(可通过Claude中的提示建议获得):

  • analyze-recent-training -特定时期的全面培训分析
  • performance-analysis -分析功率/心率/速度曲线和区域
  • activity-deep-dive -通过流、间隔和最佳努力深入了解特定活动
  • recovery-check -根据健康趋势和训练负荷进行恢复评估
  • training-plan-review -使用锻炼库评估每周训练计划
  • plan-training-week -基于当前体能的人工智能辅助每周训练计划创建

活动

"Show me my activities from the last 30 days"
"Get details for my last long run"
"Find all my threshold workouts"
"Update the name of my last activity"
"Delete that duplicate activity"
"Download the FIT file for my race"

活动分析

"Show me the power data from yesterday's ride"
"What were my best efforts in my last race?"
"Find similar interval workouts to my last session"
"Show me the intervals from my workout on Tuesday"
"Get the power histogram for my last ride"
"Show me the heart rate distribution for that workout"

运动员简介和身体状况

"Show my current fitness metrics and training load"
"Am I overtraining? Check my CTL, ATL, and TSB"

注:运动员简介资源(intervals-icu://athlete/profile)自动提供持续的上下文。

健康与康复

"How's my recovery this week? Show HRV and sleep trends"
"What was my wellness data for yesterday?"
"Update my wellness data for today - I slept 8 hours and feel great"

日历和计划

"What workouts do I have planned this week?"
"Create a threshold workout for tomorrow"
"Update my workout on Friday"
"Delete the workout on Saturday"
"Duplicate this week's plan for next week"
"Create 5 workouts for my build phase"

性能分析

"What's my 20-minute power and FTP?"
"Show me my heart rate zones"
"Analyze my running pace curve"

锻炼库

"Show me my workout library"
"What workouts are in my threshold folder?"

装备管理

"Show me my gear list"
"Add my new running shoes to gear tracking"
"Create a reminder to replace my bike chain at 3000km"
"Update the mileage on my road bike"

运动设置

"Update my FTP to 275 watts"
"Show my current zone settings for cycling"
"Set my running threshold pace to 4:30 per kilometer"
"Apply my new threshold settings to historical activities"

可用工具

活动(10个工具)

工具 说明
get-recent-activities 列出最近的活动和汇总指标
get-activity-details 获取特定活动的全面详细信息
search-activities 按名称或标签搜索活动
search-activities-full 详细搜索活动
get-activities-around 在特定活动之前和之后进行活动
update-activity 更新活动名称、描述或元数据
delete-activity 删除活动
download-activity-file 下载原始活动文件
download-fit-file 将活动下载为FIT文件
download-gpx-file 将活动下载为GPX文件

活动分析(8个工具)

工具 说明
get-activity-streams 获取时间序列数据(功率、心率、步频、高度、GPS)
get-activity-intervals 获得有目标和表现的结构化锻炼间隔
get-best-efforts 查找活动中所有持续时间的峰值表现
search-intervals 在活动历史记录中查找相似的时间间隔
get-power-histogram 获取活动的功率分布直方图
get-hr-histogram 获取活动的心率分布直方图
get-pace-histogram 获取活动的速度分布直方图
get-gap-histogram 获取活动的分级调整速度直方图

运动员(2个工具)

工具 说明
get-athlete-profile 通过健身指标和运动设置获取运动员档案
get-fitness-summary 获取详细的CTL/ATL/TSB分析和培训建议

健康(3个工具)

工具 说明
get-wellness-data 获取最新的健康指标和趋势(HRV、睡眠、情绪、疲劳)
get-wellness-for-date 获取特定日期的完整健康数据
update-wellness 更新或创建某个日期的健康数据

活动/日历(9个工具)

工具 说明
get-calendar-events 从日历中获取计划的活动和锻炼
get-upcoming-workouts 仅获取即将到来的计划锻炼
get-event 获取特定事件的详细信息
create-event 创建新的日历事件(锻炼、比赛、笔记、目标)
update-event 修改现有日历事件
delete-event 从日历中删除事件
bulk-create-events 在单个操作中创建多个事件
bulk-delete-events 在一次操作中删除多个事件
duplicate-event 将事件复制到新日期

性能/曲线(3个工具)

工具 说明
get-power-curves 使用FTP估计和功率区分析功率曲线
get-hr-curves 使用HR区域分析心率曲线
get-pace-curves 使用可选的GAP分析跑步/游泳速度曲线

锻炼库(2个工具)

工具 说明
get-workout-library 浏览锻炼文件夹和训练计划
get-workouts-in-folder 查看特定文件夹中的所有训练

齿轮管理(6个工具)

工具 说明
get-gear-list 获取所有装备项目及其使用情况和状态
create-gear 在跟踪中添加新装备
update-gear 更新档位详细信息、里程数或状态
delete-gear 从履带上拆下齿轮
create-gear-reminder 为齿轮创建维护提醒
update-gear-reminder 更新现有的齿轮维护提醒

运动设置(5个工具)

工具 说明
get-sport-settings 获取特定运动的设置和阈值
update-sport-settings 更新FTP、FTHR、速度阈值或区域配置
apply-sport-settings 将更新的设置应用于历史活动
create-sport-settings 创建新的运动特定设置
delete-sport-settings 删除特定于运动的设置

MCP资源

资源为LLM提供持续的上下文,而不需要明确的工具调用:

资源 描述
intervals-icu://athlete/profile 完整的运动员档案,包括当前的健身指标和运动设置

MCP提示

常见查询的提示模板(可通过Claude中的提示建议访问):

提示 描述
analyze-recent-training 特定时期的全面培训分析
performance-analysis 带区域的详细功率/心率/速度曲线分析
activity-deep-dive 通过流、间隔和最佳努力深入了解特定活动
recovery-check 根据健康趋势和训练负荷进行恢复评估
training-plan-review 使用锻炼库评估每周训练计划
plan-training-week 基于当前体能的人工智能辅助每周训练计划创建

许可证

MIT许可证-请参阅 许可证 详细信息文件

免责声明

本项目不隶属于Intervals.icu,也不由其认可或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。