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

  • さまざまなオプションフィルター(性別、年齢層など)

Related MCP server: mcp-server-strava

開発者ガイド

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

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

謝辞

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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