Garmin Connect Personal API について
Garmin Connect Personal API MCPは、AIアシスタントが個人のGarmin Connectのトレーニング、回復、健康データを参照するための読み取り専用サーバーです。ローカル実行または自身のCloudflareアカウントへのホスティングが可能で、活動や睡眠、ウェルネスの詳細を取得できます。
主な機能
- 01Garmin Connectデータへの読み取り専用アクセス
- 02活動の詳細、ストリーム、ラップ
- 03睡眠とHRVの記録
- 04日ごとの回復・健康サマリー
- 05体重、補水、食事の記録
- 06ウェルネスと周期のデータ
活用シーン
- 01トレーニング活動と運動指標を確認する
- 02期間を指定して睡眠とHRVを追跡する
- 03日ごとの回復や心拍データを調べる
- 04補水、栄養、周期の記録を確認する
MCP 対応
MCPツールを通じてGarmin Connect Personal APIのデータを読み取り専用で公開します。ローカルで実行するほか、CloudflareにホストしてリモートMCPクライアントから接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @hannta/garmin-connect-personal-api-mcpGARMIN_PERSONAL_API_KEYシークレットGarmin Connect Personal API key (optional: the auth command saves one instead)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
27掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| date | string | いいえ | 日付(YYYY-MM-DD)。デフォルト:ユーザーのタイムゾーンでの今日。 |
詳細
Garmin Connect Personal API MCP
Garmin との提携や Garmin による承認を受けていません。Garmin および Garmin Connect は、 Garmin Ltd. の商標です。
AI アシスタントが、公式の Garmin Connect Personal API を通じて、あなた自身の Garmin Connect のトレーニング、回復、健康データを利用できる、読み取り専用の MCP サーバーです。自分のコンピューターで実行するか、自分の Cloudflare アカウントでホストすれば、どこからでも利用できます。
AI エージェントがユーザー向けにセットアップする場合は、docs/AGENT-SETUP.md に従ってください。
セットアップ
Garmin Connect Personal API キーが必要です。これは Web 上の Garmin Connect で作成できます。
ローカルで実行する
Claude Code、Claude Desktop、Cursor、VS Code など、ローカルサーバーを実行するクライアント向けの最も手軽な方法です。Node.js 22 以上が必要です。
これをコーディングエージェントに貼り付けてください。
Connect @hannta/garmin-connect-personal-api-mcp
または、手動でセットアップする場合は、docs/LOCAL.md を参照してください。
Cloudflare でホストする
Web 版およびモバイル版の Claude、また OAuth を使ってリモートサーバーに接続するその他のクライアント向けです。既知の制限事項を除けば、無料プランで十分です。
-
ワンクリック:
-
手動: docs/DEPLOY.md に従ってください。
次に、Claude、ChatGPT、Cursor、VS Code などの MCP クライアントを接続してください。
ツール
| ツール | 返される内容 |
|---|---|
garmin_get_day | 1日分の概要:睡眠、HRV、Body Battery、ストレス、安静時心拍数、運動強度別の時間、アクティビティ |
garmin_get_days | 日付範囲内の同じデータを1日1行で返します。日ごとのアクティビティ合計とトレーニング負荷も含まれます |
garmin_search_activities | 日付範囲内のアクティビティとGarmin ID、最速スプリット、または週ごとの合計 |
garmin_get_activity | 1件のアクティビティの詳細:ペース、心拍ゾーン、ランニングダイナミクス、パワー、トレーニング効果、インターバル合計、エクササイズごとの筋力トレーニングセット |
garmin_get_activity_streams | 1件のアクティビティの時系列データ(心拍数、ペース、勾配調整済みペース、ケイデンス、パワー、標高など) |
garmin_get_activity_laps | アクティビティのFITファイルから取得した、ラップおよびインターバルの各反復1件ごとのデータ |
garmin_get_sleep | 1晩の睡眠の詳細:最適範囲を含むスコア要素、睡眠必要量とその変化の理由、昼寝 |
garmin_get_sleep_summaries | 日付範囲内の夜ごとの睡眠 |
garmin_get_hrv | 1晩のHRVと、ベースライン、ステータス、夜間の測定値 |
garmin_get_hrv_summaries | 日付範囲内の夜ごとのHRV |
garmin_get_daily_summaries | 日付範囲内の日ごとの安静時心拍数、Body Battery、ストレス、運動強度別の時間、歩数 |
garmin_get_weight | 日付範囲内の体重測定値と体組成 |
garmin_get_profile | プロフィール設定と心拍ゾーン |
garmin_get_body_battery | 日ごとのBody Battery:充電量、消耗量、およびその要因となった睡眠/アクティビティのイベント |
garmin_get_stress | 日ごとのストレス:平均レベルと、安静/低/中/高の各レベルでの時間(分) |
garmin_get_steps | 目標と距離を含む日ごとの歩数 |
garmin_get_heart_rate | 1日分の安静時/最低/最高心拍数。必要に応じて15分ごとの平均値も取得できます |
garmin_get_spo2 | 1日分の血中酸素(Pulse Ox)。必要に応じて標高とともに1時間ごとのデータも取得できます |
garmin_get_fitness_age | フィットネス年齢とその要素(安静時心拍数、BMI、激しい運動をした日数/時間) |
garmin_get_heart_rate_zones | スポーツごとの心拍ゾーン |
garmin_get_weight_goals | 有効な体重目標(目標kg) |
garmin_get_activity_workouts | アクティビティで実施した構造化ワークアウト:ステップ、目標(心拍数、ペース、パワー)、反復 |
garmin_get_hydration | 日ごとの水分補給:摂取量、目標、発汗による損失量(ml) |
garmin_get_food_log | 1日分の食事記録:食事ごと、食品ごとの摂取カロリーとマクロ栄養素、および目標値との比較 |
garmin_get_wellness_activities | HR、ストレス、HRV、SpO2を含むウェルネスセッション(Health Snapshot、呼吸エクササイズなど) |
garmin_get_menstrual_cycle | 周期日、月経期間と妊娠しやすい期間、予測、周期分析 |
garmin_get_menstrual_day | 1日分の記録済み経血量、症状、気分、およびその日の周期概要 |
知っておくとよいこと
- 範囲指定ツールのデフォルトは過去7日間です。範囲が1回の Garmin リクエストで処理できる長さを超える場合、エラーに最大値が示され、アシスタントが複数の呼び出しに分割します。
- 出力はメートル法で、各フィールド名に単位が含まれます。日付はお使いのタイムゾーンで
YYYY-MM-DD形式になり、睡眠とHRVは起床日をキーとして記録されます。 - 位置情報、性行為、性欲に関するデータは返されません。
- 既知の制限事項:
garmin_get_activity_lapsは、Cloudflare の無料プランでは長時間のアクティビティで失敗することがあります。既知の制限事項を参照してください。
開発
Node.js 24+ が必要です。
npm install
cp .dev.vars.example .dev.vars # then add GARMIN_API_KEY and OWNER_PASSPHRASE
npm run check # typecheck, lint, format check, tests
npm run today # print today's recovery data using your key
npm run dev # MCP server at http://localhost:8787/mcp
npm run build # local server in dist/cli.mjs
ローカルサーバーを試すには、MCP Inspectorを接続し、OWNER_PASSPHRASE でサインインしてください。
アーキテクチャと規約:docs/DEVELOPMENT.md。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。