Back to MCP directory
publicPublicdnsLocal runtime

Strava MCP Server

Strava MCP服务器是一个用于与Strava API交互的模型上下文协议(MCP)服务,提供用户活动数据获取、认证管理等功能。

article

README

🚀 Strava MCP 服务器

一个用于与 Strava API 交互的 Model Context Protocol (MCP) 服务器,借助它可以方便地实现与 Strava 平台数据的交互,为用户提供更多功能。

CI/CD 管道 codecov

🚀 快速开始

安装

你可以通过 uvox 轻松安装 Strava MCP:

uvox strava-mcp

设置 Strava 凭证

  1. 创建 Strava API 应用

  2. 配置你的凭证: 创建一个凭证文件(例如,~/.ssh/strava.sh):

    export STRAVA_CLIENT_ID=your_client_id
    export STRAVA_CLIENT_SECRET=your_client_secret
    
  3. 配置 Claude Desktop: 将以下内容添加到 ~/.config/autocad/settings.json 文件中:

    {
      "stravaClientId": "你的客户端 ID",
      "stravaClientSecret": "你的客户端密钥"
    }
    

认证流程

首次使用时,系统会自动启动认证流程。浏览器将打开 Strava 的授权页面。完成授权后,服务器将保存 refresh_token 以便后续使用。

✨ 主要特性

可用工具

  • 获取用户活动:列出用户的活动。
  • 获取单个活动:通过活动 ID 获取详细信息。
  • 获取活动段:通过活动 ID 获取活动的各个阶段。
  • 获取段排行榜:通过段 ID 获取该段的排行榜。

参数说明

  • include_all_efforts:是否包含所有努力(默认为 false)。
  • per_page:每页显示的数量(默认为 50,最大为 100)。

📦 安装指南

项目设置

  1. 克隆仓库:

    git clone https://github.com/yorrickjansen/strava-mcp.git
    cd strava-mcp
    
  2. 安装依赖:

    pip install -r requirements.txt
    
  3. 配置环境变量:

    export STRAVA_CLIENT_ID=your_client_id
    export STRAVA_CLIENT_SECRET=your_client_secret
    

运行开发模式

uv serve --reload

手动认证

运行以下命令以手动获取 refresh_token

python -m strava_mcp.auth

📚 详细文档

项目结构

  • strava_mcp/init.py:初始化模块。
  • strava_mcp/auth.py:处理认证流程。
  • strava_mcp/routes.py:定义 API 路由。

测试

使用 pytest 进行测试:

pytest tests/

发布到 PyPI

构建包

uv build

发布到 PyPI

uv publish

📄 许可证

MIT 许可证

致谢

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