mcpField
G
Garmin Connect Personal API

Garmin Connect Personal API

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

Garmin Connect Personal API について

Garmin Connect Personal APIは、Garmin Connectの健康・アクティビティデータを照会する、非公式の読み取り専用MCPサーバーです。Garmin Personal APIを通じて個人指標を取得し、アカウントは変更しません。

主な機能

  1. 01睡眠、HRV、心拍数データ
  2. 02歩数、ストレス、Body Battery
  3. 03アクティビティの検索と詳細
  4. 04体重、栄養、月経周期データ

活用シーン

  1. 01期間ごとの睡眠の比較
  2. 02月ごとのHRV傾向の確認
  3. 03最近のランニングの要約
  4. 04睡眠時間とストレスの関連分析

MCP 対応

Garmin Connect Personal APIのデータをツールとしてMCPクライアントに公開します。読み取り専用で、Garmin Personal APIキーを使って認証します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dynamicsninja-garmin-connect-personal-api": {
"command": "npx",
"args": [
"-y",
"garmin-connect-personal-api-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>"
}
}
}
}
起動コマンドnpx -y garmin-connect-personal-api-mcp
設定が必要な環境変数
GARMIN_PERSONAL_API_KEYシークレットGarmin Connect Personal API key from connect.garmin.com/app/settings/personalApiToken. Optional if the key is saved in ~/.config/garmin/connect-personal-api-key.

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

パッケージ
npmgarmin-connect-personal-api-mcp1.0.0

ツール

24

掲載時のツール一覧 · 5 日前に更新

パラメーター型必須説明
limitintegerいいえアクティビティの最大件数。デフォルトは 20 です。
startintegerいいえ0 始まりの結果オフセット。デフォルトは 0 です。
endDatestringいいえこの日付以前のアクティビティのみ。形式は YYYY-MM-DD です。
startDatestringいいえこの日付以降のアクティビティのみ。形式は YYYY-MM-DD。
activityTypestringいいえアクティビティの種類によるフィルター。例:running、cycling、hiking。

詳細

Garmin Connect Personal API MCP サーバー

npm License

非公式です。 これはコミュニティプロジェクトです。Garmin とは提携しておらず、Garmin の承認も受けていません。

Claude などの AI アシスタントが、Garmin の公式 Personal API を通じて Garmin Connect のデータを読み取れるようにする MCP サーバーです。次のような質問ができます。

  • 「今週の睡眠は先週と比べてどうですか?」
  • 「今月、HRV は上昇傾向ですか、それとも下降傾向ですか?」
  • 「直近のランニング 5 回を要約してください。」
  • 「睡眠時間が 6 時間未満だった日は、ストレスはどのような状態でしたか?」

garmin-connect-personal-api-js を基盤としており、読み取り専用です。アカウント内の情報を変更することはできません。

セットアップ

  1. Garmin Connect で Personal API キーを作成します。
  2. 以下の例のように、GARMIN_PERSONAL_API_KEY にキーを設定して、AI クライアントにサーバーを追加します。Node.js 20.4 以降が必要です。
Claude Desktop

設定 → 開発者 → 設定を編集を開き、次を追加します。

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "garmin-connect-personal-api-mcp"],
      "env": {
        "GARMIN_PERSONAL_API_KEY": "your-personal-api-key"
      }
    }
  }
}

その後、Claude Desktop を再起動します。

Claude Code
claude mcp add garmin --env GARMIN_PERSONAL_API_KEY=your-personal-api-key -- npx -y garmin-connect-personal-api-mcp
その他の MCP クライアント

GARMIN_PERSONAL_API_KEY を設定して、stdio サーバーとして npx -y garmin-connect-personal-api-mcp を実行します。

クライアントの設定ファイルにキーを記載しない方法

環境変数の代わりに、キーを ~/.config/garmin/connect-personal-api-key(Windows の場合は %USERPROFILE%\.config\garmin\connect-personal-api-key)に保存し、設定から env を省略できます。これは gc-personal CLI が使用するものと同じキーファイルです。

ツール

ツールデータ
get_daily_sleep_summaries1 晩ごとの概要:睡眠時間、睡眠ステージ、睡眠スコア
get_daily_sleep1 晩分の詳細な睡眠データ
get_daily_summaries1 日ごとの歩数、カロリー、心拍数、ストレス、Body Battery、運動強度分
get_daily_hrv、get_daily_hrv_summaries1 晩分、または指定期間の夜ごとの心拍変動
get_daily_heart_rate、get_heart_rate_zones1 日分の心拍数サンプルと心拍ゾーン
get_daily_stress、get_daily_steps、get_daily_hydration指定期間の日ごとの統計
get_daily_body_battery、get_daily_spo2Body Battery と SpO2
search_activities、get_activity、get_activity_workoutsアクティビティとその詳細
get_weight_measurements、get_effective_weight_goals、get_daily_food_logs体重、目標、栄養
get_fitness_age、get_user_profile_settingsフィットネス年齢とプロフィール設定
get_menstrual_cycle_summary、get_menstrual_cycle_day_view月経周期データ
get_wellness_activity_summariesウェルネスアクティビティの概要
api_getその他の Personal API GET エンドポイント

日付には YYYY-MM-DD を使用します。デフォルトは今日です。日付範囲の開始日と終了日は、どちらも範囲に含まれます。

仕組み

サーバーは API キーをベアラートークンと交換し、gc-personal CLI と共有される ~/.config/garmin/connect-personal-api-bearer-token.json にキャッシュします。トークンは有効期限が切れる前に更新され、拒否されたトークンは自動的に置き換えられます。

データは Garmin から接続先の AI クライアントに送られるため、そのクライアントのプライバシー規約が適用されます。

ライセンス

Apache 2.0 です。LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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