关于 Strava MCP Server
Strava MCP Server 将语言模型连接到 Strava 数据,可查询活动、运动员信息、路线、成就和社交内容。它还提供用于部分活动和运动员接口的 HTTP API。
主要功能
- 01活动跟踪与分析
- 02运动员统计与纪录
- 03路线地图和海拔数据
- 04成就与年度目标
- 05Kudos、评论和俱乐部活动
适用场景
- 01查看近期训练和个人纪录
- 02比较训练总量与运动表现
- 03检查路线、分段和海拔
- 04查看 Kudos 和活动评论
MCP 相关
向 MCP 客户端提供 Strava 活动、运动员、路线、成就和社交数据。它还可作为 HTTP 服务运行,提供近期活动、活动详情与地图以及运动员统计接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Strava MCP 服务
一个可访问 Strava API 的模型上下文协议(MCP)服务。此服务可让大模型与 Strava 数据交互,包括活动、运动员信息等。
功能
- 🏃♂️ 活动追踪与分析
- 📊 运动员统计数据
- 🗺️ 路线可视化
- 🏆 成就追踪
- 🤝 社交功能(赞、评论)
前提条件
- Python 3.12+
- Strava API 凭据
- pip(Python 软件包安装程序)
安装
- 克隆代码库:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
配置
- 创建
config/.env文件,并填入 Strava API 凭据:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
- 获取 Strava API 凭据:
- 前往 https://www.strava.com/settings/api
- 创建一个新应用
- 记下 Client ID 和 Client Secret
- 按照 OAuth 2.0 流程获取 refresh token
用法
与 Claude 搭配使用
连接后,你可以通过 Claude 以多种方式与 Strava 数据交互:
活动查询
- “显示我最近的活动”
- “获取我上一次跑步的详细信息”
- “我这个月最长的一次骑行是什么时候?”
- “显示我创造个人纪录的活动”
- “显示我最近一次活动的路线图”
表现分析
- “我今年的平均跑步配速是多少?”
- “比较我上个月和这个月的骑行表现”
- “显示我昨天训练的心率区间”
- “我所有活动的总爬升是多少?”
- “计算我的每周跑步里程”
社交互动
- “谁给我最近一次活动点了赞?”
- “显示我马拉松跑步活动的评论”
- “列出我所有的俱乐部活动”
- “查找我和朋友一起进行的活动”
成就追踪
- “列出我所有的路段成就”
- “显示我在本地路段上的个人纪录”
- “我本周获得了哪些成就?”
- “显示我年度目标的进度”
通过 Claude 可获取的数据
-
活动详情:
- 距离、时长、配速
- 路线图和海拔剖面
- 心率、功率和步频数据
- 分段数据和圈数信息
- 活动期间的天气状况
-
运动员统计数据:
- 年初至今及历史总计
- 个人纪录和成就
- 训练负荷和体能趋势
- 装备使用情况和维护
-
社交数据:
- 赞和评论
- 俱乐部活动和排行榜
- 好友活动和挑战
- 路段成绩和排名
-
路线信息:
- 带海拔数据的详细地图
- 路段分析
- 热门路线和路段
- 路线规划与分析
作为 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 服务使用
- 启动服务:
./run_server.sh
- 通过
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
贡献
- Fork 代码库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
安全
- 切勿提交
.env文件或 API 凭据 .gitignore文件已配置为防止提交敏感数据- 使用环境变量保存所有敏感配置
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
- Strava API 文档
- 模型上下文协议(MCP)规范
- 贡献者和维护者
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。