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
配置
- 使用您的 Strava API 凭证创建一个
config/.env
文件:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
- 要获取 Strava API 凭证:
用法
与 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 服务器
- 启动服务器:
- 通过
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
贡献
- 分叉存储库
- 创建功能分支
- 提交你的更改
- 推送到分支
- 创建拉取请求
安全
- 切勿提交
.env
文件或 API 凭证 .gitignore
文件配置用于防止提交敏感数据- 对所有敏感配置使用环境变量
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- Strava API 文档
- 模型上下文协议 (MCP) 规范
- 贡献者和维护者