Strava Mcp について
Strava Mcp は、Strava アカウントを MCP クライアントに接続するサーバーです。Claude などから運動データを確認したい人向けで、OAuth 認証を使い、アクティビティ、統計、ルート、クラブ、交流情報を扱います。
主な機能
- 01OAuth 認証とトークンの自動更新
- 02アクティビティと運動統計の取得
- 03アスリートプロフィールの表示
- 04セグメントの検索とルートの取得
- 05クラブと交流情報の閲覧
活用シーン
- 01最近のランニングやライドの集計
- 02年間の運動統計の確認
- 03近隣のランニングセグメントの検索
- 04アクティビティの応援、コメント、個人 KOM の確認
MCP 対応
MCP サーバーとして Strava に接続し、Claude Desktop などの互換クライアントにアカウントデータの照会・更新ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Strava MCP サーバー
Claude を Strava のデータに接続する MCP(Model Context Protocol)サーバーです。Claude Desktop または MCP 対応クライアントから、アクティビティ、統計、アスリートプロフィールを直接照会できます。
機能
- OAuth 認証:トークンの自動更新に対応した安全な認証
- アクティビティデータ:最近のアクティビティ、詳細情報、統計の取得、メモの更新
- アスリートプロフィール:Strava のプロフィールと統計にアクセス
- セグメントとルート:場所からランニングセグメントを探し、ルートの詳細を表示
- クラブとコミュニティ:所属クラブ、メンバー、クラブのアクティビティを閲覧
- ソーシャル:Kudos、コメント、KOM、スター付きセグメントを表示
インストール
前提条件
- Python 3.10+ がインストールされていること
- Strava API アプリケーション:https://www.strava.com/settings/api で作成します
- 「Authorization Callback Domain」を
127.0.0.1に設定します
- 「Authorization Callback Domain」を
GitHub からインストール
pip install git+https://github.com/bronteee/strava-mcp.git
または uv を使う場合:
uv pip install git+https://github.com/bronteee/strava-mcp.git
Claude Desktop の設定
Claude Desktop の設定ファイルに追加します:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strava": {
"command": "strava-mcp",
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret"
}
}
}
}
uv でインストールした場合は、次を使用します:
{
"mcpServers": {
"strava": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bronteee/strava-mcp.git", "strava-mcp"],
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret"
}
}
}
}
使い方
認証
- Claude に「Strava アカウントに接続して」と依頼します
- Claude が認証 URL を提示します
- ブラウザーで URL を開き、アプリを認証します
- 現在のセッションで接続されます
注:トークンはメモリ内にのみ保存されます。Claude Desktop を再起動するたびに、再認証が必要です。
利用可能なツール
認証
| ツール | 説明 |
|---|---|
get_auth_status | 認証済みかどうかを確認します |
get_auth_url | Strava の認証 URL を取得します |
authenticate | 認証コードをトークンと交換します(通常は自動) |
logout | 保存されたトークンを削除します |
アクティビティとアスリート
| ツール | 説明 |
|---|---|
get_activities | 日付フィルターを指定して最近のアクティビティを取得します |
get_activity_details | 特定のアクティビティの詳細情報を取得します |
update_activity_notes | アクティビティのメモ/説明を更新します |
get_athlete | アスリートプロフィールを取得します |
get_athlete_stats | ランニング/サイクリング/水泳の統計を取得します |
セグメントとルート
| ツール | 説明 |
|---|---|
geocode_location | セグメント検索用に場所の名前を座標に変換します |
explore_running_segments | エリア内のランニングセグメントを探します |
get_segment | ポリライン付きでセグメントの詳細情報を取得します |
get_my_routes | 作成したルートの一覧を取得します |
get_route | 埋め込みセグメント付きでルートの詳細情報を取得します |
クラブとコミュニティ
| ツール | 説明 |
|---|---|
get_my_clubs | 所属しているクラブの一覧を取得します |
get_club | クラブの詳細情報を取得します |
get_club_members | クラブのメンバー一覧を取得します |
get_club_activities | クラブメンバーの最近のアクティビティを取得します |
ソーシャルと交流
| ツール | 説明 |
|---|---|
get_activity_kudos | アクティビティに Kudos を送った人を確認します |
get_activity_comments | アクティビティのコメントを取得します |
get_my_koms | 自分の KOM(King/Queen of the Mountain)を取得します |
get_starred_segments | スター付きセグメントを取得します |
プロンプトの例
- 「Strava の最近のアクティビティを 5 件表示して」
- 「今年のランニングの統計は?」
- 「最近のライドの詳細を取得して」
- 「最後のアクティビティのメモを『朝のランニングは最高!』に更新して」
- 「先月は何マイル走った?」
- 「セントラルパーク近くのランニングセグメントを探して」
- 「どのクラブに所属している?」
- 「最後のランニングに Kudos を送った人を表示して」
- 「自分の KOM は?」
開発
セットアップ
git clone https://github.com/bronteee/strava-mcp.git
cd strava-mcp
uv sync --dev
テストの実行
uv run pytest
型チェック
uv run ty check src
サーバーを手動で実行
# Set environment variables
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret
# Run the server
strava-mcp
セキュリティ
- トークンはメモリ内にのみ保存され、サーバーの停止時に消去されます
- クライアント認証情報は環境変数経由で渡され、ファイルには保存されません
- OAuth フローではローカルホストのコールバックを使用し、外部サーバーは関与しません
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。