一个基于 Model Context Protocol (MCP) 的服务器,它提供了对 Strava API 的访问能力,允许语言模型查询已认证运动员的活动数据。
本服务器可让语言模型轻松查询 Strava 中已认证运动员的活动数据。下面将详细介绍使用前的准备工作。
该服务器提供了一系列工具,用于查询 Strava 中运动员的活动数据:
get_activities(limit: int = 10)
:获取已认证运动员最近的活动。get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30)
:在特定日期范围内获取活动。日期需以 ISO 格式(YYYY-MM-DD
)提供。get_activity_by_id(activity_id: int)
:获取某个特定活动的详细信息。get_recent_activities(days: int = 7, limit: int = 10)
:获取过去 X 天内的活动。要使用此服务器,您需要通过 Strava API 进行身份验证,具体步骤如下:
localhost
。get_strava_token.py
脚本:python get_strava_token.py
- 按照提示输入您的 Strava 凭证以获取 refresh token。
.env
文件或相应配置文件中:STRAVA_REFRESH_TOKEN=your_refresh_token_here
服务器返回的活动数据具有一致的字段名称和单位,具体如下:
字段 | 描述 | 单位 |
---|---|---|
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 |
总海拔提升 | 米 |
elev_high_metres |
最高海拔 | 米 |
elev_low_metres |
最低海拔 | 米 |
calories |
消耗的卡路里 | kcal |
start_latlng |
起点坐标 | [lat, lng] |
end_latlng |
终点坐标 | [lat, lng] |
根据您使用的语言模型(Claude Desktop 或 Web),按照以下步骤进行配置:
~/.config/anthropic/claude/settings.json
。"mcp"
下添加 Strava 插件:"plugins": {
"strava": {
"enabled": true,
"api_key": "your_api_key",
"refresh_token": "your_refresh_token"
}
}
your_api_key
your_refresh_token
以下是一些示例查询,帮助您快速上手:
print(strava.get_recent_activities())
activity_id = 123456789
print(strava.get_activity_by_id(activity_id))
本项目采用 MIT 许可证。
通过以上步骤,您可以轻松将 Strava 数据集成到语言模型中,扩展其功能。