Strava MCP Server

Integrations

  • Provides tools for accessing data from the Strava API, including retrieving user activities, getting specific activity details, accessing activity segments, and viewing segment leaderboards.

Strava MCP サーバー

Strava API と対話するためのモデル コンテキスト プロトコル (MCP) サーバー。

ユーザーガイド

インストール

uvxを使用すると、Strava MCP を簡単にインストールできます。

uvx strava-mcp

Strava認証情報の設定

  1. Strava API アプリケーションを作成する:
    • https://www.strava.com/settings/apiにアクセスしてください。
    • クライアントIDとクライアントシークレットを取得するには、新しいアプリケーションを作成します。
    • 「認証コールバックドメイン」にはlocalhostと入力します。
  2. 資格情報を設定する: 資格情報ファイルを作成します (例: ~/.ssh/strava.sh ):
    export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
  3. Claude Desktop を構成する: Claude 構成 ( /Users/<username>/Library/Application Support/Claude/claude_desktop_config.json ) に以下を追加します。
    "strava": { "command": "bash", "args": [ "-c", "source ~/.ssh/strava.sh && uvx strava-mcp" ] }

認証

Strava MCP ツールを初めて使用する場合:

  1. 認証フローが自動的に開始されます
  2. ブラウザが開き、Strava認証ページが表示されます。
  3. 承認後、ローカルページにリダイレクトされます
  4. リフレッシュトークンは将来使用するために自動的に保存されます

利用可能なツール

ユーザーアクティビティを取得する

認証されたユーザーのアクティビティを取得します。

パラメータ:

  • before (オプション): フィルタリングのエポックタイムスタンプ
  • after (オプション): フィルタリングのエポックタイムスタンプ
  • page (オプション):ページ番号(デフォルト:1)
  • per_page (オプション):ページあたりのアイテム数(デフォルト:30)
アクティビティを取得

特定のアクティビティに関する詳細情報を取得します。

パラメータ:

  • activity_id : アクティビティのID
  • include_all_efforts (オプション):セグメントの取り組みを含める(デフォルト:false)
アクティビティセグメントを取得する

特定のアクティビティからセグメントを取得します。

パラメータ:

  • activity_id : アクティビティのID
セグメントリーダーボードを取得

特定のセグメントのリーダーボードを取得します。

パラメータ:

  • segment_id : セグメントのID
  • さまざまなオプションフィルター(性別、年齢層など)

開発者ガイド

プロジェクトのセットアップ

  1. リポジトリをクローンします。
    git clone <repository-url> cd strava
  2. 依存関係をインストールします:
    uv install
  3. 環境変数を設定します。
    export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
    または、これらの変数を含む.envファイルを作成します。

開発モードで実行

MCP CLI を使用してサーバーを実行します。

mcp dev strava_mcp/main.py

手動認証

次のコマンドを実行すると、リフレッシュ トークンを手動で取得できます。

python get_token.py

プロジェクト構造

  • strava_mcp/ : メインパッケージディレクトリ
    • __init__.py : パッケージの初期化
    • config.py : pydantic-settings を使用した構成設定
    • models.py : Strava API エンティティの Pydantic モデル
    • api.py : Strava 用の低レベル API クライアント
    • auth.py : Strava OAuth 認証の実装
    • oauth_server.py : スタンドアロン OAuth サーバーの実装
    • service.py : ビジネスロジックのサービス層
    • server.py : MCP サーバーの実装
  • tests/ : ユニットテスト
  • strava_mcp/main.py : サーバーを実行するためのメインエントリポイント
  • get_token.py : リフレッシュトークンを手動で取得するためのユーティリティスクリプト

テストの実行

pytest

PyPIへの公開

パッケージの構築
# Build both sdist and wheel uv build
PyPIへの公開
# Publish to Test PyPI first uv publish --index testpypi # Publish to PyPI uv publish

ライセンス

MITライセンス

謝辞

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

構造化された API インターフェースを通じて、ユーザーが Strava フィットネス データ (ユーザー アクティビティ、アクティビティの詳細、セグメント、リーダーボードなど) にアクセスできるようにするモデル コンテキスト プロトコル サーバー。

  1. ユーザーガイド
    1. インストール
    2. Strava認証情報の設定
    3. 認証
    4. 利用可能なツール
  2. 開発者ガイド
    1. プロジェクトのセットアップ
    2. 開発モードで実行
    3. 手動認証
    4. プロジェクト構造
    5. テストの実行
    6. PyPIへの公開
  3. ライセンス
    1. 謝辞

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        Integration Strava API с Model Context Protocol SDK
        Last updated -
        Python
        MIT License
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that provides language models with access to personal Whoop fitness data, allowing queries for cycles, recovery, strain, and workout information from the Whoop API.
        Last updated -
        2
        Python
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that provides language models with access to Strava API data, allowing them to query and analyze athlete activities from Strava.
        Last updated -
        4
        3
        Python
        MIT License
        • Apple
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables language models to interact with Strava data, including activities, athlete statistics, routes, achievements, and social features.
        Last updated -
        2
        Python
        MIT License
        • Linux
        • Apple

      View all related MCP servers

      ID: izw1dq6t15