Garmin Connect Personal API について
Garmin Connect Personal APIは、Garmin Connectの健康・アクティビティデータを照会する、非公式の読み取り専用MCPサーバーです。Garmin Personal APIを通じて個人指標を取得し、アカウントは変更しません。
主な機能
- 01睡眠、HRV、心拍数データ
- 02歩数、ストレス、Body Battery
- 03アクティビティの検索と詳細
- 04体重、栄養、月経周期データ
活用シーン
- 01期間ごとの睡眠の比較
- 02月ごとのHRV傾向の確認
- 03最近のランニングの要約
- 04睡眠時間とストレスの関連分析
MCP 対応
Garmin Connect Personal APIのデータをツールとしてMCPクライアントに公開します。読み取り専用で、Garmin Personal APIキーを使って認証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y garmin-connect-personal-api-mcpGARMIN_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
24掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | アクティビティの最大件数。デフォルトは 20 です。 |
| start | integer | いいえ | 0 始まりの結果オフセット。デフォルトは 0 です。 |
| endDate | string | いいえ | この日付以前のアクティビティのみ。形式は YYYY-MM-DD です。 |
| startDate | string | いいえ | この日付以降のアクティビティのみ。形式は YYYY-MM-DD。 |
| activityType | string | いいえ | アクティビティの種類によるフィルター。例:running、cycling、hiking。 |
詳細
Garmin Connect Personal API MCP サーバー
非公式です。 これはコミュニティプロジェクトです。Garmin とは提携しておらず、Garmin の承認も受けていません。
Claude などの AI アシスタントが、Garmin の公式 Personal API を通じて Garmin Connect のデータを読み取れるようにする MCP サーバーです。次のような質問ができます。
- 「今週の睡眠は先週と比べてどうですか?」
- 「今月、HRV は上昇傾向ですか、それとも下降傾向ですか?」
- 「直近のランニング 5 回を要約してください。」
- 「睡眠時間が 6 時間未満だった日は、ストレスはどのような状態でしたか?」
garmin-connect-personal-api-js を基盤としており、読み取り専用です。アカウント内の情報を変更することはできません。
セットアップ
- Garmin Connect で Personal API キーを作成します。
- 以下の例のように、
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_summaries | 1 晩ごとの概要:睡眠時間、睡眠ステージ、睡眠スコア |
get_daily_sleep | 1 晩分の詳細な睡眠データ |
get_daily_summaries | 1 日ごとの歩数、カロリー、心拍数、ストレス、Body Battery、運動強度分 |
get_daily_hrv、get_daily_hrv_summaries | 1 晩分、または指定期間の夜ごとの心拍変動 |
get_daily_heart_rate、get_heart_rate_zones | 1 日分の心拍数サンプルと心拍ゾーン |
get_daily_stress、get_daily_steps、get_daily_hydration | 指定期間の日ごとの統計 |
get_daily_body_battery、get_daily_spo2 | Body 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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。