README
🚀 Strava MCP 服务器
一个提供对 模型上下文协议 (MCP) 的访问的 Strava API 服务器。它允许语言模型查询运动员的活动数据,为语言模型与运动员活动数据的交互搭建了桥梁。
🚀 快速开始
要使用此服务器,您需要通过 Strava API 进行身份验证。按照以下步骤操作:
- 创建 Strava API 应用:
- 前往 Strava API 设置
- 登录后创建新应用
- 记录生成的
Client ID和Client Secret
- 获取刷新令牌:
- 使用 Strava 应用的凭证,通过 OAuth 或其他方式获取刷新令牌
- 刷新令牌用于后续访问运动员数据
- 设置环境变量:
- 将
STRAVA_CLIENT_ID和STRAVA_CLIENT_SECRET添加到您的环境中
- 将
在 Claude Desktop 上使用:
- 打开终端并运行以下命令:
python3 src/main.py --config config.yaml
在 Claude Web 上使用:
- 将项目文件夹中的内容上传到服务器
- 配置 Web 应用以访问 Strava API
✨ 主要特性
- 工具丰富:服务器公开了多种活动查询工具,方便获取运动员的活动数据。
- 数据格式一致:返回具有一致字段名称和单位的活动数据,便于处理和分析。
- 错误处理友好:提供常见错误的友好提示信息,如网络问题、认证失败或无效输入。
📦 安装指南
暂未提及具体安装命令,此部分跳过。
💻 使用示例
基础用法
该服务器公开了以下工具:
活动查询
get_activities(limit: int = 10):获取已认证运动员最近的活动get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30):在特定日期范围内获取活动get_activity_by_id(activity_id: int):获取特定活动的详细信息get_recent_activities(days: int = 7, limit: int = 10):获取过去 X 天内的活动
日期应以 ISO 格式(YYYY-MM-DD)提供。
📚 详细文档
活动数据格式
服务器返回具有一致字段名称和单位的活动数据:
| 字段 | 描述 | 单位 |
|------|------|------|
| name | 活动名称 | - |
| sport_type | 运动类型 | - |
| start_date | 开始日期和时间 | ISO 8601 |
| distance_metres | 距离 | 米 |
| elapsed_time_seconds | 总耗时 | 秒 |
| moving_time_seconds | 移动时间 | 秒 |
| average_speed_mps | 平均速度 | 米每秒 |
| max_speed_mps | 最大速度 | 米每秒 |
| total_elevation_gain_metres | 总 elevation 获得 | 米 |
| elev_high_metres | 最高 elevation | 米 |
| elev_low_metres | 最低 elevation | 米 |
| calories | 烧毁的卡路里 | kcal |
| start_latlng | 开始坐标 | [纬度, 经度] |
| end_latlng | 结束坐标 | [纬度, 经度] |
🔧 技术细节
暂未提供具体的技术实现细节,此部分跳过。
Scan to join WeChat group