garmin-mcp
garmin-mcp
プライバシー重視のGarmin Connect MCPサーバーで、トライアスロントレーニング向けです。~47のツールで、日々の健康指標、アクティビティ分析、トレーニング負荷、ランニング、サイクリング、スイミング、筋力トレーニング、ワークアウト作成に加え、トライアスロン特有の分析(ブリックワークアウト、種目別ボリュームバランス、クロススポーツのフィットネススナップショット)をカバーしています。
HTTPS経由のリモートMCPサーバーとしてデプロイされます。streamable-HTTPトランスポートを介してClaude DesktopまたはClaude Codeに接続します。
初回認証セットアップ
トークンを生成するには、これをローカルで一度実行します:
ローカルにインストール:
pip install -e .Garminで認証:
garmin-mcp-authトークンを
~/.garminconnect/garmin_tokens.jsonに保存し、base64エクスポートコマンドを出力します。出力された
GARMIN_TOKENS_JSON=...の値をコピーします。次のシークレット設定手順で必要になります。
Related MCP server: Strava MCP
Fly.ioへのデプロイ
前提条件:flyctl がインストールされ、認証済みであること(flyctl auth login)。
アプリ名を登録します(初回のみ):
flyctl apps create garmin-mcpFly.io(グローバル名前空間)で
garmin-mcpが使用済みの場合は、garmin-mcp-yournameのような一意の名前を使用し、fly.tomlのappフィールドをそれに合わせて更新してください。シークレットを設定:
flyctl secrets set \ GARMIN_EMAIL=you@example.com \ GARMIN_TOKENS_JSON=<base64-from-auth-step> \ MCP_AUTH_TOKEN=$(openssl rand -hex 32)生成された
MCP_AUTH_TOKENの値を保存します。Claude Desktopの設定で必要になります。デプロイ:
flyctl deploy確認:
curl https://garmlink.fly.dev/health期待される結果:
{"status":"ok"}
GitHub Actionsによる自動デプロイ
最初の手動デプロイ後、main への以降のプッシュはGitHub Actionsによって自動デプロイされます。
FLY_API_TOKEN をGitHubリポジトリのシークレットに追加します:
flyctl tokens create deploy出力をコピーし、次に進みます:GitHubリポジトリ → Settings → Secrets and variables → Actions → New repository secret → 名前に FLY_API_TOKEN を指定します。
Claude Desktopの設定
~/Library/Application Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"garmin": {
"url": "https://garmlink.fly.dev/mcp",
"headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
}
}
}<MCP_AUTH_TOKEN> を、シークレット設定手順で設定した値に置き換えます。
コーチングスキル
Claude Codeで、このプロジェクトディレクトリから次のスラッシュコマンドを実行します:
コマンド | 目的 |
| 毎日のレディネスブリーフィング(HRV、睡眠、ボディバッテリー) |
| 週間トレーニング負荷と種目別バランスのレビュー |
| 全種目にわたるレース前のフィットネス評価 |
| ガイド付きの構造化ワークアウトビルダー → Garminにプッシュ |
環境変数
変数 | 説明 |
| あなたのGarmin Connectメールアドレス |
| Base64エンコードされたトークンファイル( |
| MCPエンドポイントを保護するベアラートークン |
| サーバーポート(デフォルト:8000、Fly.ioによって自動設定) |
This server cannot be deployed
Maintenance
Related MCP Connectors
Your swim, run and ride training, explained. For coaches and athletes, computed from Garmin data.
tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).
Adaptive running coach MCP server — training data, plans, and recovery for AI assistants.
AI coach for Garmin: builds training plans and structured workouts, synced straight to your watch.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.21MIT
- AlicenseBqualityAmaintenancePrivacy-first MCP server for Strava activities, streams, routes and training data.29112 npm3MIT
- AlicenseAqualityAmaintenanceLocal-first Garmin data warehouse with an analysis-grade MCP server. Sync once, analyze forever, even when the API is down.13113 PyPI9MIT
- AlicenseAqualityDmaintenanceUnofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.11MIT