Skip to main content
Glama

Strava MCP サーバー

CI/CDパイプライン コードコフ

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ライセンス

謝辞

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

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server for tracking personal health and well-being, offering tools for workout logging, nutrition management, and daily journaling with AI-assisted analysis integration.
    Last updated -
    8
  • A
    security
    A
    license
    A
    quality
    Integration Strava API с Model Context Protocol SDK
    Last updated -
    4
    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 -
    14
    • 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
    17
    MIT License
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yorrickjansen/strava-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server