mcpField
S
Strava MCP Server

Strava MCP Server

本地服务
github.com/tomekkorbak健康医疗2573 周前更新

关于 Strava MCP Server

Strava MCP Server 是一个 MCP 服务,用于通过 Strava API 查询运动者的活动数据。它让语言模型能够读取活动列表、日期范围内的记录以及单次活动的详细信息。输出字段统一使用公制单位,便于模型直接分析。

主要功能

  1. 01查询最近活动与指定日期范围的活动
  2. 02按 ID 获取单次活动详情
  3. 03按过去若干天筛选活动
  4. 04返回距离、时间、速度、海拔等统一单位字段

适用场景

  1. 01询问最近一周的训练情况
  2. 02查找过去一个月最长的跑步记录
  3. 03获取最近一次骑行的详细数据

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露多个用于查询 Strava 活动的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Strava MCP 服务

Python Package License: MIT Python 3.10 Install MCP Server

一个 Model Context Protocol (MCP) 服务,提供对 Strava API 的访问。它允许大模型从 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总爬升米
elev_high_metres最高海拔米
elev_low_metres最低海拔米
calories消耗卡路里千卡
start_latlng起点坐标[纬度, 经度]
end_latlng终点坐标[纬度, 经度]

身份验证

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

  1. 创建一个 Strava API 应用:

    • 前往 Strava API Settings
    • 创建一个应用以获取你的 Client ID 和 Client Secret
    • 将 Authorization Callback Domain 设置为 localhost
  2. 获取你的 refresh token:

    • 使用附带的 get_strava_token.py 脚本:
    python get_strava_token.py
    
    • 按照提示授权你的应用
    • 该脚本会将你的 token 保存到 .env 文件
  3. 设置环境变量: 该服务需要以下环境变量:

    • STRAVA_CLIENT_ID:你的 Strava API Client ID
    • STRAVA_CLIENT_SECRET:你的 Strava API Client Secret
    • STRAVA_REFRESH_TOKEN:你的 Strava API Refresh Token

使用方法

Claude for Desktop

更新你的 claude_desktop_config.json(在 macOS 上位于 ~/Library/Application\ Support/Claude/claude_desktop_config.json,在 Windows 上位于 %APPDATA%/Claude/claude_desktop_config.json),加入以下内容:

{
    "mcpServers": {
        "strava": {
            "command": "uvx",
            "args": [
                "strava-mcp-server"
            ],
            "env": {
                "STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
                "STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
                "STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
            }
        }
    }
}
Claude Web

对于 Claude Web,你可以在本地运行该服务,并使用 MCP 扩展进行连接。

示例查询

连接后,你可以向 Claude 提出如下问题:

  • “我最近有哪些活动?”
  • “显示我上周的活动”
  • “过去一个月我最长的一次跑步是什么?”
  • “获取我最近一次骑行活动的详细信息”

错误处理

该服务针对常见问题提供人类可读的错误消息:

  • 日期格式无效
  • API 身份验证错误
  • 网络连接问题

许可证

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。