Skip to main content
Glama

garmin-mcp

Ein datenschutzfreundlicher MCP-Server für Garmin Connect für das Triathlontraining. ~47 Tools, die tägliche Gesundheitsmetriken, Aktivitätsanalyse, Trainingsbelastung, Laufen, Radfahren, Schwimmen, Krafttraining und Workout-Erstellung abdecken – plus triathlonspezifische Analyse (Brick-Workouts, Sportarten-Volumen-Balance, sportartenübergreifende Fitness-Momentaufnahmen).

Bereitgestellt als Remote-MCP-Server über HTTPS. Verbindet sich über den streamable-HTTP-Transport mit Claude Desktop oder Claude Code.

Einmalige Einrichtung der Authentifizierung

Führen Sie dies einmal lokal aus, um Tokens zu generieren:

  1. Lokal installieren:

    pip install -e .
  2. Bei Garmin authentifizieren:

    garmin-mcp-auth

    Speichert Tokens in ~/.garminconnect/garmin_tokens.json und gibt den base64-Export-Befehl aus.

  3. Kopieren Sie den ausgegebenen Wert GARMIN_TOKENS_JSON=... – Sie benötigen ihn für den Secrets-Schritt weiter unten.

Related MCP server: Strava MCP

Auf Fly.io bereitstellen

Voraussetzungen: flyctl ist installiert und authentifiziert (flyctl auth login).

  1. App-Namen registrieren (nur beim ersten Mal):

    flyctl apps create garmin-mcp

    Falls garmin-mcp auf Fly.io (globaler Namespace) bereits vergeben ist, verwenden Sie einen eindeutigen Namen wie garmin-mcp-yourname und aktualisieren Sie das app-Feld in fly.toml entsprechend.

  2. Secrets setzen:

    flyctl secrets set \
      GARMIN_EMAIL=you@example.com \
      GARMIN_TOKENS_JSON=<base64-from-auth-step> \
      MCP_AUTH_TOKEN=$(openssl rand -hex 32)

    Speichern Sie den generierten MCP_AUTH_TOKEN-Wert – Sie benötigen ihn für die Konfiguration von Claude Desktop.

  3. Bereitstellen:

    flyctl deploy
  4. Überprüfen:

    curl https://garmlink.fly.dev/health

    Erwartet: {"status":"ok"}

Automatische Bereitstellung über GitHub Actions

Nach dem ersten manuellen Deploy werden nachfolgende Pushes auf main automatisch über GitHub Actions bereitgestellt.

Fügen Sie FLY_API_TOKEN zu den Secrets Ihres GitHub-Repos hinzu:

flyctl tokens create deploy

Kopieren Sie die Ausgabe und gehen Sie dann zu: GitHub-Repo → Einstellungen → Geheimnisse und Variablen → Aktionen → Neues Repository-Geheimnis → benennen Sie es mit FLY_API_TOKEN.

Konfiguration für Claude Desktop

Fügen Sie Folgendes zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "garmin": {
      "url": "https://garmlink.fly.dev/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

Ersetzen Sie <MCP_AUTH_TOKEN> durch den Wert, den Sie im Secrets-Schritt festgelegt haben.

Coaching-Fähigkeiten

Führen Sie diese Slash-Befehle aus diesem Projektverzeichnis in Claude Code aus:

Befehl

Zweck

/morning-check

Tägliches Bereitschafts-Briefing (HRV, Schlaf, Body Battery)

/analyze-week

Wöchentliche Überprüfung von Trainingsbelastung und Sportarten-Balance

/race-readiness

Fitnessbewertung vor dem Wettkampf für alle Disziplinen

/create-workout

Geführter strukturierter Workout-Builder → überträgt an Garmin

Umgebungsvariablen

Variable

Beschreibung

GARMIN_EMAIL

Ihre E-Mail-Adresse für Garmin Connect

GARMIN_TOKENS_JSON

Base64-kodierte Tokendatei (von garmin-mcp-auth)

MCP_AUTH_TOKEN

Bearer-Token zum Schutz des MCP-Endpunkts

PORT

Server-Port (Standard: 8000, wird automatisch von Fly.io festgelegt)

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