Skip to main content
Glama

garmin-mcp

Ein lokaler MCP-Server, der Ihre Garmin-Connect-Aktivitäts-, Gesundheits- und Trainingsdaten (Aktivitäten, HRV, Schlaf, Herzfrequenz, Stress, Body Battery, Trainingsbereitschaft, HF-/Leistungszonen, Laktatschwelle, FTP, VO2max, persönliche Rekorde, Workouts, geplante Workouts und Trainingspläne) als Werkzeuge in Claude Desktop bereitstellt.

Er kommuniziert direkt mit der Live-Garmin-Connect-API über die garminconnect-Bibliothek. Die Daten sind schreibgeschützt – es wird nie etwas an Garmin zurückgeschrieben.

So funktioniert die Authentifizierung

Der Garmin-Login erfolgt absichtlich an zwei getrennten Stellen:

  • scripts/setup_auth.py – ein interaktives Skript, das Sie selbst in einem Terminal ausführen. Es meldet sich mit Ihrer E-Mail/Passwort an, fordert Sie zur Eingabe eines MFA-Codes auf, falls Garmin einen verlangt, und speichert das daraus resultierende Sitzungstoken in ~/.garmin_mcp/tokens.

  • Der MCP-Server (src/garmin_mcp/server.py), der von Claude Desktop headless gestartet wird, lädt dieses zwischengespeicherte Token nur und erneuert es stillschweigend. Er fragt nie nach MFA – Claude Desktop bietet ihm kein Terminal für Eingabeaufforderungen, und ein Blockieren auf stdin würde dort Tool-Aufrufe aufhängen. Wenn die zwischengespeicherte Sitzung fehlt oder abgelaufen ist, schlagen Tool-Aufrufe mit einer Fehlermeldung fehl, die Sie auffordert, setup_auth.py erneut auszuführen.

Ihr Garmin-Passwort wird im macOS-Schlüsselbund gespeichert (Eintrag/Dienst garmin-mcp, in Keychain Access einsehbar), nie in eine Datei geschrieben. Nur Ihre Garmin-Login-E-Mail (nicht geheim) wird in ~/.garmin_mcp/config.json gespeichert.

Einrichtung

  1. Abhängigkeiten installieren:

    cd garmin_mcp
    uv sync
  2. Führen Sie den einmaligen interaktiven Login aus:

    uv run python scripts/setup_auth.py

    Geben Sie Ihre Garmin-Connect-E-Mail und Ihr Passwort ein (das Passwort wird dann für das nächste Mal im Schlüsselbund gespeichert). Geben Sie den MFA-Code ein, wenn Sie dazu aufgefordert werden. Bei Erfolg sehen Sie eine Bestätigung und den Pfad zum Token-Cache.

  3. Registrieren Sie den Server bei Claude Desktop, indem Sie ~/Library/Application Support/Claude/claude_desktop_config.json bearbeiten und (neben allen anderen mcpServers-Einträgen) Folgendes hinzufügen:

    {
      "mcpServers": {
        "garmin": {
          "command": "uv",
          "args": ["run", "--project", "/Users/felix.guiony/Code/Perso/garmin_mcp", "garmin-mcp"]
        }
      }
    }
  4. Beenden Sie Claude Desktop vollständig (Cmd+Q, nicht nur das Fenster schließen) und öffnen Sie es erneut. Das Werkzeuge/Hammer-Symbol sollte die garmin-Werkzeuge auflisten.

Werkzeuge

Werkzeug

Beschreibung

list_activities

Aktuelle Aktivitäten, neueste zuerst (paginiert, optionaler Typfilter)

get_activity

Vollständige Details zu einer Aktivität: Zusammenfassung + Zeitreihe pro Metrik

get_activity_splits

Runden-/Split-Daten für eine Aktivität

get_heart_rate

Tägliche Ruheherzfrequenz + Intraday-Herzfrequenz-Verlauf

get_daily_stats

Schritte, Kalorien, Ruheherzfrequenz, Distanz, Stockwerke, Intensitätsminuten

get_sleep

Schlafphasen, Dauer, Schlafwert

get_hrv

Herzfrequenzvariabilität

get_body_battery

Body-Battery-Energiereserve über einen Datumsbereich

get_stress

Stresslevel über den ganzen Tag

get_training_readiness

Trainingsbereitschaftswert und beitragende Faktoren

get_profile

Identität, Einheiten-Präferenzen, persönliche Einstellungen (max. HF, Ruhe-HF, Gewicht, Größe, VO2max), HF-Zonen und Leistungszonen pro Sportart

get_lactate_threshold

Laktatschwelle beim Laufen: Herzfrequenz, Leistung und Geschwindigkeit

get_cycling_ftp

Aktuelle funktionelle Leistungsschwelle (FTP) beim Radfahren

get_ftp_history

Historischer FTP-Wert für eine Sportart über einen Datumsbereich

get_max_metrics

Max-Metrik-Daten (z. B. VO2max) über einen Datumsbereich

get_resting_heart_rate

Täglicher Ruheherzfrequenz-Trend über einen Datumsbereich

get_fitness_age

Garmin Fitness-Alter für ein bestimmtes Datum

get_personal_records

Persönliche Rekorde

list_workouts

Gespeicherte Workout-Vorlagen, neueste zuerst (paginiert)

get_workout

Vollständige Struktur eines Workouts: Abschnitte, Ziele, Intervalle

get_scheduled_workouts

Kalender der für einen bestimmten Monat geplanten Workouts

get_scheduled_workout

Details zu einer einzelnen geplanten Workout-Instanz

list_training_plans

Trainingspläne

get_training_plan

Details zu einem bestimmten Trainingsplan

get_adaptive_training_plan

Details zu einem bestimmten adaptiven Trainingsplan

Alle Datumsparameter akzeptieren YYYY-MM-DD und sind standardmäßig auf heute gesetzt.

Fehlerbehebung

Ein Tool-Aufruf gibt eine Meldung „Garmin-Sitzungsfehler“ / „run setup_auth.py“ zurück. Ihr zwischengespeichertes Aktualisierungstoken ist abgelaufen oder wurde widerrufen (das passiert gelegentlich, z. B. nach einer Passwortänderung oder längerer Inaktivität). Führen Sie erneut aus:

uv run python scripts/setup_auth.py

Ratenlimit erreicht. Garmin Connect begrenzt gelegentlich schnelle Anfragen; die zugrunde liegende Bibliothek wiederholt vorübergehende Fehler automatisch, aber wenn Sie einen Ratenlimit-Fehler sehen, warten Sie einen Moment und versuchen Sie es erneut.

Den Server direkt außerhalb von Claude Desktop überprüfen:

uv run mcp dev src/garmin_mcp/server.py

öffnet den MCP Inspector, sodass Sie jedes Werkzeug manuell aufrufen und dessen Ausgabe/Schema prüfen können.

Projektstruktur

garmin_mcp/
  pyproject.toml
  src/garmin_mcp/
    auth.py      # keychain + token-cache helpers
    server.py    # FastMCP server and tool definitions
  scripts/
    setup_auth.py  # interactive one-time/occasional login
-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.

  • Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.

  • MCP server for Withings health data — sleep, activity, heart, and body metrics.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sovnheim/garmin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server