| @登山/ランニング
ChatGPT から Garmin データを参照している様子
ChatGPT から Garmin データを参照している様子

ランニングのデータを AI に渡してレビューしてもらうのがめっちゃいい。AI がランニングコーチをやってくれる。

COROS や Garmin のトレーニングプランはその日の体調などを加味してくれているのかいまいちわからないが、 ChatGPT や Claude なら、ちゃんとデータを渡しさえすれば回復状態や睡眠時間を加味した上でその日の最適なプランを提案してくれる。寝不足な日にインターバル走しましょうとか言ってこないし、トレーニングを振り返る際もきちんと「ZONE 5 まで追い込めています」とか、「一本目のペースが速すぎました」のようなレビューをしてくれる。

これが一回使い始めたらやめられないくらいに便利なのだが、問題があって、トレーニングデータをスクリーンショットか GPX/FIT ファイルでしか渡せなかった。 画面のスクリーンショットでは情報量が限られるし、都度都度画面のスクリーンショットを撮るのは手間だった。 AI から直接データを取りに行けたらいいのにと思っていた。

この辺、 COROS は対応が早くて、今年の前半くらいに MCP サーバーを公開した。しかし自分はいまは Garmin を使っているので COROS の MCP は使えなかった。なお、 COROS は Claude だけでなく ChatGPT からも使えるようになっている(公式コネクターがある)。

夏頃に MCP 対応をしたのは Strava だった。ただしこちらは Strava の有料プラン加入者限定。加えて MCP サーバーなので Claude からしか使えない。 ChatGPT からも使えるようになると便利なんだけど、ユーザーデータをモデルの学習に使わないと約束した Anthropic にしか MCP を提供しないとのことと。

そんな中、先日 Garmin が Personal API を使えるようしてくれた。 Garmin は特定のデベロッパーにしか API を解放しておらず、個人が自分のデータにアクセスする方法はなかった。

API が公開されたことで OSS で MCP サーバーの実装がいくつか公開されていたので、その中の一つ(Shape-Calendar/garmin-personal-mcp)を使って MCP サーバーを立ててみることにした。

なお、カスタム MCP サーバーの立て方はそれこそ ChatGPT なり Claude なりに聞けば教えてくれるが、サーバーを動かせる環境があることと、それなりのサーバー運用経験が必要だと思う。

ChatGPT での MCP サーバーの利用には注意点があり、 ChatGPT で設定できるカスタム MCP サーバーは基本的に Mac やパソコン版の ChatGPT からしか使えない。モバイル版やブラウザー版の ChatGPT からはカスタム MCP サーバーを呼び出すことができない。ランニングが終わったあとすぐに携帯から ChatGPT にレビューをしてもらいたいので、いちいち家に帰ってからパソコンの前に座らないといけないのは面倒だ。

スマートフォンで完結する方法として、 ChatGPT の Codex クラウドを使う方法がある。 Codex クラウドにもカスタム MCP を使う機能があるのでそちらで MCP サーバーを設定する。そうするとモバイルアプリの ChatGPT からも Web サイト版の ChatGPT からも ChatGPT が使えるようになる。

この設定の仕方がちょっとトリッキーで難しい。設定自体を Codex と対話しながらやるので、設定画面にエンドポイントやトークンを保存するやり方よりも難しく感じた。なんでも対話型 UI の方が良いわけではなさそうだ。

なお、 Codex クラウドを使う都合、リモートのインスタンスが停止している場合は起き上がるまでちょっと待たないといけない。これがデメリットといえばデメリットだが、自分はそんなに気にならない。

最後に、 Claude でも ChatGPT でもなく Muse を使うという方法もある。こちらも試してみたが、ちゃんと MCP サーバーに接続できた。ごちゃごちゃようわからんという人は Muse を使うのがいいかもしれない。

↓に遊びで診断君を作ってみたので、 MCP サーバーを立てたら良いかわからない人は質問に答えてみてください(サーバーにデータを送ったりはしていません)