使用说明
健身数据MCP服务器
模型上下文协议(MCP)服务器,使Claude能够访问您的健身和训练数据。该项目包括Strava和intervals.icu的服务器,为分析你的运动表现、活动和训练指标提供了全面的工具和资源。
🏃♂️ Strava MCP服务器
访问您的Strava活动、运动员资料和基本表现统计数据。
📊 Intervals.icu MCP服务器 ⭐ 精选
高级训练分析,包括功率曲线、详细的锻炼分析、健康跟踪和全面的绩效指标。
特性
🏃♂️ Strava MCP服务器功能
可用工具
get_activities-使用筛选选项获取最近的活动get_activity_details-获取有关特定活动的详细信息get_athlete_stats-检索运动员的历史统计数据search_activities-按日期范围和活动类型搜索活动
可用资源
strava://activities-最近的活动提要strava://athlete-运动员个人资料信息strava://stats-所有时间统计摘要
📊 Intervals.icu MCP服务器功能 ⭐
🛠️ 高级培训工具(11个工具)
get_activities-使用高级筛选(日期、类型、限制)列出活动get_activity_details-具有可选间隔分析的详细活动数据get_activity_streams-时间序列数据(功率、心率、GPS、节奏、速度)search_activities-跨活动和高级过滤器的全文搜索get_power_curve-运动员功率曲线分析(所有持续时间的峰值功率)get_activity_power_curve-特定活动功率分析get_performance_analysis-综合绩效指标(功率、人力资源、速度曲线)get_best_efforts-活动的最佳努力部分和成就get_wellness_data-睡眠、心率变异性、压力和健康指标get_training_calendar-计划中的锻炼、比赛和训练活动export_activities_csv-导出培训数据以供外部分析
📈 丰富的数据资源(5资源)
intervals://activities-具有详细指标的最近活动intervals://athlete-完整的运动员档案和训练设置intervals://performance-功率曲线、心率分析和性能指标intervals://wellness-睡眠、心率变异性和健康跟踪数据intervals://calendar-训练日历,包括计划的训练和比赛
🎯 高级分析功能
- 功率分析:平均最大功率曲线、FTP跟踪、功率重量比
- 心率分析:HR曲线、区域分布、解耦分析
- 起搏分析:跑步速度曲线、分级调整速度、尽力
- 区间分析:结构化锻炼分析、间歇统计、训练区
- 健康追踪:睡眠质量、心率变异性、压力、疲劳和恢复指标
- 训练负荷:CTL/ATL/TSB(体能/疲劳/状态),训练压力跟踪
- 多运动支持:自行车、跑步、游泳,有特定的运动区域和指标
🎯 支持的活动类型
骑行:公路、山地、轨道、碎石、电动自行车、室内/教练 跑步:公路、小径、跑道、跑步机 游泳:开放水域游泳池 其他:铁人三项、步行、徒步、交叉训练和30多种运动类型
先决条件
- Python 3.13+
- 紫外线 包管理器
- 克劳德桌面应用程序
- 斯特拉瓦:Strava开发者账户和API访问令牌
- 对于intervals.icu:intervals.icu帐户和API密钥
🏃♂️ Strava MCP服务器设置
1.获取Strava API访问权限
- 首选 Strava API设置
- 创建新应用程序:
- 应用程序名称:
fitness-mcp-server - 类别:
Data Importer - 授权回调域:
localhost - 上传任意图标图像
- 应用程序名称:
- 复制您的 访问令牌 (下一步你需要这个)
2.配置和测试Strava
# Clone the repository
git clone <repository-url>
cd fitness-mcp-server
# Install dependencies
uv sync
# Copy the example environment file
cp .env.example .env
# Edit .env and add your Strava access token
# STRAVA_ACCESS_TOKEN=your_actual_access_token_here
# Test the Strava server
uv run python run_server.py
📊 Intervals.icu MCP服务器设置 ⭐
1.获取intervals.icu API访问权限
- 首选 intervals.icu开发人员设置
- 点击 “创建API密钥”
- 复制API密钥
- 你的 运动员ID 位于您的个人资料URL中:
https://intervals.icu/athletes/[YOUR_ID]
2.配置和测试间隔.icu
# Edit .env and add your intervals.icu credentials
# INTERVALS_API_KEY=your_intervals_icu_api_key_here
# INTERVALS_ATHLETE_ID=your_athlete_id_here
# Test the intervals.icu connection
python test_intervals.py
# Run the intervals.icu server
python run_intervals_server.py
⚙️ Claude桌面配置
编辑您的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
选项1:仅限intervals.icu服务器(推荐)
{
"mcpServers": {
"intervals": {
"command": "uv",
"args": ["--directory", "/path/to/fitness-mcp-server", "run", "python", "run_intervals_server.py"],
"cwd": "/path/to/fitness-mcp-server"
}
}
}
选项2:两台服务器
{
"mcpServers": {
"strava": {
"command": "uv",
"args": ["--directory", "/path/to/fitness-mcp-server", "run", "python", "run_server.py"],
"cwd": "/path/to/fitness-mcp-server"
},
"intervals": {
"command": "uv",
"args": ["--directory", "/path/to/fitness-mcp-server", "run", "python", "run_intervals_server.py"],
"cwd": "/path/to/fitness-mcp-server"
}
}
}
替换 /path/to/fitness-mcp-server 带有项目目录的实际路径。
重新启动克劳德桌面
退出并重新启动Claude Desktop,使MCP服务器配置生效。
用法
配置后,您可以向Claude自然语言提问有关您的健身数据的问题。intervals.icu服务器提供比Strava更全面的分析。
🏃♂️ Strava服务器示例
- “显示我最近的Strava活动”
- “我的历史跑步统计数据是什么?”
- “获取我上周的自行车活动”
- “给我看看我这个月跑得最长的一次”
📊 Intervals.icu服务器示例 ⭐
基本活动查询
- “显示我最近的培训活动”
- “从本月开始获取我的自行车锻炼”
- “找到我本周最难的锻炼”
- “将1月份的活动导出为CSV”
高级性能分析
- “显示我的自行车功率曲线”
- “分析我上个月的心率趋势”
- “今年我最好的20分钟力量训练是什么?”
- “比较我最近的FTP进度”
- “显示我的训练负荷和形态趋势”
详细的锻炼分析
- “分析我昨天锻炼的时间间隔”
- “获取活动ID 12345的电源数据流”
- “显示我最后一场比赛的时间序列数据”
- “上一次骑自行车锻炼中,我最大的努力是什么?”
健康与康复
- “这周我的睡眠质量怎么样?”
- “显示我上个月的HRV趋势”
- “我的压力水平模式是什么?”
- “根据健康数据,我的恢复情况如何?”
培训计划
- “我本周计划了哪些锻炼?”
- “显示我即将举行的比赛和活动”
- “我下个月的训练日程是什么?”
高级分析
- “分析我的功率重量比改进”
- “显示我的自行车效率指标”
- “比较我在不同地形上的跑步速度”
- “我的区域分布模式是什么?”
Claude将自动使用适当的MCP工具来获取和呈现您的全面培训数据,并进行详细分析。
建筑
项目结构
fitness-mcp-servers/
├── src/
│ ├── strava_mcp/ # Strava MCP Server
│ │ ├── server.py # Strava MCP server implementation
│ │ ├── models/strava_models.py # Strava data models
│ │ └── utils/strava_client.py # Strava API client
│ └── intervals_mcp/ # intervals.icu MCP Server ⭐
│ ├── server.py # intervals.icu MCP server implementation
│ ├── models/intervals_models.py # intervals.icu data models (comprehensive)
│ └── utils/intervals_client.py # intervals.icu API client (full-featured)
├── run_server.py # Strava server entry point
├── run_intervals_server.py # intervals.icu server entry point
├── test_intervals.py # intervals.icu connection test
├── .env.example # Environment template (both services)
└── pyproject.toml # Project configuration
服务器之间的主要区别
| 功能 | Strava MCP | 间隔.icu MCP⭐ |
|---|---|---|
| 活动 | 基本列表,搜索 | 高级筛选,全文搜索 |
| 活动详情 | 摘要数据 | 详细指标+间隔+流 |
| 性能数据 | 基本统计数据 | 功率曲线、心率分析、速度曲线 |
| 培训分析 | ❌ | ✅ 训练负荷、CTL/ATL/TSB、区域 |
| 健康追踪 | ❌ | ✅ 睡眠、心率变异性、压力、恢复 |
| 锻炼分析 | ❌ | ✅ 区间、分段、结构化分析 |
| 时间序列数据 | ❌ | ✅ 电源、人力资源、GPS、节奏流 |
| 培训日历 | ❌ | ✅ 计划中的锻炼、比赛、活动 |
| 数据导出 | ❌ | ✅ CSV导出,包含完整指标 |
许可证管理
斯特拉瓦
⚠️ 重要:Strava访问令牌每6小时过期一次。为了持续使用,您可能需要:
- 定期手动刷新令牌,或
- 使用刷新令牌实现OAuth流(高级)
对于个人使用,请手动更新您的令牌 .env 文件过期时就足够了。
intervals.icu
✅ 简单:intervals.icu API密钥寿命长,不会频繁过期。个人使用更容易管理。
故障排除
常见问题
“ModuleNotFoundError:没有名为'dotenv'的模块”
- 跑
uv sync安装依赖项 - 确保您正在使用
uv run python或者只是python有适当的环境
“无效的API密钥”(intervals.icu)
- 验证您的
INTERVALS_API_KEY在.env文件 - 在上查看您的API密钥https://intervals.icu/settings/developer
- 确保您的
INTERVALS_ATHLETE_ID匹配您的个人资料
“Strava访问令牌无效或过期”
- 从Strava API应用程序获取新的访问令牌
- 更新
STRAVA_ACCESS_TOKEN在你的.env文件
“Claude中的MCP服务器未连接”
- 检查中的文件路径
claude_desktop_config.json是正确的 - 配置更改后重新启动Claude Desktop
- 测试服务器是否无错误运行:
python test_intervals.py
调试模式
# Test intervals.icu connection
python test_intervals.py
# Run intervals.icu server directly (recommended)
python run_intervals_server.py
# Run Strava server
uv run python run_server.py
发展
添加新工具
- 斯特拉瓦:扩展
@app.list_tools()和@app.call_tool()在……里面src/strava_mcp/server.py - intervals.icu:在中扩展处理程序
src/intervals_mcp/server.py(提供更全面的API)
贡献
- 分叉存储库
- 创建要素分支
- 添加您的更改
- 使用您的健身数据(Strava和/或intermediate.icu)进行测试
- 提交拉取请求
为什么intervals.icu? ⭐
intervals.icu提供了比Strava更全面的训练数据访问:
- 完整的培训分析:功率曲线、训练负荷建模、健身/疲劳跟踪
- 详细的锻炼分析:时间间隔细分、结构化培训分析、尽最大努力
- 健康整合:睡眠、心率变异性、压力跟踪,用于全面的健康监测
- 高级性能指标:特定运动区域、设备跟踪、天气相关性
- 时间序列数据访问:完全访问电源、心率、GPS和传感器数据流
- 培训计划:日历与计划锻炼和分期相结合
- 更好的API:比Strava的API更稳定、更全面、更易于使用
对于严肃的运动员和教练来说,intervals.icu MCP服务器为AI助手提供了有意义的训练见解和表现分析所需的深度数据。
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
免责声明
本项目与Strava或intervals.icu无关。它使用官方API访问您的个人健身数据。您的数据仍然是私有的,只能通过您自己的MCP服务器实例访问。始终审查每个平台的API权限和服务条款。