mcpField
S
Strava MCP Server

Strava MCP Server

本地服务
github.com/ctvidic健康医疗686 周前更新

关于 Strava MCP Server

Strava MCP Server 将语言模型连接到 Strava 数据,可查询活动、运动员信息、路线、成就和社交内容。它还提供用于部分活动和运动员接口的 HTTP API。

主要功能

  1. 01活动跟踪与分析
  2. 02运动员统计与纪录
  3. 03路线地图和海拔数据
  4. 04成就与年度目标
  5. 05Kudos、评论和俱乐部活动

适用场景

  1. 01查看近期训练和个人纪录
  2. 02比较训练总量与运动表现
  3. 03检查路线、分段和海拔
  4. 04查看 Kudos 和活动评论

MCP 相关

向 MCP 客户端提供 Strava 活动、运动员、路线、成就和社交数据。它还可作为 HTTP 服务运行,提供近期活动、活动详情与地图以及运动员统计接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Strava MCP 服务

一个可访问 Strava API 的模型上下文协议(MCP)服务。此服务可让大模型与 Strava 数据交互,包括活动、运动员信息等。

功能

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

前提条件

  • Python 3.12+
  • Strava API 凭据
  • pip(Python 软件包安装程序)

安装

  1. 克隆代码库:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt

配置

  1. 创建 config/.env 文件,并填入 Strava API 凭据:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
  1. 获取 Strava API 凭据:

用法

与 Claude 搭配使用

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

活动查询
  • “显示我最近的活动”
  • “获取我上一次跑步的详细信息”
  • “我这个月最长的一次骑行是什么时候?”
  • “显示我创造个人纪录的活动”
  • “显示我最近一次活动的路线图”
表现分析
  • “我今年的平均跑步配速是多少?”
  • “比较我上个月和这个月的骑行表现”
  • “显示我昨天训练的心率区间”
  • “我所有活动的总爬升是多少?”
  • “计算我的每周跑步里程”
社交互动
  • “谁给我最近一次活动点了赞?”
  • “显示我马拉松跑步活动的评论”
  • “列出我所有的俱乐部活动”
  • “查找我和朋友一起进行的活动”
成就追踪
  • “列出我所有的路段成就”
  • “显示我在本地路段上的个人纪录”
  • “我本周获得了哪些成就?”
  • “显示我年度目标的进度”
通过 Claude 可获取的数据
  1. 活动详情:

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

    • 年初至今及历史总计
    • 个人纪录和成就
    • 训练负荷和体能趋势
    • 装备使用情况和维护
  3. 社交数据:

    • 赞和评论
    • 俱乐部活动和排行榜
    • 好友活动和挑战
    • 路段成绩和排名
  4. 路线信息:

    • 带海拔数据的详细地图
    • 路段分析
    • 热门路线和路段
    • 路线规划与分析
作为 MCP 服务使用

更新 Claude Desktop 配置:

{
    "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. 启动服务:
./run_server.sh
  1. 通过 http://localhost:8000 访问 API

可用端点:

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

开发

项目结构
strava_mcp/
├── src/
│   ├── strava_server.py      # MCP server implementation
│   ├── strava_http_server.py # HTTP API server
│   ├── map_utils.py          # Map visualization utilities
│   └── templates.py          # HTML templates
├── config/
│   └── .env                  # Environment variables (not in git)
├── requirements.txt          # Python dependencies
└── run_server.sh            # Server startup script
贡献
  1. Fork 代码库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

安全

  • 切勿提交 .env 文件或 API 凭据
  • .gitignore 文件已配置为防止提交敏感数据
  • 使用环境变量保存所有敏感配置

许可证

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

致谢

  • Strava API 文档
  • 模型上下文协议(MCP)规范
  • 贡献者和维护者

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。