Strava数据服务

Strava MCP Server将Strava数据(活动、分段、统计、装备和路线)通过MCP工具暴露给Claude Desktop使用。

  • by BenHCalvert
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BenHCalvert/strava_mcp

使用说明

Strava MCP服务器

将您的Strava数据(活动、分段、统计数据、装备和路线)作为MCP工具公开,供Claude Desktop使用。

与Garmin不同,Strava使用 官方OAuth2,因此您需要创建一个免费的Strava API应用程序并进行一次性授权。之后,令牌会自动刷新。适用于免费Strava帐户,无需订阅Summit。


设置

步骤1:创建Strava API应用程序

  1. 首选 https://www.strava.com/settings/api
  2. 填写表格:
    • 应用程序名称:任何内容(例如“我的MCP”)
    • 类别:其他
    • 授权回调域: localhost
  3. 复制您的 客户端ID 和 客户端密钥

步骤2:安装依赖项

pip install -r requirements.txt

步骤3:授权(一次性)

export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret

python auth.py

这将打开您的浏览器,您单击“授权”,令牌将保存到 ~/.strava_token.json您无需再次执行此操作——服务器会自动刷新令牌。

步骤4:添加到Claude桌面配置

在 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "strava": {
      "command": "python3",
      "args": ["/path/to/strava_mcp/server.py"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

退出并重新启动Claude Desktop。


可用工具

运动员

工具 说明
strava_get_athlete 完整配置文件:名称、位置、重量、FTP
strava_get_athlete_stats 骑行、跑步、游泳的所有时间和年初至今总计
strava_get_athlete_zones 人力资源和权力区

活动

工具 说明
strava_list_activities 使用日期/类型筛选器列出活动
strava_get_activity 完整的活动细节和分段努力
strava_get_activity_laps 膝盖裂开
strava_get_activity_zones 活动的人力资源/权力区细分
strava_get_activity_kudoers 谁赞扬了一项活动

片段

工具 说明
strava_get_segment 细分市场细节和您的PR
strava_get_segment_leaderboard 一个细分市场的十大努力
strava_get_starred_segments 您的明星片段

装备和路线

工具 说明
strava_get_gear 自行车/鞋子的详细信息和记录的总距离
strava_get_athlete_routes 已保存的路线

运动型滤清器示例

使用 strava_list_activities 随着 sport_type 设置为:

  • BackcountrySkiing --滑雪之旅
  • AlpineSki --度假日
  • NordicSki --XC滑雪
  • MountainBikeRide --MTB
  • Run / TrailRun
  • Ride --公路自行车
  • Hike

备注

  • 使用官方Strava API v3
  • 速率限制:每15分钟200个请求,每天2000个
  • 需要 activity:read_all 范围(由自动请求 auth.py)
  • 令牌文件存储在 ~/.strava_token.json --保密
  • 适用于免费Strava帐户,无需订阅Summit