コマンドラインからstravaデータをAIでレビューする:Strava MCP + llmコマンドの活用
Strava MCP サーバと llm
を組み合わせて、コマンドラインから GPT に「今日のトレーニング内容をレビューして」と壁打ちできる環境を作る。
1. Strava MCP サーバの準備
まずは strava-mcp をローカルにインストールする。
git clone https://github.com/r-huijts/strava-mcp
cd strava-mcp
npm install
npm run build
# 初回はOAuth認証
npx tsx scripts/setup-auth.ts
dist/server.js
が生成されることを確認。.env
に Strava API の認証情報 (STRAVA_CLIENT_ID
,STRAVA_CLIENT_SECRET
,STRAVA_ACCESS_TOKEN
…) が保存される。
2. llm
と llm-mcp
のセットアップ
llm
インストール
llm 本体を uv でインストール
uv tool install llm
OpenAI APIキーを設定
llm keys set openai
llm-mcp
プラグインを導入
llm install 'llm-mcp==0.0.2'
Strava MCP サーバを登録
llm mcp servers add "node /Users/あなたのパス/strava-mcp/dist/server.js"
# 登録確認
llm mcp servers list
llm mcp servers view server | jq -r '.tools[].name'
→ get-athlete-profile
, get-recent-activities
などが出ればOK。
3. 壁打ちコマンドを zshrc に登録
.zshrc
に以下を追記:
llm-strava() {
# Stravaの.envを自動で読み込み
if [ -f ~/repos/strava-mcp/.env ]; then
export $(grep -v '^#' ~/repos/strava-mcp/.env | xargs)
fi
llm -m gpt-4.1-mini \
-T get-athlete-profile \
-T get-athlete-stats \
-T get-recent-activities \
-T get-activity-details \
"$@"
}
再読み込み:
source ~/.zshrc
4. 使ってみる
llm-strava "直近のトレーニングをレビューして"
GPT が Strava MCP 経由でアクティビティを取得 → 数値を要約してレビューしてくれる。
// レスポンスのサンプル
🏃 朝のランニング(2025-09-06, 20.02 km)
- 移動時間:1時間49分32秒
- 経過時間:2時間38分13秒
- 距離:20.02 km
- 累積上昇:9 m(ほぼフラットなコース)
- 平均ペース:5:28/km(=平均速度11.0km/h)
- 最高速度:15.6 km/h(区間スパート有り)
- 平均心拍数:151 bpm、最大心拍数:164 bpm
- 平均ケイデンス:94 rpm
- 消費カロリー:1,507 kcal
- シューズ:ASICS novablast 5
- コメント:「給水と休憩しまくり20キロ」
---
▼ ペースと心拍詳細
- ペースは平均的に5:28/km前後。ラップごとに給水や休憩を挟んだ区間も複数存在します。
- 心拍数は徐々に上昇し、終盤に160台まで到達。持久的にしっかり追い込めています。
- ケイデンスは一貫して高め(93~96rpm)でフォームが安定。
---
▼ ラップと休憩傾向(21ラップ)
- 各ラップは1kmごと。大半が5:20~5:40/kmくらい。
- ただし、1kmを大きく超過した遅いラップ(例:Lap 13 29:57など)は長い休憩や給水タイム。
- 給水明け後もリズムを崩さず、ペース復帰が早いのが特徴です。
- 終盤(ラスト3km)はややビルドアップ。最後の1kmは5:11/km(平均心拍160.6)とラストスパート傾向。
---
▼ ストリーム(タイム計測データ)
- 心拍数:90~164bpm、平均151付近。しっかり負荷がかかっており、持久走として良いトレーニング強度。
- 速度:平均11.0km/h、最高13.8km/h。安定した一定走+途中アクセントあり。
- 高度:累積9mとほぼフラット。
---
▼ 総評とアドバイス
- 長めの距離走+こまめな給水・休憩により、熱中症や脱水対策を意識した安全な走り方です。
- 心拍・ケイデンスの両方で安定したフォームを維持できています。大きなペースダウン区間は休憩以外ほぼ無し。
- 今後は、もう少し休憩を短縮して一定時間走り続ける練習や、終盤のラスト数キロでやや上げるビルドアップの意識もおすすめ。