使用说明
Strava MCP服务器⚡
全面 模型上下文协议(MCP) 提供完全访问权限的服务器 Strava API v3非常适合将Strava数据与Claude Desktop和其他MCP兼容客户端集成。
✨ 特性
🏃♂️ 活动
- 创建和更新手动活动
- 检索详细的活动信息
- 访问评论、荣誉、圈数和动力区
- 使用高级参数搜索和过滤活动
- 上传GPX/TCX文件
👤 运动员
- 获取经过认证的运动员资料和统计数据
- 访问培训区域和设置
- 更新运动员档案信息
- 检索运动员俱乐部会员资格
🏆 俱乐部
- 浏览俱乐部详情和活动
- 访问成员列表和管理员
- 获取俱乐部特定活动订阅源
🎯 路段和路线
- 探索特定领域的细分市场
- 访问星级细分市场和排行榜
- 获得细分市场的努力和成就
- 检索路线详细信息和导出格式
🔧 附加功能
- 40多个API终点 全面覆盖Strava API v3
- OAuth 2.0身份验证 具有自动令牌管理功能
- 线程安全操作 用于可靠的并发访问
- 全面的错误处理 详细记录
- 符合MCP标准 工具和资源分类
🚀 快速开始
先决条件
- Python 3.8或更高版本
- Strava开发者账户
- Claude Desktop或其他MCP客户端
安装
-
克隆存储库
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证书
- 首选 Strava开发商
- 创建新应用程序
- 将授权回调域设置为:
localhost - 将授权回调URL设置为:
http://localhost:8080 - 注意你的
Client ID和Client Secret
-
完成设置(推荐-所有用户)
python setup_complete.py这个脚本将:
- 指导您完成OAuth设置
- 将令牌保存到
.env文件 - 自动更新您的Claude Desktop配置
特定用例的替代设置:
# For server deployments (no Claude Desktop): python -m mcp_server.oauth_setup # For token refresh only (when tokens expire): python update_claude_config.py -
配置Claude桌面(如果没有自动更新) 添加到您的
claude_desktop_config.json:{ "mcpServers": { "strava-mcp": { "command": "path/to/your/strava-mcp/start_mcp_server.bat", "cwd": "path/to/your/strava-mcp" } } }
🔧 用法
手动令牌刷新
当您的令牌过期时,请刷新它们:
# Refresh tokens and update Claude Desktop config
python update_claude_config.py
# Or just refresh tokens in .env file
python refresh_tokens.py
可用工具和资源
🛠️ 工具 (写入操作)
create_strava_activity-创建手动活动update_strava_activity-更新现有活动update_athlete_profile-更新运动员信息star_strava_segment-星/星段upload_activity_file-上传GPX/TCX文件search_activities-高级活动搜索explore_segments_in_area-按位置查找细分市场get_segment_leaderboard-获取细分市场排名get_activity_stream_data-获取活动流数据
📊 资源 (读取操作)
- 活动详情、评论、荣誉、圈数、区域
- 运动员简介、统计数据、区域、俱乐部
- 俱乐部详情、活动、会员
- 装备信息和使用统计数据
- 路线详细信息和导出格式
- 细分信息和努力
- 流数据(GPS、功率、心率)
🔐 认证
此服务器使用 OAuth 2.0 手动刷新令牌:
- 环境变量中的安全令牌存储
- 线程安全令牌管理
- 自动更新Claude桌面配置
- 手动刷新功能,实现完全控制
📁 项目结构
strava-mcp/
├── mcp_server/
│ ├── __init__.py
│ ├── __main__.py # MCP server entry point
│ ├── server.py # FastMCP server with tools/resources
│ ├── api.py # Complete Strava API v3 wrapper
│ ├── auth.py # OAuth 2.0 authentication manager
│ └── oauth_setup.py # Initial OAuth setup utility
├── requirements.txt # Python dependencies
├── refresh_tokens.py # Manual token refresh utility
├── update_claude_config.py # Claude Desktop config updater
├── start_mcp_server.bat # Server startup script (Windows)
├── start_mcp_server.sh # Server startup script (Unix/Linux)
└── README.md # This file
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢
⭐ 星这个回购!
如果你觉得这个项目有用,请考虑给它一颗星!它帮助其他人发现这个工具。