Skip to main content
Glama

garmin-mcp

プライバシー重視のGarmin Connect MCPサーバーで、トライアスロントレーニング向けです。~47のツールで、日々の健康指標、アクティビティ分析、トレーニング負荷、ランニング、サイクリング、スイミング、筋力トレーニング、ワークアウト作成に加え、トライアスロン特有の分析(ブリックワークアウト、種目別ボリュームバランス、クロススポーツのフィットネススナップショット)をカバーしています。

HTTPS経由のリモートMCPサーバーとしてデプロイされます。streamable-HTTPトランスポートを介してClaude DesktopまたはClaude Codeに接続します。

初回認証セットアップ

トークンを生成するには、これをローカルで一度実行します:

  1. ローカルにインストール:

    pip install -e .
  2. Garminで認証:

    garmin-mcp-auth

    トークンを ~/.garminconnect/garmin_tokens.json に保存し、base64エクスポートコマンドを出力します。

  3. 出力された GARMIN_TOKENS_JSON=... の値をコピーします。次のシークレット設定手順で必要になります。

Related MCP server: Strava MCP

Fly.ioへのデプロイ

前提条件:flyctl がインストールされ、認証済みであること(flyctl auth login)。

  1. アプリ名を登録します(初回のみ):

    flyctl apps create garmin-mcp

    Fly.io(グローバル名前空間)で garmin-mcp が使用済みの場合は、garmin-mcp-yourname のような一意の名前を使用し、fly.toml の app フィールドをそれに合わせて更新してください。

  2. シークレットを設定:

    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の設定で必要になります。

  3. デプロイ:

    flyctl deploy
  4. 確認:

    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で、このプロジェクトディレクトリから次のスラッシュコマンドを実行します:

コマンド

目的

/morning-check

毎日のレディネスブリーフィング(HRV、睡眠、ボディバッテリー)

/analyze-week

週間トレーニング負荷と種目別バランスのレビュー

/race-readiness

全種目にわたるレース前のフィットネス評価

/create-workout

ガイド付きの構造化ワークアウトビルダー → Garminにプッシュ

環境変数

変数

説明

GARMIN_EMAIL

あなたのGarmin Connectメールアドレス

GARMIN_TOKENS_JSON

Base64エンコードされたトークンファイル(garmin-mcp-auth から)

MCP_AUTH_TOKEN

MCPエンドポイントを保護するベアラートークン

PORT

サーバーポート(デフォルト:8000、Fly.ioによって自動設定)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP 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.
    21
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Unofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.
    11
    MIT