Strava数据交互服务

一个用于与Strava API交互的模型上下文协议(MCP)服务器,允许用户获取、创建和管理Strava活动数据。

  • by rakeshgangwar
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 rakeshgangwar/strava-mcp-server

使用说明

Strava MCP服务器

这是Strava API的模型上下文协议(MCP)服务器,允许Claude与您的Strava数据交互。

特性

Strava MCP服务器提供以下工具:

  • get_athlete_activities:为经过认证的运动员获取活动
  • get_activity:获取特定活动的详细信息
  • create_activity:创建手动活动
  • get_activity_kudoers:找到那些称赞某项活动的运动员
  • get_activity_laps:完成一项活动

安装说明

1.创建Strava API应用程序

  1. 首选 Strava API设置
  2. 创建新应用程序:
    • 应用程序名称:Claude Strava Integration(或您喜欢的任何名称)
    • 网站:http://localhost
    • 授权回调域:localhost
  3. 创建应用程序后,请注意 客户端ID 和 客户端密钥

2.获取刷新令牌

  1. 安装所需的依赖项:

    cd /Users/{USERNAME}/Documents/Cline/MCP/strava-mcp-server
    npm install
    
  2. 使用您的客户端ID和客户端密码运行get-stravatoken.js脚本:

node get-strava-token.js YOUR_CLIENT_ID YOUR_CLIENT_SECRET
  1. 该脚本将打开一个浏览器窗口,要求您授权应用程序访问您的Strava数据。
  2. 授权后,脚本将在终端中显示您的刷新令牌。

3.配置MCP设置

  1. 使用Strava API凭证更新MCP设置文件:
    • 地点: /Users/{USERNAME}/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • 将您的客户端ID、客户端密码和刷新令牌添加到 env 部分 strava 服务器配置:
      "strava": {
        "command": "node",
        "args": [
          "/Users/{USERNAME}/Documents/Cline/MCP/strava-mcp-server/dist/index.js"
        ],
        "env": {
          "STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
          "STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
          "STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
        },
        "disabled": false,
        "autoApprove": []
      }
      

4.构建并启动服务器

服务器将在需要时由Claude自动启动。如果你想手动测试它:

cd /Users/{USERNAME}/Documents/Cline/MCP/strava-mcp-server
npm run build
npm start

使用示例

配置Strava MCP服务器后,您可以要求Claude与您的Strava数据进行交互:

  • “显示我最近的Strava活动”
  • “获取我最近Strava跑步的详细信息”
  • “在Strava上创建新的手动活动”
  • “谁称赞我最近乘坐Strava?”
  • “显示我上次田径训练的圈数”

故障排除

  • 身份验证错误:如果遇到身份验证错误,则刷新令牌可能已过期。再次运行get_strava-token.js脚本以获取新的刷新令牌。
  • 服务器未启动:确保MCP设置文件中指向服务器的路径正确,并且您已使用 npm run build.
  • API费率限制:Strava API有费率限制。如果遇到速率限制错误,请等待几分钟后重试。

许可证

该项目根据MIT许可证获得许可。