使用说明
项目简介
Strava MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型(LLM)客户端提供访问 Strava 运动数据的能力。通过此服务器,LLM 可以安全、便捷地获取用户的 Strava 活动信息,从而在运动健康、个性化推荐等应用场景中实现更智能的功能。
主要功能点
- 获取用户活动列表:允许 LLM 获取经过身份验证的 Strava 用户的活动概要列表,支持按时间范围和分页筛选。
- 获取活动详情:允许 LLM 获取特定 Strava 活动的详细信息,包括运动类型、距离、时间、海拔、心率等数据。
- 获取活动分段信息:允许 LLM 获取 Strava 活动中的分段(Segments)信息,例如坡度、距离、配速等,用于更细粒度的运动分析。
- OAuth 2.0 认证:采用 OAuth 2.0 协议进行用户身份验证,确保数据访问的安全性。
- 易于安装和配置:使用 'uvx' 即可快速安装,并提供详细的配置指南。
安装步骤
-
安装 Strava MCP Server: 使用 'uvx' 包管理器可以轻松安装 Strava MCP Server:
uvx strava-mcp -
配置 Strava API 凭据:
- 访问 Strava API 网站 创建一个新的 API 应用程序,获取 'Client ID' 和 'Client Secret'。
- 将 "Authorization Callback Domain" 设置为 'localhost'。
- 创建一个凭据文件(例如 '~/.ssh/strava.sh'),并填入你的 'Client ID' 和 'Client Secret':
export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
-
配置 MCP 客户端: 以 Claude Desktop 为例,在 Claude 的配置文件 ('/Users/<username>/Library/Application Support/Claude/claude_desktop_config.json') 中添加 Strava 服务器配置:
"strava": { "serverName": "strava", "command": "bash", "args": [ "-c", "source ~/.ssh/strava.sh && uvx strava-mcp" ] }配置信息参数说明:
- '"serverName"': 服务器名称,客户端用于标识和调用。例如这里设置为 '"strava"'。
- '"command"': 启动 MCP 服务器的命令。这里使用 'bash' 解释器。
- '"args"': 传递给 'command' 的参数列表。
- '"-c"': 'bash -c' 表示执行后续的字符串命令。
- '"source ~/.ssh/strava.sh && uvx strava-mcp"': 实际执行的命令。
- 'source ~/.ssh/strava.sh': 加载 Strava API 凭据的环境变量。
- 'uvx strava-mcp': 运行已安装的 'strava-mcp' MCP 服务器。
基本使用方法
-
启动 Strava MCP Server: MCP 服务器会在客户端(如 Claude)首次调用 Strava 工具时自动启动。
-
身份验证: 首次使用 Strava 工具时,会自动启动 OAuth 认证流程:
- 浏览器会自动打开 Strava 授权页面。
- 授权成功后,会重定向到一个本地页面,并自动保存 'refresh token',用于后续访问。
-
在 MCP 客户端中使用 Strava 工具: 在支持 MCP 协议的 LLM 客户端中,你可以调用 Strava MCP Server 提供的工具,例如:
-
获取用户活动: 调用 'strava.get_user_activities' 工具,可以获取用户的运动活动列表。可以根据需要添加 'before'、'after' 等参数进行筛选。
-
获取活动详情: 调用 'strava.get_activity' 工具,并传入 'activity_id' 参数,可以获取指定活动的详细信息。
-
获取活动分段: 调用 'strava.get_activity_segments' 工具,并传入 'activity_id' 参数,可以获取指定活动的分段信息。
具体工具的使用方法和参数请参考仓库 'README.md' 文档中 "Available Tools" 章节的描述。
-
信息
分类
网页与API