mcpField
R
Run Coach

Run Coach

ローカル
github.comヘルスケア16今日更新

Run Coach について

Run Coach は Garmin のデータを Claude Desktop、ChatGPT デスクトップアプリ、その他の MCP クライアントに接続し、健康・トレーニング情報をインタラクティブなチャートで表示します。非公式のアプリとして、日次ブリーフィング、傾向分析、ワークアウトの確認と計画に対応し、ローカルで動作して Garmin Connect に直接データを送ります。

主な機能

  1. 01日々の健康・トレーニング概要を表示
  2. 02フィットネス指標の推移を比較
  3. 03ワークアウトのスプリットと心拍ゾーンを分析
  4. 04Garmin のワークアウトを作成・スケジュール
  5. 05対応クライアントでインタラクティブなチャートを表示

活用シーン

  1. 01日次概要で準備状態、睡眠、HRVを確認
  2. 02数週間から数か月のトレーニング指標を比較
  3. 03ワークアウト後にスプリットとトレーニング効果を確認
  4. 04週間トレーニングを計画してワークアウトを登録

MCP 対応

MCP サーバーは、Garmin Connect のデータとワークアウト用ツールを MCP クライアントに公開し、MCP Apps 対応クライアントには UI リソースも提供します。サインインはアプリの画面で行い、トークンはローカルに保存されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"chenhunghan-garmin-mcp-app": {
"command": "npx",
"args": [
"-y",
"garmin-mcp-app"
]
}
}
}
起動コマンドnpx -y garmin-mcp-app

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgarmin-mcp-app0.9.1

ツール

67

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

ランコーチ — Garmin MCP アプリ

Garmin ウォッチを Claude Desktop または ChatGPT に接続できます。インタラクティブなグラフを確認できます。

非公式です。Garmin との提携や承認を受けていません。Garmin は Garmin Ltd. の商標です。

デモ

インストール

Claude Desktop
  1. リリースから最新の .mcpb ファイルをダウンロードします
  2. Claude Desktop にドラッグしてインストールします
  3. Garmin のデータについて Claude に何でも質問してください。初回使用時にサインインを求められます
ChatGPT(デスクトップアプリ)

Node.js 20 以降が必要です。

  1. ChatGPT のデスクトップアプリで、Settings → Plugins → Add marketplace を開きます
  2. Source: chenhunghan/garmin-mcp-app(Git ref と sparse paths は空のままにします)→ Add marketplace
  3. アプリを再起動し、Plugins Directory を開いて、Run Coach マーケットプレイスを選び、Coach をインストールします

または、Codex CLI を使って、codex plugin marketplace add chenhunghan/garmin-mcp-app を実行し、続けて codex plugin add garmin@garmin-mcp を実行します。

Coach はサイドバー(毎日のブリーフィングとパフォーマンスダッシュボード)と、会話内の Training Week タブに表示されます。または、「@Coach 今日はどんな調子?」と尋ねるだけでもかまいません。お使いのコンピューター上で動作するため、デスクトップアプリでのみ利用できます。

その他の MCP クライアント(Cursor、VS Code、Claude Code、Codex CLI など)

Node.js 20 以降が必要です。クライアントの MCP 設定にサーバーを追加します。

{
  "mcpServers": {
    "garmin": { "command": "npx", "args": ["-y", "garmin-mcp-app"] }
  }
}

または、コマンドラインから claude mcp add garmin -- npx -y garmin-mcp-app(Claude Code)、codex mcp add garmin -- npx -y garmin-mcp-app(Codex CLI)を実行します。

MCP Apps に対応するクライアント(例:VS Code)では、インタラクティブなグラフとサインインフォームが表示されます。その他のクライアントでも Garmin のすべてのツールからデータを取得できますが、サインインフォームは表示できません。MCP Apps 対応クライアントから一度サインインすると、トークンは ~/.garminconnect に保存され、お使いのコンピューター上のすべてのクライアントで共有されます。

できること

健康、トレーニング、フィットネスについて Claude に尋ねると、Garmin のデータを読み取り、会話内にインタラクティブなグラフを表示します。

  • 一日の始まりに — レディネス、睡眠、HRV、ボディバッテリー、安静時心拍数を自身の基準値と比較した朝のブリーフィングと、Claude からの提案を確認できます
  • トレンドを確認 — 最大4つの指標を、4週間から1年間の範囲で比較し、何が変化したのかを Claude に尋ねられます
  • 週間計画を立てる — Claude がデータをもとに1週間分のトレーニングを計画し、ワークアウトを作成して Garmin のカレンダーに登録します
  • ワークアウトを分析 — 1周のみのランでも1kmごとのスプリット、心拍ゾーン、トレーニング効果を確認できます
  • フィットネスを記録 — トレーニングレディネス、トレーニング負荷、VO2 Max、レース予測など、30種類以上の Garmin 指標を確認できます
Claude がコーチする Garmin

アプリは、あなた自身の基準値と照らし合わせてデータを表示し、Claude がそのデータを読み取って、次に何をすべきか提案します。どの画面にも、あなたの数値に基づく Claude に質問 があり、Claude はあなたが何を見ているか把握しています。

毎日のブリーフィング — 「今日はどんな調子?」

毎日のブリーフィング:各要因を示すトレーニングレディネス72と、睡眠、HRV、ボディバッテリー、安静時心拍数、ストレス、歩数のタイル。それぞれ個人の基準値と比較

パフォーマンスダッシュボード — 「今年、フィットネスはどのように推移した?」

パフォーマンスダッシュボードを12週間から1年に切り替えた画面:安静時心拍数、基準帯を示したHRV、VO2 max、睡眠スコアの小さな推移グラフ

