mcpField
S
Strava MCP Server

Strava MCP Server

ローカル
github.com/tomekkorbakヘルスケア2573 週間前に更新

Strava MCP Server について

Strava MCP Server は、Strava API から選手のアクティビティデータを取得する MCP サーバーです。言語モデルが最近のアクティビティ、期間指定の記録、個別アクティビティの詳細を参照できます。返されるフィールドは単位が統一されており、モデルがそのまま分析しやすくなっています。

主な機能

  1. 01最近のアクティビティを件数指定で取得
  2. 02日付範囲によるアクティビティ検索
  3. 03過去数日分のアクティビティ絞り込み
  4. 04ID指定による単一アクティビティの詳細取得
  5. 05距離・時間・速度・標高をメートル法で返却

活用シーン

  1. 01前週のトレーニング内容の確認
  2. 02過去1か月で最も長いランニングの特定
  3. 03直近のサイクリングの詳細データ取得

MCP 対応

本プロジェクトは、Strava のアクティビティを照会するツールを MCP クライアントに提供する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Strava MCP サーバー

Python Package License: MIT Python 3.10 Install MCP Server

Strava API へのアクセスを提供する Model Context Protocol(MCP)サーバーです。言語モデルから Strava API のアスリートのアクティビティデータを照会できます。

利用可能なツール

サーバーは次のツールを公開します。

アクティビティの照会
  • get_activities(limit: int = 10): 認証済みアスリートの最近のアクティビティを取得します
  • get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30): 指定した日付範囲内のアクティビティを取得します
  • get_activity_by_id(activity_id: int): 特定のアクティビティの詳細情報を取得します
  • get_recent_activities(days: int = 7, limit: int = 10): 過去 X 日間のアクティビティを取得します

日付は ISO 形式(YYYY-MM-DD)で指定してください。

アクティビティデータの形式

サーバーは、一貫したフィールド名と単位でアクティビティデータを返します。

フィールド説明単位
nameアクティビティ名-
sport_typeスポーツの種類-
start_date開始日時ISO 8601
distance_metres距離メートル
elapsed_time_seconds経過時間の合計秒
moving_time_seconds移動時間秒
average_speed_mps平均速度メートル毎秒
max_speed_mps最高速度メートル毎秒
total_elevation_gain_metres累積標高メートル
elev_high_metres最高標高メートル
elev_low_metres最低標高メートル
calories消費カロリーkcal
start_latlng開始地点の座標[lat, lng]
end_latlng終了地点の座標[lat, lng]

認証

このサーバーを利用するには、Strava API の認証が必要です。次の手順に従ってください。

  1. Strava API アプリケーションを作成します。

    • Strava API Settings にアクセスします
    • アプリケーションを作成し、Client ID と Client Secret を取得します
    • Authorization Callback Domain を localhost に設定します
  2. リフレッシュトークンを取得します。

    • 同梱の get_strava_token.py スクリプトを使用します。
    python get_strava_token.py
    
    • 表示される指示に従ってアプリケーションを認証します
    • スクリプトによってトークンが .env ファイルに保存されます
  3. 環境変数を設定します。 サーバーには次の環境変数が必要です。

    • STRAVA_CLIENT_ID:Strava API の Client ID
    • STRAVA_CLIENT_SECRET:Strava API の Client Secret
    • STRAVA_REFRESH_TOKEN:Strava API の Refresh Token

使用方法

Claude for Desktop

claude_desktop_config.json(macOS では ~/Library/Application\ Support/Claude/claude_desktop_config.json、Windows では %APPDATA%/Claude/claude_desktop_config.json にあります)を更新して、次の内容を追加します。

{
    "mcpServers": {
        "strava": {
            "command": "uvx",
            "args": [
                "strava-mcp-server"
            ],
            "env": {
                "STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
                "STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
                "STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
            }
        }
    }
}
Claude Web

Claude Web では、サーバーをローカルで実行し、MCP 拡張機能を使って接続できます。

質問の例

接続後、Claude に次のような質問をできます。

  • 「最近のアクティビティを教えてください」
  • 「先週のアクティビティを表示してください」
  • 「過去1か月で最も長かったランニングは何ですか?」
  • 「最新のサイクリングアクティビティの詳細を教えてください」

エラー処理

サーバーは、よくある問題について人が読みやすいエラーメッセージを表示します。

  • 日付形式が無効
  • API 認証エラー
  • ネットワーク接続の問題

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。