Garmin Read-Only MCP
Garmin Read-Only MCP
Eine bewusst eng begrenzte Garmin-Connect-Integration für die lokale Nutzung mit Hermes Agent. Sie synchronisiert ausgewählte Garmin-Zusammenfassungen in einen nur für den Eigentümer zugänglichen SQLite-Cache und stellt anschließend ausschließlich diesen normalisierten Cache über drei schreibgeschützte MCP-Tools bereit.
Dieses Projekt verwendet den von der Community gepflegten
python-garminconnect-Client und nicht dokumentierte Garmin-Connect-Endpunkte. Es ist weder mit Garmin verbunden noch von Garmin unterstützt. Endpunkte können sich ändern, und automatisierter Zugriff kann Risiken für das Konto oder die Nutzungsbedingungen mit sich bringen. Das offizielle Garmin-Connect-Entwicklerprogramm bleibt der bevorzugte Weg für genehmigte Geschäftsintegrationen.
Sicherheitsmodell
Das Design trennt den Netzwerkzugriff vom MCP-Prozess:
garmin-readonly-authführt einmalig einen interaktiven Login in einem lokalen Terminal durch. Passwort- und MFA-Eingaben werden verborgen und niemals als Befehlsargumente akzeptiert.garmin-readonly-synclädt wiederverwendbares lokales Sitzungsmaterial, ruft ein begrenztes Datumsfenster ab, entfernt Upstream-Felder und schreibt normalisierte Zusammenfassungen in SQLite.garmin-readonly-mcpimportiert weder den Garmin-Client noch Sitzungsmaterial. Es liest ausschließlich den normalisierten SQLite-Cache und lehnt Caches ab, die Symlinks sind, keine regulären Dateien sind, nicht dem aktuellen Benutzer gehören oder für Gruppen- oder andere Benutzer zugänglich sind.
Das Standard-Zustandsverzeichnis ist:
~/.local/share/garmin-readonly-mcp/
├── tokens/ # Garmin session material, mode 0700/0600
└── cache.sqlite3 # normalized cache, mode 0600Setzen Sie die nicht geheime Umgebungsvariable GARMIN_READONLY_HOME, um ein anderes Wurzelverzeichnis zu verwenden.
Platzieren Sie das Zustandsverzeichnis niemals innerhalb des Repositorys.
Related MCP server: garmin-mcp-local
Datenumfang
Der Cache und das MCP stellen ausschließlich Folgendes bereit:
Tägliche Gesamtkalorien, aktive Kalorien und BMR-/Ruhekalorien
Schritte und Ruhepuls, sofern verfügbar
Aktivitätstyp, Startzeit, Dauer, Distanz und Kalorien
Schlafdauer/-wert, Body Battery, nächtliche HRV/Status und Trainingsbereitschaft, sofern verfügbar
Sie schließen bewusst aus:
Garmin-Profil- und Sozialdaten
Kontokennungen und Aktivitäts-IDs
Gerätedetails
GPS-Koordinaten, Routen und FIT/GPX/TCX-Dateien
Gewicht und Körperzusammensetzung
Rohe Garmin-Antworten
Hochlade-, Aktualisierungs-, Planungs- oder Löschvorgänge
Allgemeiner oder beliebiger Garmin-API-Zugriff
Garmin-Kalorienwerte sind Aktivitätskontext und keine Anweisung, die Nahrungsaufnahme zu erhöhen.
Voraussetzungen
Linux oder eine andere Unix-ähnliche Umgebung mit privaten Dateiberechtigungen
Python 3.12+
Ein Garmin-Connect-Konto
Installation
git clone https://github.com/alexpomsft/garmin-readonly-mcp.git
cd garmin-readonly-mcp
uv sync --frozenLokal authentifizieren
Führen Sie dies in einem privaten lokalen Terminal aus – nicht in Telegram, Chat, Shell-Verlauf oder auf einem geteilten Bildschirm:
uv run garmin-readonly-authDer Befehl fragt lokal nach E-Mail, verborgenem Passwort und verborgener MFA, falls Garmin dies verlangt. Er speichert wiederverwendbares Sitzungsmaterial, aber nicht das Passwort.
Synchronisieren
Standardmäßig werden heute und gestern synchronisiert:
uv run garmin-readonly-syncEin begrenztes historisches Zeitfenster kann angefordert werden:
uv run garmin-readonly-sync --end-date 2026-08-18 --days 14--days muss zwischen 1 und 31 liegen. Anbieterfehler werden durch eine feste öffentliche
Meldung ersetzt, damit rohe Garmin-Antworten und Authentifizierungsdetails nicht ausgegeben werden.
Den MCP-Server ausführen
Nach mindestens einer erfolgreichen Synchronisierung:
uv run garmin-readonly-mcpDer stdio-Server stellt genau Folgendes bereit:
get_daily_activity(date: YYYY-MM-DD)get_recent_activities(days: 1..31 = 7)get_recovery_summary(date: YYYY-MM-DD)
Tool-Schemas lehnen nicht deklarierte Argumente ab.
Mit Hermes Agent verbinden
Verwenden Sie den MCP-Befehl von Hermes, anstatt config.yaml manuell zu bearbeiten:
hermes mcp add garmin-readonly \
--command /absolute/path/to/garmin-readonly-mcp/.venv/bin/garmin-readonly-mcp
hermes mcp test garmin-readonlyStarten Sie Hermes nach dem Hinzufügen des Servers neu, damit seine Tools erkannt werden. An die MCP-Konfiguration werden
keine Anmeldedaten oder Session-Token-Pfade übergeben; sie verwendet das private Standard-Zustandsverzeichnis.
Falls GARMIN_READONLY_HOME angepasst wurde, übergeben Sie ausschließlich diese nicht geheime Einstellung
mit hermes mcp add ... --env GARMIN_READONLY_HOME=/private/path.
Entwicklung und Verifizierung
uv sync --frozen
uv run pytest --cov=garmin_readonly_mcp --cov-report=term-missing
uv run ruff check .
uv run mypy src tests
uv run pip-auditDie Implementierung wurde mit zunächst fehlschlagenden Tests entwickelt. CI führt dieselben Test-, Lint-, Typüberprüfungs- und Abhängigkeits-Audit-Gates aus.
Einschränkungen
Garmin-Connect-Endpunkte wurden per Reverse Engineering ermitt
This server cannot be installed
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
- AlicenseAqualityCmaintenanceMCP server for Garmin Connect that provides read-only access to daily health metrics, activities, workouts, and body composition data.32MIT
- AlicenseAqualityBmaintenanceA local MCP server that caches Garmin Connect data in SQLite for fast, read-only queries, with tools for bulk import, rate-limited sync, and failure alerts.9MIT
- AlicenseAqualityBmaintenanceMCP server for reading and querying Garmin Connect data, including activities, strength history, recovery, trends, and optionally creating workouts.12MIT
- Alicense-qualityCmaintenanceRead-only MCP server that exposes Garmin Connect health data from a local SQLite database to AI assistants, enabling queries for recent days, sleep, weekly trends, and a guarded SQL query surface.MIT
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
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/alexpomsft/garmin-readonly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server