Strava MCP Server

Strava MCP Server

site icon
2025.03.05 2
Python运动数据分析健身追踪社交互动路线可视化位置服务娱乐功能
Strava MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,提供对 Strava API 的访问。该服务器使语言模型能够与 Strava 数据进行交互,包括活动、运动员信息等。核心功能包括活动跟踪与分析、运动员统计、路线可视化、成就追踪和社交功能。适用于运动数据分析、个人健身追踪、社交互动和成就管理等场景。
View on GitHub

Overview

基本能力

产品定位

Strava MCP Server 是一个连接 Strava API 的中间件,旨在为语言模型提供访问和处理 Strava 数据的接口。

核心功能

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

适用场景

  • 个人健身数据分析和追踪
  • 运动表现比较和趋势分析
  • 社交互动和俱乐部活动管理
  • 路线规划和可视化
  • 成就和记录追踪

工具列表

  • strava_server.py: MCP 服务器实现
  • strava_http_server.py: HTTP API 服务器
  • map_utils.py: 地图可视化工具
  • templates.py: HTML 模板

常见问题解答

  • 如何获取 Strava API 凭证?
  • 访问 https://www.strava.com/settings/api 创建新应用
  • 记录客户端 ID 和密钥
  • 遵循 OAuth 2.0 流程获取刷新令牌
  • 如何保护敏感数据?
  • 不要提交 .env 文件或 API 凭证
  • 使用环境变量进行所有敏感配置

使用教程

使用依赖

  • 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  # 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. 作为 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"
            }
        }
    }
}
  1. 作为 HTTP 服务器运行:
./run_server.sh

访问 API: http://localhost:8000 可用端点: - GET /activities/recent - 列出最近活动 - GET /activities/{id} - 获取活动详情 - GET /activities/{id}/map - 获取活动地图可视化 - GET /athlete/stats - 获取运动员统计

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。