週間トレーニングプラン — 「今週のトレーニングを計画して」(または plan-training-week プロンプト)

トレーニング週:計画したワークアウトと完了したランニング、休息日、これから行う今日のロングラン

1 km ごとのスプリット — 「最後のランニングのスプリットを見せて」

ペースバー付きの1 kmごとのスプリット表。最速の1 kmを強調表示し、1 kmごとの心拍数とケイデンスを表示

スクリーンショットでは組み込みのデモモード(npm run dev:ui:demo)を使用しています。架空のランナーのデータであり、実在する人物のデータではありません。ライトテーマとダークテーマは Claude Desktop に合わせています。

視覚化できるデータ

アクティビティをプロットする

アクティビティ

トレーニングレディネスを視覚化する

トレーニングレディネス

対応する Garmin Connect データの全一覧
カテゴリーデータ
毎日の健康歩数、心拍数、睡眠ステージ、ストレス、ボディバッテリー(イベントを含む)、HRV、呼吸数、SpO2、階数、水分補給
傾向安静時心拍数、週間歩数、週間ストレス、週間高強度運動時間、体重測定
アクティビティ一覧/日付別、詳細、スプリット、タイプ別スプリット、心拍ゾーン別時間、チャートデータ、天気、エクササイズセット、ギア
トレーニングトレーニングレディネス、トレーニングステータスと負荷、VO2 Max、レース予測、持久力スコア、ヒルスコア
パフォーマンス乳酸閾値、サイクリングFTP、心拍ゾーン、フィットネス年齢、自己記録、ランニング耐性、進捗
デバイスとギアデバイス、メインのトレーニングデバイス、最後に使用したデバイス、ギア、目標、トレーニングプラン、カレンダー
ワークアウトワークアウトの一覧表示、作成、更新、削除、スケジュール設定
## プライバシーとセキュリティ

このアプリでは、データの保存も収集も行いません。 データはお使いのマシンと Garmin Connect API の間で直接やり取りされ、中間サーバーはありません。

詳細を見る
  • 認証情報はプライベートに保たれます。 Claude Desktop 内に表示される安全なログインフォームからサインインします。ログインツールと MFA ツールはアプリ専用(visibility: ["app"])としてマークされているため、Claude(LLM)はこれらを呼び出せず、メールアドレス、パスワード、MFA コードを一切見ることはありません。
  • Claude はユーザーの身元を知りません。 LLM に渡されるのは、ユーザーが要求した健康・フィットネスデータ(歩数、睡眠など)のみです。Garmin アカウントの認証情報、OAuth トークン、プロフィール(名前、メールアドレス、所在地)にはアクセスできません。
  • パスワードがプレーンテキストで送信されることはありません。 ログインフォームは、Claude Desktop を経由する前に使い捨てキーでパスワードを暗号化するため、ホストのログに漏れることはありません。
  • トークンはローカルに保存されます。 OAuth トークンは、制限付きのファイル権限(0600)で、お使いのマシンの ~/.garminconnect/ に保存されます。Garmin Connect API 以外に送信されることはありません。
  • いつでもログアウトできます。 ログアウトすると、お使いのマシンに保存されたトークンがすべて消去されます。

開発者・コントリビューター向けガイド

はじめに

git clone https://github.com/chenhunghan/garmin-mcp-app.git
cd garmin-mcp-app
npm install

npm install は、prek を使って Git フックを自動的に設定します。

  • commit-msg — commitlint を使って Conventional Commits に準拠しているか確認します
  • pre-push — lint、フォーマットチェック、型チェック、テストを実行します(CI と同じです)
トラブルシューティング:core.hooksPath

npm install で core.hooksPath に関する警告が表示される場合、prek は Git フックをインストールできません。ローカル設定を解除して修正してください。

git config --unset-all --local core.hooksPath
npm run prepare

開発

npm run dev        # watch-build server + UI
npm run dev:ui     # standalone UI dev at localhost:5173
npm run test:lib   # run garmin-connect tests
npm run pack       # build + package .mcpb bundle

npm run dev:ui を実行すると、実際の MCP サーバーとプロセス内で連携する React UI が http://localhost:5173 で開きます。Claude Desktop にデプロイしなくても、実際の Garmin API に対してログイン、MFA、ログアウトをテストできます。

Claude Desktop でのテスト

npm run build(1 回のみ)または npm run dev(ライブ再ビルド用のウォッチモード)を実行してから、~/Library/Application Support/Claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "garmin-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/garmin-mcp-app/dist/index.js"]
    }
  }
}

Claude Desktop を再起動します。Claude に Garmin の認証状態を確認するよう依頼すると、アプリ UI が iframe に表示され、実際のログイン・MFA フローが実行されます。

アーキテクチャ

  • MCP サーバー(src/server.ts)— stdio を介した Node.js サーバー。ツールと UI リソースを登録します
  • React UI(src/app.tsx)— ホストのサンドボックス化された iframe に表示され、postMessage を介して通信します
  • garmin-connect(packages/garmin-connect/)— Garmin Connect の OAuth と API 用の TypeScript クライアントライブラリ

コミット規約

コミットは Conventional Commits 形式に従う必要があります。

type(optional-scope): description

使用可能なタイプ:feat、fix、chore、docs、ci、refactor、test

免責事項

Run Coach は独立したオープンソースプロジェクトです。Garmin Ltd. またはその子会社とは提携、推奨、後援の関係にありません。Garmin および Garmin Connect は Garmin Ltd. またはその子会社の商標であり、ここでは互換性を説明する目的でのみ使用しています。このアプリは、ユーザー自身のアカウントで非公式の Garmin Connect API を使用します。

コメント

MCP は初めてですか?

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

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