Strava MCP服务器v2
 ](https://go.dev/)
学分: 本项目基于 利勒丹1/斯特拉瓦mcp感谢原作者的奠基和启发!
用于访问和分析Strava活动数据的模型上下文协议(MCP)服务器,具有本地缓存、高级分析和v2的新工具。
目录
______________________________________________________________________
v2中的新功能
- 扩大API覆盖范围:更多端点,包括装备、路线、路段和统计数据
- 高级分析工具:圈数、区域、分段努力和运动员统计数据
- 改进了本地缓存:更快的响应和减少的API调用
- 模块化代码库:更易于扩展和维护
- 更好的CLI和服务器分离:参见
cmd/strava-api和cmd/strava-mcp - 书籍风格文档:参见
book/获取指南和示例
______________________________________________________________________
先决条件
- 转到1.24.5或更高版本 (下载)
- 斯特拉瓦账户 具有API访问权限
- Strava API证书 (客户端ID和客户端密码)
- 在以下位置创建应用程序 Strava API设置 - 看 安装指南 详细说明
______________________________________________________________________
快速开始
- 克隆存储库:
git clone
cd strava-mcp-v2- 构建二进制文件:
make build- 设置您的Strava凭据:
cd tools
go run main.go按照交互式提示授权应用程序并保存刷新令牌。
- 配置您的MCP客户端 (例如,克劳德代码):
编辑您的MCP设置文件(例如。, ~/.config/claude/mcp_settings.json 或Claude桌面配置):
{
"mcpServers": {
"strava": {
"command": "/absolute/path/to/strava-mcp-v2/bin/strava-mcp",
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret",
"FOLDER_PATH": "/absolute/path/to/strava-mcp-v2"
}
}
}
}- 开始使用它! 当您使用Claude Code时,MCP服务器将自动启动。
______________________________________________________________________
你能做什么(v2)
- 分析活动:获取跑步、骑行、游泳等详细统计数据
- 按日期/类型筛选:使用灵活的筛选功能查找特定活动
- 流数据:访问GPS、心率、功率和传感器数据
- 性能洞察:比较训练、跟踪进度并识别模式
- 细分分析:回顾明星片段和你所有的努力
- 装备和路线:跟踪设备使用情况和访问保存的路线
- 重叠和区域分析:进入间歇、圈数和心率/功率区
- 运动员统计:查看您的培训总数和趋势
______________________________________________________________________
特性
- 本地数据缓存,实现快速、离线友好的响应
- 综合活动指标(距离、速度、心率、功率、海拔高度等)
- 用于详细分析的时间序列流数据
- 自动速率限制管理
- 模块化、可扩展的代码库(参见
api/,service/,repo/) - CLI和服务器模式(请参见
cmd/) - 书籍风格的文档
book/
______________________________________________________________________
文档
请参阅 书籍/ 完整指南目录,包括:
- 概述和架构
- 开发人员凭据设置
- 工具和API参考
- 示例查询和工作流
______________________________________________________________________
可用工具(v2)
训练分析
get_athlete_stats--查看您的训练总数和趋势get_activity_laps--分析间隔和圈数数据get_activity_zones--检查心率和功率区 *(需要Strava订阅)*get_activity_streams--访问详细的时间序列数据(GPS、HR、电源等)
部门绩效
get_starred_segments--追踪你最喜欢的片段get_segment_efforts--比较分段上的所有尝试
规划与设备
get_routes--访问您保存的路线get_gear--监控设备的使用和维护
活动数据
get_activity--检索特定活动的完整详细信息list_activities--列出并筛选您的活动
______________________________________________________________________
示例用例
- 分析你的跑步或骑行进度
- 在最喜欢的片段上找到你的最佳努力
- 可视化锻炼的心率或功率数据
- 履带板或自行车保养里程
- 规划路线并回顾过去的表现
______________________________________________________________________
故障排除
常见问题
“加载令牌失败”
- 确保你已经跑过了
tools/main.go生成您的refresh_token.json - 验证
FOLDER_PATH环境变量指向正确的目录 - 检查一下
refresh_token.json存在于你的FOLDER_PATH
“超出费率限制”
- 服务器使用本地缓存来最小化API调用
- 在获取新数据之前,考虑使用缓存的数据
- Strava API有速率限制:每15分钟100次请求,每天1000次
“凭据无效”
- 仔细检查你的
STRAVA_CLIENT_ID和STRAVA_CLIENT_SECRET - 确保您的Strava应用程序设置具有正确的重定向URI
- 尝试在重新生成凭据 Strava API设置
构建错误
- 确保您使用的是Go 1.24.5或更高版本:
go version - 跑
go mod tidy确保依赖关系正确 - 尝试
make clean && make build
______________________________________________________________________
贡献
欢迎投稿!请随时提交问题或拉取请求。
开发设置
- 分叉存储库
- 克隆你的叉子:
git clone - 创建要素分支:
git checkout -b feature/your-feature - 进行更改
- 运行测试:
make test - 运行过梁:
make check - 提交您的更改:
git commit -am 'Add some feature' - 推到分支:
git push origin feature/your-feature - 提交拉取请求
代码风格
- 遵循标准Go惯例
- 跑
make lint提交前 - 添加新功能的测试
- 根据需要更新文档
______________________________________________________________________
许可证
此项目根据GNU通用公共许可证v3.0获得许可——有关详细信息,请参阅License文件。
______________________________________________________________________
