garmin-coach-mcp
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 authpnpm 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-contractDer 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.jsDie 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 |
| Nein |
| Nein |
| Nein |
| Ja, Genehmigung erforderlich |
| Nein |
| Nein |
| Ja, separate Genehmigung erforderlich |
Sicherer Arbeitsablauf
get_coaching_snapshotaufrufen und mit Garmin Connect vergleichen.preview_hr_profile_updateaufrufen.Jedes Feld überprüfen und den exakten kanonischen Vorschlag/Hash genehmigen.
apply_hr_profile_updateaufrufen; dann Garmin synchronisieren und die Zonen der Uhr visuell überprüfen.preview_training_weekfür eine Woche, die am Sonntag beginnt, aufrufen.Deren Erholungsnachweise, vollständige Nutzlast, Warnungen und Hash überprüfen.
apply_training_weekmit dem unveränderten kanonischen Vorschlag/Hash aufrufen.verify_training_weekaufrufen und bestätigen, dass Montag/Freitag135-149 bpmsind; Freitag muss feste12%-Anweisungen anzeigen.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 --checkSiehe spec.md für das Verhalten und docs/architecture.md für Vertrauensgrenzen.
Lizenz
Maintenance
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
- AlicenseAqualityBmaintenanceLocal 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.22MIT
- AlicenseAqualityBmaintenanceAn MCP server that transforms Garmin data into compact, verdict-first coaching reports for LLMs, computing metrics like CTL/ATL/TSB and ACWR to answer training readiness questions.14MIT
- AlicenseBqualityCmaintenanceA 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.8MIT
- Alicense-qualityBmaintenanceA 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.1MIT
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…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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