mcpField
G
Garmin Connect Personal API

Garmin Connect Personal API

ローカル
github.comヘルスケア03 日前に更新

Garmin Connect Personal API について

Garmin Connect Personal API MCPは、AIアシスタントが個人のGarmin Connectのトレーニング、回復、健康データを参照するための読み取り専用サーバーです。ローカル実行または自身のCloudflareアカウントへのホスティングが可能で、活動や睡眠、ウェルネスの詳細を取得できます。

主な機能

  1. 01Garmin Connectデータへの読み取り専用アクセス
  2. 02活動の詳細、ストリーム、ラップ
  3. 03睡眠とHRVの記録
  4. 04日ごとの回復・健康サマリー
  5. 05体重、補水、食事の記録
  6. 06ウェルネスと周期のデータ

活用シーン

  1. 01トレーニング活動と運動指標を確認する
  2. 02期間を指定して睡眠とHRVを追跡する
  3. 03日ごとの回復や心拍データを調べる
  4. 04補水、栄養、周期の記録を確認する

MCP 対応

MCPツールを通じてGarmin Connect Personal APIのデータを読み取り専用で公開します。ローカルで実行するほか、CloudflareにホストしてリモートMCPクライアントから接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"hannta-garmin-connect-personal-api": {
"command": "npx",
"args": [
"-y",
"@hannta/garmin-connect-personal-api-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>"
}
}
}
}
起動コマンドnpx -y @hannta/garmin-connect-personal-api-mcp
設定が必要な環境変数
GARMIN_PERSONAL_API_KEYシークレットGarmin Connect Personal API key (optional: the auth command saves one instead)

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

パッケージ
npm@hannta/garmin-connect-personal-api-mcp1.1.1

ツール

27

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

パラメーター型必須説明
datestringいいえ日付(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 を使ってリモートサーバーに接続するその他のクライアント向けです。既知の制限事項を除けば、無料プランで十分です。

  • ワンクリック:

    Cloudflare にデプロイ

  • 手動: docs/DEPLOY.md に従ってください。

次に、Claude、ChatGPT、Cursor、VS Code などの MCP クライアントを接続してください。

ツール

ツール返される内容
garmin_get_day1日分の概要:睡眠、HRV、Body Battery、ストレス、安静時心拍数、運動強度別の時間、アクティビティ
garmin_get_days日付範囲内の同じデータを1日1行で返します。日ごとのアクティビティ合計とトレーニング負荷も含まれます
garmin_search_activities日付範囲内のアクティビティとGarmin ID、最速スプリット、または週ごとの合計
garmin_get_activity1件のアクティビティの詳細:ペース、心拍ゾーン、ランニングダイナミクス、パワー、トレーニング効果、インターバル合計、エクササイズごとの筋力トレーニングセット
garmin_get_activity_streams1件のアクティビティの時系列データ(心拍数、ペース、勾配調整済みペース、ケイデンス、パワー、標高など)
garmin_get_activity_lapsアクティビティのFITファイルから取得した、ラップおよびインターバルの各反復1件ごとのデータ
garmin_get_sleep1晩の睡眠の詳細:最適範囲を含むスコア要素、睡眠必要量とその変化の理由、昼寝
garmin_get_sleep_summaries日付範囲内の夜ごとの睡眠
garmin_get_hrv1晩の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_rate1日分の安静時/最低/最高心拍数。必要に応じて15分ごとの平均値も取得できます
garmin_get_spo21日分の血中酸素(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_log1日分の食事記録:食事ごと、食品ごとの摂取カロリーとマクロ栄養素、および目標値との比較
garmin_get_wellness_activitiesHR、ストレス、HRV、SpO2を含むウェルネスセッション(Health Snapshot、呼吸エクササイズなど)
garmin_get_menstrual_cycle周期日、月経期間と妊娠しやすい期間、予測、周期分析
garmin_get_menstrual_day1日分の記録済み経血量、症状、気分、およびその日の周期概要
知っておくとよいこと
  • 範囲指定ツールのデフォルトは過去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。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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