Skip to main content
Glama
talvaknin744

garmin-coach-mcp

by talvaknin744

Local Garmin Coach MCP

Private, für einen einzelnen Benutzer bestimmte Garmin-Coaching-Tools für Codex/ChatGPT desktop und Claude. Der Server ist nur als lokales stdio verfügbar: kein Cloudflare, Render, keine öffentliche URL, kein Kontodienst und keine Hostingkosten.

Die Laufzeit basiert auf etweisberg/garmin-connect-mcp beim Commit 87d0ea059fb67f1ce65ac05100df74c3c3777c84. Sie behält die Upstream-AGPL-3.0-Lizenz und die Taxuspt-Zuschreibung in NOTICE.

Voraussetzungen

  • Node.js 20 oder neuer

  • pnpm 10.14.0

  • Ein Garmin Connect-Konto und eine synchronisierte Uhr

Related MCP server: io.github.matisdsp/fartlek

Installation

cd /home/talvak/Desktop/repos/garmin-coach-mcp
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm build
pnpm auth

pnpm auth öffnet ein dediziertes sichtbares Chrome-Profil. Melden Sie sich manuell an, schließen Sie MFA ab und drücken Sie dann im Terminal die Eingabetaste. Die Browsersitzung verbleibt unter ~/.local/share/garmin-coach/browser-profile. CSRF-Werte zur Laufzeit werden von der aktuell authentifizierten Seite gelesen und niemals gespeichert oder ausgegeben. Verzeichnisse haben die Berechtigung 0700, Dateien 0600, das Speichern von Passwörtern ist deaktiviert, und es wird keine Benutzername/Passwort-Datei erstellt.

Garmins Profil-Schreibvertrag erfassen

Garmin veröffentlicht keine stabile API zum Schreiben des Herzfrequenzprofils. Der Server weigert sich, diese zu erraten.

pnpm capture:profile-contract

Der Befehl lädt Garmins aktuelles App-Modell, fordert es auf, die unveränderten aktuellen Standardzonen zu speichern, und blockiert das resultierende PUT vor der Zustellung. Er validiert die Route und den exakt unveränderten Body und speichert dann nur eine geschwärzte Methode/Pfad/Feld-Struktur und unterstützte Scopes in ~/.local/state/garmin-coach/profile-write-contract.json mit Modus 0600.

Wenn Garmins Struktur nicht nachgewiesen werden kann, wird kein Vertrag gespeichert und Profilschreibvorgänge bleiben deaktiviert.

Codex und ChatGPT desktop verbinden

Zuerst bauen, dann config/codex.toml.example nach ~/.codex/config.toml kopieren oder den entsprechenden Server über ChatGPT desktop unter Einstellungen > MCP-Server hinzufügen. Codex CLI, die IDE-Erweiterung und ChatGPT desktop teilen sich die lokale MCP-Konfiguration auf demselben Host.

Das Beispiel verwendet:

default_tools_approval_mode = "writes"

Beide Apply-Werkzeuge haben außerdem explizit approval_mode = "prompt". Starten Sie den Client nach der Konfiguration neu und verwenden Sie /mcp, um die Verbindung zu überprüfen.

ChatGPT web kann diesen lokalen stdio-Prozess nicht starten. Verwenden Sie ChatGPT desktop/Codex für Garmin-Schreibvorgänge.

Claude verbinden

Integrieren Sie config/claude.json.example in Claudes MCP-Konfiguration oder führen Sie Folgendes aus:

claude mcp add garmin-coach -- /home/talvak/snap/code/current/.local/share/pnpm/node /home/talvak/Desktop/repos/garmin-coach-mcp/dist/index.js

Die Dateisystemsperre erlaubt jeweils nur einem lokalen Client, das Garmin-Chromium-Profil zu besitzen. Beenden Sie den Server in einem Client, bevor Sie den anderen verwenden.

Werkzeuge

Werkzeug

Garmin-Schreibvorgang

get_coaching_snapshot

Nein

get_training_program

Nein

preview_training_week

Nein

apply_training_week

Ja, Genehmigung erforderlich

verify_training_week

Nein

preview_hr_profile_update

Nein

apply_hr_profile_update

Ja, separate Genehmigung erforderlich

Sicherer Arbeitsablauf

  1. get_coaching_snapshot aufrufen und mit Garmin Connect vergleichen.

  2. preview_hr_profile_update aufrufen.

  3. Jedes Feld überprüfen und den exakten kanonischen Vorschlag/Hash genehmigen.

  4. apply_hr_profile_update aufrufen; dann Garmin synchronisieren und die Zonen der Uhr visuell überprüfen.

  5. preview_training_week für eine Woche, die am Sonntag beginnt, aufrufen.

  6. Deren Erholungsnachweise, vollständige Nutzlast, Warnungen und Hash überprüfen.

  7. apply_training_week mit dem unveränderten kanonischen Vorschlag/Hash aufrufen.

  8. verify_training_week aufrufen und bestätigen, dass Montag/Freitag 135-149 bpm sind; Freitag muss feste 12%-Anweisungen anzeigen.

  9. Beide Apply-Aufrufe erneut ausführen, um die Idempotenz zu belegen.

Schmerz/Verletzung oder Krankheit blockiert Workout-Schreibvorgänge. Erholung kann beibehalten, reduzieren oder überspringen; sie erhöht niemals die Belastung. Workouts werden nie automatisch gelöscht.

Garmin stellt Laufband als Uhr-Aktivität unter Laufen bereit, nicht als Sportart für strukturierte Workouts. Freitag ist daher ein laufkompatibles Workout namens Incline Walk 12%; starten Sie es aus der Laufband-Aktivität der Uhr. Sein 12%-Steigungshinweis und das Ziel 135-149 bpm bleiben explizit.

Genehmigtes HR-Profil

Feld

Wert

Maximale HF

189 bpm

Ruhe-HF

55 bpm

Laktatschwellen-HF

181 bpm

Basis

Herzfrequenzreserve/benutzerdefinierte BPM

Zone 1

122-134 bpm

Zone 2

135-149 bpm

Zone 3

150-162 bpm

Zone 4

163-176 bpm

Zone 5

177-189 bpm

Diese Werte sind vorläufig: Alter 27, Ruhe-HF 55, geschätzte maximale HF 189 und manueller LTHR 181. Flags für automatische Erkennung bleiben erhalten. Zukünftige Änderungen erfordern eine weitere Vorschau und Genehmigung.

Verifizierung

Normale Tests laufen offline und rufen Garmin nie auf:

pnpm test
pnpm lint
pnpm format:check
pnpm typecheck
pnpm build
git diff --check

Siehe spec.md für das Verhalten und docs/architecture.md für Vertrauensgrenzen.

Lizenz

AGPL-3.0. Siehe LICENSE und NOTICE.

Install Server
F
license - not found
-
quality - not tested
B
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 Servers

  • A
    license
    A
    quality
    B
    maintenance
    Local MCP server that connects Claude Desktop with Garmin and Apple Health data to read training and recovery, estimate heart rate and pace zones, analyze performance, and create structured workouts.
    22
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A private, read-only MCP server that gives local Codex and Claude Desktop sessions access to athletics and wellness data from a Garmin Forerunner 55. It runs locally over stdio, exposes read-only tools for daily health, recovery, performance, and workouts, and caches data in SQLite.
    8
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    A local, single-user, read-only MCP server that gives Claude Code access to your Garmin health and training data, exposing tools for health snapshots, training status, run details, body metrics, and training analysis.
    1
    MIT

View all related MCP servers

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.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

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/talvaknin744/garmin-coach-mcp'

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