mcpField
S
Strava MCP Server

Strava MCP Server

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

Strava MCP Server について

Strava MCP Serverは、言語モデルからStravaのアクティビティ、アスリート情報、ルート、実績、ソーシャルデータを照会できるようにします。一部のアクティビティとアスリート情報にはHTTP APIも用意されています。

主な機能

  1. 01アクティビティの記録と分析
  2. 02アスリート統計と記録
  3. 03ルートマップと標高データ
  4. 04実績と年間目標
  5. 05Kudos、コメント、クラブ活動

活用シーン

  1. 01最近のトレーニングと自己記録の確認
  2. 02トレーニング量とパフォーマンスの比較
  3. 03ルート、区間、標高の確認
  4. 04Kudosとアクティビティコメントの確認

MCP 対応

MCPクライアントにStravaのアクティビティ、アスリート、ルート、実績、ソーシャルデータを提供します。HTTPサーバーとしても動作し、最近のアクティビティ、詳細・マップ、アスリート統計のエンドポイントを公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Strava MCP サーバー

Strava API へのアクセスを提供する Model Context Protocol(MCP)サーバーです。このサーバーにより、言語モデルはアクティビティやアスリート情報などの Strava データを操作できます。

機能

  • 🏃‍♂️ アクティビティの追跡と分析
  • 📊 アスリートの統計情報
  • 🗺️ ルートの可視化
  • 🏆 実績の追跡
  • 🤝 ソーシャル機能(Kudos、コメント)

前提条件

  • Python 3.12+
  • Strava API の認証情報
  • pip(Python パッケージインストーラー)

インストール

  1. リポジトリをクローンします:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
  1. 仮想環境を作成します:
python -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

設定

  1. Strava API の認証情報を含む config/.env ファイルを作成します:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
  1. Strava API の認証情報を取得するには:
    • https://www.strava.com/settings/api にアクセスします
    • 新しいアプリケーションを作成します
    • Client ID と Client Secret を控えます
    • OAuth 2.0 フローに従ってリフレッシュトークンを取得します

使用方法

Claude で使用する

接続すると、Claude を通じてさまざまな方法で Strava データを操作できます:

アクティビティに関する質問
  • 「最近のアクティビティを表示して」
  • 「最後のランニングの詳細を教えて」
  • 「今月最長のライドはどれ?」
  • 「自己記録を達成したアクティビティを表示して」
  • 「最新のアクティビティのルートマップを表示して」
パフォーマンス分析
  • 「今年の平均ランニングペースは?」
  • 「先月と今月のサイクリングのパフォーマンスを比較して」
  • 「昨日のワークアウトの心拍数ゾーンを表示して」
  • 「全アクティビティの累積標高は?」
  • 「週ごとのランニング距離を計算して」
ソーシャル機能
  • 「最新のアクティビティに Kudos を送った人は誰?」
  • 「マラソンのランニングへのコメントを表示して」
  • 「クラブのアクティビティをすべて一覧表示して」
  • 「友人と一緒に行ったアクティビティを探して」
実績の追跡
  • 「セグメントの実績をすべて一覧表示して」
  • 「近隣のセグメントでの自己記録を表示して」
  • 「今週獲得した実績は?」
  • 「年間目標の進捗状況を表示して」
Claude で利用できるデータ
  1. アクティビティの詳細:

    • 距離、時間、ペース
    • ルートマップと標高プロファイル
    • 心拍数、パワー、ケイデンスのデータ
    • スプリットとラップの情報
    • アクティビティ中の天候
  2. アスリートの統計情報:

    • 年初来および全期間の合計
    • 自己記録と実績
    • トレーニング負荷とフィットネスの傾向
    • 装備の使用状況とメンテナンス
  3. ソーシャルデータ:

    • Kudos とコメント
    • クラブのアクティビティとリーダーボード
    • 友人のアクティビティとチャレンジ
    • セグメントの記録とランキング
  4. ルート情報:

    • 標高データ付きの詳細なマップ
    • セグメント分析
    • 人気のルートとセグメント
    • ルートの計画と分析
MCP サーバーとして

Claude Desktop の設定を更新します:

{
    "mcpServers": {
        "Strava": {
            "command": "python",
            "args": ["src/strava_server.py"],
            "cwd": "/path/to/strava_mcp",
            "env": {
                "STRAVA_CLIENT_ID": "your_client_id",
                "STRAVA_CLIENT_SECRET": "your_client_secret",
                "STRAVA_REFRESH_TOKEN": "your_refresh_token"
            }
        }
    }
}
HTTP サーバーとして
  1. サーバーを起動します:
./run_server.sh
  1. http://localhost:8000 で API にアクセスします

利用可能なエンドポイント:

  • GET /activities/recent - 最近のアクティビティを一覧表示します
  • GET /activities/{id} - アクティビティの詳細を取得します
  • GET /activities/{id}/map - アクティビティのマップを可視化して取得します
  • GET /athlete/stats - アスリートの統計情報を取得します

開発

プロジェクト構成
strava_mcp/
├── src/
│   ├── strava_server.py      # MCP server implementation
│   ├── strava_http_server.py # HTTP API server
│   ├── map_utils.py          # Map visualization utilities
│   └── templates.py          # HTML templates
├── config/
│   └── .env                  # Environment variables (not in git)
├── requirements.txt          # Python dependencies
└── run_server.sh            # Server startup script
コントリビューション
  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. Pull Request を作成します

セキュリティ

  • .env ファイルや API 認証情報をコミットしないでください
  • .gitignore ファイルは、機密データがコミットされないように設定されています
  • 機密情報を含む設定には、すべて環境変数を使用してください

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

謝辞

  • Strava API ドキュメント
  • Model Context Protocol(MCP)仕様
  • コントリビューターとメンテナー

コメント

MCP は初めてですか?

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

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