README
🚀 使用Model Context Protocol (MCP) SDK集成Strava API
本项目聚焦于将Strava API与Model Context Protocol (MCP) SDK进行集成。借助该集成,可实现运动数据的分析、性能追踪以及个性化反馈等功能,为用户的运动健身提供有力支持。
🚀 快速开始
本项目详细介绍了如何将Strava API与Model Context Protocol (MCP) SDK集成。后续内容涵盖了功能特性、安装要求、安装指南、配置步骤、API使用示例以及开发相关的详细信息。
✨ 主要特性
- 运动数据分析:通过从Strava获取数据,分析用户的跑步、骑行和其他运动表现。
- 性能追踪:整合历史数据以追踪长期的健身进展。
- 个性化反馈:根据分析结果提供个性化的训练建议和反馈。
📦 安装指南
安装要求
| 类型 | 版本 | |------|------| | Python | 3.8+ | | MCP SDK | 1.0.0+ | | Strava API | 最新版本 |
环境配置
pip install mcp-sdk stravalib
快速开始步骤
- 注册Strava应用:在Strava开发者控制台创建新应用,获取
CLIENT_ID和CLIENT_SECRET。 - 授权:使用OAuth 2.0获取访问令牌:
from stravalib import Client client = Client() auth_url = client.authorization_url(client_id=STRAVA_CLIENT_ID, redirect_uri='http://localhost:8000/auth/callback') print(auth_url) - 数据获取:从Strava API获取活动数据:
from mcp_sdk import MCPClient mcp = MCPClient() activities = mcp.get_activities()
📚 详细文档
配置指南
环境变量设置
将以下内容添加到.env文件中:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
安全注意事项
- 数据加密:在传输过程中对敏感数据进行加密。
- 访问控制:使用基于角色的访问控制(RBAC)来限制API访问。
API 和示例
资源概述
| 类型 | 描述 |
|------|------|
| /activities | 获取用户的活动历史 |
| /zones | 获取用户的心率和功率区间 |
| /trainingPlans | 管理训练计划 |
示例代码
from stravalib import Client
from mcp_sdk import MCPClient
# 初始化Strava客户端
strava_client = Client(access_token='your_access_token')
# 获取活动数据
activities = strava_client.get_activities()
# 分析活动数据并生成报告
mcp_client = MCPClient()
analysis_report = mcp_client.analyze_activities(activities)
开发指南
CI/CD 和安全措施
- 代码检查:使用Ruff进行代码格式化和质量控制。
- 测试覆盖率:确保测试覆盖率达到要求。
测试命令
ruff format .
ruff check .
pytest --cov=src
贡献指南
- ** Fork 项目仓库**
- ** 安装依赖项**:
uv pip install -e ".[dev]" - ** 创建功能分支**:
git checkout -b feature/name - ** 提交更改**并创建Pull Request。
联系方式
- GitHub Issues:创建问题
- Telegram:@greg_kisel
Scan to contact