# ctvidic
## 基本信息
- Slug: `ctvidic-strava-mcp-server`
- Source: modelscope
- Publisher: @ctvidic/strava-mcp-server
- Categories: fitness-tracking / health-and-wellness
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@ctvidic/strava-mcp-server
## 简介
暂无描述。
## MCP Server 详情

# Strava MCP 服务器

一个提供访问 Strava API 的模型上下文协议（MCP）服务器。该服务器使语言模型能够与 Strava 数据进行交互，包括活动、运动员信息等。

## 功能

- 🏃‍♂️ 活动跟踪和分析
- 📊 运动员统计数据
- 🗺️ 路线可视化
- 🏆 成就跟踪
- 🤝 社交功能（点赞、评论）

## 前提条件

- Python 3.12+
- Strava API 凭证
- pip (Python 包管理器)

## 安装

1. 克隆仓库：
   bash
   git clone https://github.com/yourusername/strava_mcp.git
   cd strava_mcp
   

2. 创建虚拟环境：
   bash
   python -m venv venv
   source venv/bin/activate  # 在 Windows 上: .venvScriptsactivate
   

3. 安装依赖项：
   bash
   pip install -r requirements.txt
   

## 配置

1. 创建 `config/.env` 文件并填入您的 Strava API 凭证：
   bash
   STRAVA_CLIENT_ID=your_client_id
   STRAVA_CLIENT_SECRET=your_client_secret
   STRAVA_REFRESH_TOKEN=your_refresh_token
   

2. 获取 Strava API 凭证：
   - 访问 https://www.strava.com/settings/api
   - 创建一个新的应用程序
   - 记录下 Client ID 和 Client Secret
   - 按照 OAuth 2.0 流程获取刷新令牌

## 使用方法

### 与 Claude 一起使用

连接后，您可以通过多种方式通过 Claude 与您的 Strava 数据进行交互：

#### 活动查询
- "显示我最近的活动"
- "获取我最后一次跑步的详细信息"
- "本月我的最长骑行是什么？"
- "显示我创造个人记录的活动"
- "显示我最新活动的路线图"

#### 性能分析
- "今年我的平均跑步配速是多少？"
- "比较上个月和这个月的骑行表现"
- "显示昨天锻炼的心率区间"
- "所有活动的总爬升高度是多少？"
- "计算本周的跑步里程"

#### 社交互动
- "谁在我的最新活动中点了赞？"
- "显示我马拉松跑的评论"
- "列出我所有的俱乐部活动"
- "找到我和朋友一起做的活动"

#### 成就跟踪
- "列出我所有的路段成就"
- "显示我在本地路段上的个人记录"
- "这周我获得了哪些成就？"
- "显示我年度目标的进展"

#### 可通过 Claude 获取的数据
1. 活动详情：
   - 距离、持续时间、配速
   - 路线图和海拔剖面
   - 心率、功率和踏频数据
   - 分段和圈数信息
   - 活动期间的天气状况

2. 运动员统计：
   - 年初至今和历史总计
   - 个人记录和成就
   - 训练负荷和健身趋势
   - 设备使用和维护情况

3. 社交数据：
   - 点赞和评论
   - 俱乐部活动和排行榜
   - 朋友的活动和挑战
   - 路段努力和排名

4. 路线信息：
   - 详细的带有海拔数据的地图
   - 路段分析
   - 流行路线和路段
   - 路线规划和分析

### 作为 MCP 服务器

更新您的 Claude Desktop 配置：

json
{
    "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 服务器

1. 启动服务器：
   bash
   ./run_server.sh
   

2. 在 `http://localhost:8000` 访问 API

可用端点：
- GET `/activities/recent` - 列出最近的活动
- GET `/activities/{id}` - 获取活动详情
- GET `/activities/{id}/map` - 获取活动地图可视化
- GET `/athlete/stats` - 获取运动员统计数据

## 开发

### 项目结构

strava_mcp/
├── src/
│   ├── strava_server.py      # MCP 服务器实现
│   ├── strava_http_server.py # HTTP API 服务器
│   ├── map_utils.py          # 地图可视化工具
│   └── templates.py          # HTML 模板
├── config/
│   └── .env                  # 环境变量（不在 Git 中）
├── requirements.txt          # Python 依赖项
└── run_server.sh            # 服务器启动脚本### 贡献

1. Fork 仓库
2. 创建一个功能分支
3. 提交你的更改
4. 推送到该分支
5. 创建一个 Pull Request

## 安全

- 永远不要提交 `.env` 文件或 API 凭证
- `.gitignore` 文件已配置，以防止敏感数据被提交
- 对所有敏感配置使用环境变量

## 许可

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

## 致谢

- Strava API 文档
- Model Context Protocol (MCP) 规范
- 贡献者和维护者

