关于 Strava Mcp
Strava Mcp 是连接 Strava 账户与 MCP 客户端的服务,适合希望通过 Claude 等客户端查询运动数据的人。它涵盖活动、统计、路线、俱乐部和社交信息,并使用 OAuth 认证。
主要功能
- 01OAuth 认证与自动刷新令牌
- 02查询活动详情和运动统计
- 03查看运动员资料
- 04探索路段并查询路线
- 05浏览俱乐部及社交互动
适用场景
- 01汇总近期跑步或骑行记录
- 02查看年度运动统计
- 03搜索附近的跑步路段
- 04查看活动点赞、评论或个人 KOM
MCP 相关
它作为 MCP 服务连接 Strava,并向 Claude Desktop 或其他兼容客户端提供查询和更新账户数据的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Strava MCP 服务
一个 MCP(Model Context Protocol)服务,可将 Claude 连接到你的 Strava 数据。可直接通过 Claude Desktop 或任何兼容 MCP 的客户端查询你的活动、统计数据和运动员档案。
功能
- OAuth 身份验证:安全验证并自动刷新令牌
- 活动数据:获取近期活动、活动详情、统计数据并更新备注
- 运动员档案:访问你的 Strava 档案和统计数据
- 路段与路线:按位置查找跑步路段,查看路线详情
- 俱乐部与社区:浏览你的俱乐部、成员和俱乐部活动
- 社交:查看赞誉、评论、KOM 和已加星标的路段
安装
前置条件
- 已安装 Python 3.10+
- Strava API 应用:在 https://www.strava.com/settings/api 创建
- 将“Authorization Callback Domain”设置为
127.0.0.1
- 将“Authorization Callback Domain”设置为
从 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"
}
}
}
}
用法
身份验证
- 向 Claude 提问:“连接到我的 Strava 账户”
- Claude 会提供一个授权 URL
- 在浏览器中打开该 URL 并授权应用
- 当前会话即可使用
注意:令牌仅存储在内存中。每次重启 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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。