Back to MCP directory
publicPublicdnsLocal runtime

tomekkorbak_strava-mcp-server

一个基于Model Context Protocol (MCP)的服务端,提供对Strava API的访问,允许语言模型查询运动员活动数据。

article

README

🚀 Strava MCP 服务器

一个提供对 模型上下文协议 (MCP) 的访问的 Strava API 服务器。它允许语言模型查询运动员的活动数据,为语言模型与运动员活动数据的交互搭建了桥梁。

🚀 快速开始

要使用此服务器,您需要通过 Strava API 进行身份验证。按照以下步骤操作:

  1. 创建 Strava API 应用:
    • 前往 Strava API 设置
    • 登录后创建新应用
    • 记录生成的 Client IDClient Secret
  2. 获取刷新令牌:
    • 使用 Strava 应用的凭证,通过 OAuth 或其他方式获取刷新令牌
    • 刷新令牌用于后续访问运动员数据
  3. 设置环境变量:
    • STRAVA_CLIENT_IDSTRAVA_CLIENT_SECRET 添加到您的环境中

在 Claude Desktop 上使用:

  • 打开终端并运行以下命令:
python3 src/main.py --config config.yaml

在 Claude Web 上使用:

  • 将项目文件夹中的内容上传到服务器
  • 配置 Web 应用以访问 Strava API

✨ 主要特性

  • 工具丰富:服务器公开了多种活动查询工具,方便获取运动员的活动数据。
  • 数据格式一致:返回具有一致字段名称和单位的活动数据,便于处理和分析。
  • 错误处理友好:提供常见错误的友好提示信息,如网络问题、认证失败或无效输入。

📦 安装指南

暂未提及具体安装命令,此部分跳过。

💻 使用示例

基础用法

该服务器公开了以下工具:

活动查询

  • get_activities(limit: int = 10):获取已认证运动员最近的活动
  • get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30):在特定日期范围内获取活动
  • get_activity_by_id(activity_id: int):获取特定活动的详细信息
  • get_recent_activities(days: int = 7, limit: int = 10):获取过去 X 天内的活动

日期应以 ISO 格式(YYYY-MM-DD)提供。

📚 详细文档

活动数据格式

服务器返回具有一致字段名称和单位的活动数据: | 字段 | 描述 | 单位 | |------|------|------| | name | 活动名称 | - | | sport_type | 运动类型 | - | | start_date | 开始日期和时间 | ISO 8601 | | distance_metres | 距离 | 米 | | elapsed_time_seconds | 总耗时 | 秒 | | moving_time_seconds | 移动时间 | 秒 | | average_speed_mps | 平均速度 | 米每秒 | | max_speed_mps | 最大速度 | 米每秒 | | total_elevation_gain_metres | 总 elevation 获得 | 米 | | elev_high_metres | 最高 elevation | 米 | | elev_low_metres | 最低 elevation | 米 | | calories | 烧毁的卡路里 | kcal | | start_latlng | 开始坐标 | [纬度, 经度] | | end_latlng | 结束坐标 | [纬度, 经度] |

🔧 技术细节

暂未提供具体的技术实现细节,此部分跳过。

📄 许可证

MIT 许可证

Python 包 许可证: MIT Python 3.10

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client