🚀 Strava MCP 服务器
Strava MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它提供了对 Strava API 的访问能力。借助该服务器,语言模型能够与 Strava 中的活动、运动员信息等数据进行交互。
🚀 快速开始
Strava MCP 服务器使您可以轻松地与 Strava 数据进行交互。以下是使用该服务器的基本步骤。
✨ 主要特性
- 🏃♂️ 活动跟踪与分析:精准跟踪并深入分析您的运动活动。
- 📊 运动员统计信息:全面呈现运动员的各项统计数据。
- 🗺️ 路线可视化:直观展示运动路线。
- 🏆 成就追踪:实时追踪您的运动成就。
- 🤝 社交功能(点赞、评论):支持与其他运动员进行社交互动。
📦 安装指南
环境准备
- Python 3.12+
- Strava API 凭证
- pip(Python 包安装工具)
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate
- 安装依赖项:
pip install -r requirements.txt
📚 详细文档
配置
- 创建一个
config/.env
文件,输入您的 Strava API 凭证:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
- 获取 Strava API 凭证的方法:
- 访问 https://www.strava.com/settings/api
- 创建一个新应用程序
- 记下您的客户端 ID 和客户端密钥
- 按照 OAuth 2.0 流程获取刷新令牌
使用方法
与 Claude 结合使用
连接后,您可以通过 Claude 以多种方式与您的 Strava 数据交互:
- 活动查询:
- "显示我最近的活动"
- "获取我上次跑步的详细信息"
- "这个月我的最长骑行是什么?"
- "显示我设置个人记录的活动"
- "展示最新活动的路线地图"
- 性能分析:
- "今年我的平均跑步配速是多少?"
- "过去一周我最常锻炼的时间段是哪些?"
- "我的最大心率是多少?"
- "我的平均心率是多少?"
- "我的消耗了多少卡路里?"
- 数据可视化:
- "绘制我最近的活动地图"
- "生成我过去一个月的跑步距离图表"
- "展示我的心率分布图"
- "显示我的配速变化趋势"
- "绘制我的海拔 profile 图"
- 社交互动:
- "推荐一些与我水平相当的运动员"
- "分享我的活动到社交媒体"
- "获取好友最近的活动更新"
- "比较我和好友的跑步数据"
- "分析我在社区中的排名"
其他功能
- 活动日历:
- "显示我未来两周的计划活动"
- "生成我过去一年的活动年表"
- "按月份统计我的活动频率"
- "标记我所有已完成的活动"
- "提醒我即将到来的重要比赛"
- 健康分析:
- "评估我的训练负荷指数 (TLI)"
- "计算我的恢复需求评分 (RPE)"
- "提供基于数据的训练建议"
- "分析我的疲劳状态"
- "推荐适当的休息和恢复计划"
- 数据导出:
- "将我过去一年的数据导出为 CSV 文件"
- "生成适合 Excel 分析的报表"
- "下载我的活动轨迹 GPX 文件"
- "输出心率和配速的详细日志"
- "保存所有照片到本地文件夹"
开发
项目结构
- 主目录
strava_mcp_server.py
:主服务器脚本
config/
:配置文件和环境变量
models/
:模型和算法实现
data/
:数据存储和处理
api/
:API 接口定义和路由
贡献指南
- 叉仓库
- 创建功能分支
- 提交您的更改
- 推送到分支
- 创建拉取请求
安全注意事项
- 防止数据泄露:
- 禁止提交
.env
文件或其他包含敏感信息的文件到版本控制系统。
- 使用环境变量来管理所有敏感配置,避免硬编码。
- 代码安全:
- 输入验证:对用户输入进行严格的检查和过滤,防止注入攻击。
- 认证授权:实施多层次的身份认证机制,确保只有授权用户才能访问敏感数据。
- 数据加密:在传输和存储过程中对敏感信息进行加密处理,使用 HTTPS 进行通信。
- 日志记录:
- 记录详细的错误日志和操作日志,及时发现异常行为。
- 定期审查日志文件,监控潜在的安全威胁。
- 定期审计:
- 定期对代码进行安全审计,识别潜在漏洞。
- 关注最新的安全公告,及时修复已知漏洞。
📄 许可证
本项目使用 MIT 许可证,详细信息请参阅 LICENSE 文件。
致谢
- Strava API 文档
- Model Context Protocol (MCP) 规范
- 贡献者和维护者