c

ctvidic

@ctvidic/strava-mcp-server
0 Stars 12 次浏览 ctvidic 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "Strava": {
      "args": [
        "src/strava_server.py"
      ],
      "command": "python",
      "cwd": "/path/to/strava_mcp",
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret",
        "STRAVA_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

服务介绍

Strava MCP 服务器

一个提供访问 Strava API 的模型上下文协议(MCP)服务器。该服务器使语言模型能够与 Strava 数据进行交互,包括活动、运动员信息等。

功能

  • 🏃‍♂️ 活动跟踪和分析
  • 📊 运动员统计数据
  • 🗺️ 路线可视化
  • 🏆 成就跟踪
  • 🤝 社交功能(点赞、评论)

前提条件

  • Python 3.12+
  • Strava API 凭证
  • pip (Python 包管理器)

安装

  1. 克隆仓库:
    bash
    git clone https://github.com/yourusername/strava_mcp.git
    cd strava_mcp

  2. 创建虚拟环境:
    bash
    python -m venv venv
    source venv/bin/activate # 在 Windows 上: .venvScriptsactivate

  3. 安装依赖项:
    bash
    pip install -r requirements.txt

配置

  1. 创建 config/.env 文件并填入您的 Strava API 凭证:
    bash
    STRAVA_CLIENT_ID=your_client_id
    STRAVA_CLIENT_SECRET=your_client_secret
    STRAVA_REFRESH_TOKEN=your_refresh_token

  2. 获取 Strava API 凭证:

使用方法

与 Claude 一起使用

连接后,您可以通过多种方式通过 Claude 与您的 Strava 数据进行交互:

活动查询

  • "显示我最近的活动"
  • "获取我最后一次跑步的详细信息"
  • "本月我的最长骑行是什么?"
  • "显示我创造个人记录的活动"
  • "显示我最新活动的路线图"

性能分析

  • "今年我的平均跑步配速是多少?"
  • "比较上个月和这个月的骑行表现"
  • "显示昨天锻炼的心率区间"
  • "所有活动的总爬升高度是多少?"
  • "计算本周的跑步里程"

社交互动

  • "谁在我的最新活动中点了赞?"
  • "显示我马拉松跑的评论"
  • "列出我所有的俱乐部活动"
  • "找到我和朋友一起做的活动"

成就跟踪

  • "列出我所有的路段成就"
  • "显示我在本地路段上的个人记录"
  • "这周我获得了哪些成就?"
  • "显示我年度目标的进展"

可通过 Claude 获取的数据

  1. 活动详情:

    • 距离、持续时间、配速
    • 路线图和海拔剖面
    • 心率、功率和踏频数据
    • 分段和圈数信息
    • 活动期间的天气状况
  2. 运动员统计:

    • 年初至今和历史总计
    • 个人记录和成就
    • 训练负荷和健身趋势
    • 设备使用和维护情况
  3. 社交数据:

    • 点赞和评论
    • 俱乐部活动和排行榜
    • 朋友的活动和挑战
    • 路段努力和排名
  4. 路线信息:

    • 详细的带有海拔数据的地图
    • 路段分析
    • 流行路线和路段
    • 路线规划和分析

作为 MCP 服务器

更新您的 Claude Desktop 配置:

json
{
"mcpServers": {
"Strava": {
"command": "python",
"args": ["src/strava_server.py"],
"cwd": "/path/to/strava_mcp",
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret",
"STRAVA_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}

作为 HTTP 服务器

  1. 启动服务器:
    bash
    ./run_server.sh

  2. http://localhost:8000 访问 API

可用端点:

  • GET /activities/recent - 列出最近的活动
  • GET /activities/{id} - 获取活动详情
  • GET /activities/{id}/map - 获取活动地图可视化
  • GET /athlete/stats - 获取运动员统计数据

开发

项目结构

strava_mcp/
├── src/
│ ├── strava_server.py # MCP 服务器实现
│ ├── strava_http_server.py # HTTP API 服务器
│ ├── map_utils.py # 地图可视化工具
│ └── templates.py # HTML 模板
├── config/
│ └── .env # 环境变量(不在 Git 中)
├── requirements.txt # Python 依赖项
└── run_server.sh # 服务器启动脚本### 贡献

  1. Fork 仓库
  2. 创建一个功能分支
  3. 提交你的更改
  4. 推送到该分支
  5. 创建一个 Pull Request

安全

  • 永远不要提交 .env 文件或 API 凭证
  • .gitignore 文件已配置,以防止敏感数据被提交
  • 对所有敏感配置使用环境变量

许可

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

  • Strava API 文档
  • Model Context Protocol (MCP) 规范
  • 贡献者和维护者

相关 MCP 服务