使用说明
Strava MCP服务器
一种模型上下文协议(MCP)服务器,提供对Strava API的访问。该服务器使语言模型能够与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
- 创建新应用程序
- 记下客户端ID和客户端密码
- 按照OAuth 2.0流程获取刷新令牌
用法
与克劳德一起使用
连接后,您可以通过Claude以各种方式与Strava数据交互:
活动查询
- “显示我最近的活动”
- “获取我上次跑步的详细信息”
- “这个月我骑行时间最长的是什么?”
- “显示我设置个人记录的活动”
- “显示我最近活动的路线图”
性能分析
- “我今年的平均跑步速度是多少?”
- “比较我上个月和本月的自行车表现”
- “显示我昨天锻炼的心率区域”
- “我所有活动的总海拔增益是多少?”
- “计算我每周跑步的里程数”
社会交往
- “谁对我最近的活动表示赞赏?”
- “显示我对马拉松比赛的评论”
- “列出我的所有俱乐部活动”
- “查找我和朋友一起做的活动”
成就追踪
- “列出我的所有分段成就”
- “在本地分段上显示我的个人记录”
- “本周我取得了哪些成就?”
- “显示我在年度目标上的进展”
克劳德提供的数据
-
活动详细信息:
- 距离、持续时间、速度
- 路线图和高程剖面图
- 心率、功率和节奏数据
- 分叉和圈信息
- 活动期间的天气状况
-
运动员统计:
- 年初至今和历史总计
- 个人记录和成就
- 训练负荷和健身趋势
- 设备使用和维护
-
社会数据:
- 赞扬和评论
- 俱乐部活动和排行榜
- 朋友活动和挑战
- 细分努力和排名
-
路线信息:
- 带高程数据的详细地图
- 段分析
- 热门路线和路段
- 路线规划和分析
作为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
- 访问API
http://localhost:8000
可用端点:
- 获取
/activities/recent-列出最近的活动 - 获取
/activities/{id}-获取活动详细信息 - 获取
/activities/{id}/map-获取活动图可视化 - 获取
/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许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- Strava API文件
- 模型上下文协议(MCP)规范
- 贡献者和维护者
