这是一个提供对 Strava API 访问的 Model Context Protocol (MCP) 服务器。它允许语言模型查询运动员活动数据。
该服务器暴露了以下工具:
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 | 总海拔增益 | 米 |
elev_high_metres | 最高海拔 | 米 |
elev_low_metres | 最低海拔 | 米 |
calories | 燃烧的卡路里 | 千卡 |
start_latlng | 开始坐标 | [纬度, 经度] |
end_latlng | 结束坐标 | [纬度, 经度] |
要使用此服务器,您需要通过 Strava API 进行认证。请按照以下步骤操作:
创建一个 Strava API 应用程序:
localhost获取您的刷新令牌:
get_strava_token.py 脚本:python get_strava_token.py
.env 文件中设置环境变量: 服务器需要以下环境变量:
STRAVA_CLIENT_ID: 您的 Strava API 客户端 IDSTRAVA_CLIENT_SECRET: 您的 Strava API 客户端密钥STRAVA_REFRESH_TOKEN: 您的 Strava API 刷新令牌更新您的 claude_desktop_config.json(位于 macOS 的 ~/Library/Application\ Support/Claude/claude_desktop_config.json 和 Windows 的 %APPDATA%/Claude/claude_desktop_config.json)以包含以下内容:
{
"mcpServers": {
"strava": {
"command": "uvx",
"args": [
"strava-mcp-server"
],
"env": {
"STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
"STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
}
}
}
}
对于 Claude 网页版,您可以本地运行服务器并通过 MCP 扩展连接它。
一旦连接,您可以向 Claude 提问如下问题:
服务器提供了常见问题的人类可读错误消息:
本项目根据 MIT 许可证发布 - 查看 LICENSE 文件以获取详细信息。