mcpField
S
Strava Mcp

Strava Mcp

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

关于 Strava Mcp

Strava Mcp 是连接 Strava 账户与 MCP 客户端的服务,适合希望通过 Claude 等客户端查询运动数据的人。它涵盖活动、统计、路线、俱乐部和社交信息,并使用 OAuth 认证。

主要功能

  1. 01OAuth 认证与自动刷新令牌
  2. 02查询活动详情和运动统计
  3. 03查看运动员资料
  4. 04探索路段并查询路线
  5. 05浏览俱乐部及社交互动

适用场景

  1. 01汇总近期跑步或骑行记录
  2. 02查看年度运动统计
  3. 03搜索附近的跑步路段
  4. 04查看活动点赞、评论或个人 KOM

MCP 相关

它作为 MCP 服务连接 Strava,并向 Claude Desktop 或其他兼容客户端提供查询和更新账户数据的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"strava-mcp-bronteee": {
"command": "uvx",
"args": [
"git+https://github.com/bronteee/strava-mcp.git"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>"
}
}
}
}
启动命令uvx 'git+https://github.com/bronteee/strava-mcp.git'
需要配置的环境变量
STRAVA_CLIENT_ID
STRAVA_CLIENT_SECRET密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigit+https://github.com/bronteee/strava-mcp.git

工具

8

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Strava MCP 服务

一个 MCP(Model Context Protocol)服务,可将 Claude 连接到你的 Strava 数据。可直接通过 Claude Desktop 或任何兼容 MCP 的客户端查询你的活动、统计数据和运动员档案。

功能

  • OAuth 身份验证:安全验证并自动刷新令牌
  • 活动数据:获取近期活动、活动详情、统计数据并更新备注
  • 运动员档案:访问你的 Strava 档案和统计数据
  • 路段与路线:按位置查找跑步路段,查看路线详情
  • 俱乐部与社区:浏览你的俱乐部、成员和俱乐部活动
  • 社交:查看赞誉、评论、KOM 和已加星标的路段

安装

前置条件
  1. 已安装 Python 3.10+
  2. Strava API 应用:在 https://www.strava.com/settings/api 创建
    • 将“Authorization Callback Domain”设置为 127.0.0.1
从 GitHub 安装
pip install git+https://github.com/bronteee/strava-mcp.git

或使用 uv:

uv pip install git+https://github.com/bronteee/strava-mcp.git
配置 Claude Desktop

将以下内容添加到 Claude Desktop 配置文件:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "strava": {
      "command": "strava-mcp",
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

如果使用 uv 安装,请使用:

{
  "mcpServers": {
    "strava": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/bronteee/strava-mcp.git", "strava-mcp"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

用法

身份验证
  1. 向 Claude 提问:“连接到我的 Strava 账户”
  2. Claude 会提供一个授权 URL
  3. 在浏览器中打开该 URL 并授权应用
  4. 当前会话即可使用

注意:令牌仅存储在内存中。每次重启 Claude Desktop 后都需要重新进行身份验证。

可用工具
身份验证
工具描述
get_auth_status检查是否已通过身份验证
get_auth_url获取 Strava 授权 URL
authenticate用授权码交换令牌(通常会自动完成)
logout移除已存储的令牌
活动与运动员
工具描述
get_activities获取近期活动,可选按日期筛选
get_activity_details获取指定活动的详细信息
update_activity_notes更新活动的备注/描述
get_athlete获取你的运动员档案
get_athlete_stats获取你的跑步/骑行/游泳统计数据
路段与路线
工具描述
geocode_location将位置名称转换为坐标,以便搜索路段
explore_running_segments查找某个区域内的跑步路段
get_segment获取包含折线的路段详细信息
get_my_routes列出你创建的路线
get_route获取包含嵌入式路段的路线详细信息
俱乐部与社区
工具描述
get_my_clubs列出你加入的俱乐部
get_club获取俱乐部的详细信息
get_club_members列出俱乐部成员
get_club_activities获取俱乐部成员的近期活动
社交与互动
工具描述
get_activity_kudos查看哪些人为某项活动送出赞誉
get_activity_comments获取某项活动的评论
get_my_koms获取你的 KOM(山地之王/山地之后)
get_starred_segments获取你已加星标的路段
示例提示词
  • “显示我最近 5 项 Strava 活动”
  • “我今年的跑步统计数据如何?”
  • “获取我最近一次骑行的详情”
  • “将我最近一次活动的备注更新为‘美好的晨跑!’”
  • “我上个月跑了多少英里?”
  • “查找中央公园附近的跑步路段”
  • “我加入了哪些俱乐部?”
  • “显示谁为我最近一次跑步送出了赞誉”
  • “我的 KOM 有哪些?”

开发

设置
git clone https://github.com/bronteee/strava-mcp.git
cd strava-mcp
uv sync --dev
运行测试
uv run pytest
类型检查
uv run ty check src
手动运行服务
# Set environment variables
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret

# Run the server
strava-mcp

安全

  • 令牌仅存储在内存中,并会在服务停止时清除
  • 客户端凭据通过环境变量传递,不会存储在文件中
  • OAuth 流程使用 localhost 回调,不涉及外部服务

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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