Provides comprehensive access to Garmin Connect data including activity tracking, health metrics (heart rate, sleep, stress, Body Battery, HRV), workout management, device settings, body composition, training status, goals, challenges, personal records, and gear management through 94 tools.
Garmin Connect MCP Server
English | Italiano
Un server Model Context Protocol (MCP) che connette Claude Desktop a Garmin Connect, permettendo di interrogare in linguaggio naturale i tuoi dati di attività fisica, metriche di salute, sonno e altro ancora.
🎉 Novità v4.0.0 - Major Update: Social & Advanced Analytics
🤝 SOCIAL FEATURES ⚠️ PARZIALE
get_activity_comments: Ottieni commenti su un'attività ✅ FUNZIONANTE❌ RIMOSSO (Non supportato da API OAuth Garmin)add_activity_commentset_activity_privacy: Imposta privacy (public o private solo) ⚠️ PARZIALE (opzione "followers" non supportata)
📊 ADVANCED TRAINING METRICS ✅ TESTATO
get_training_load: Carico di allenamento settimanale e bilanciamentoget_load_ratio: Rapporto acuto/cronico (injury risk indicator)get_performance_condition: Condizione di performance attuale
💤 ADVANCED SLEEP ANALYSIS ✅ TESTATO
get_sleep_movement: Movimenti durante il sonno e momenti irrequieti
⏰ DEVICE MANAGEMENT ✅ TESTATO
get_device_alarms: Ottieni sveglie configurate sui dispositivi
🗺️ COURSE MANAGEMENT ✅ TESTATO
get_courses: Ottieni percorsi/route salvati
🔬 ACTIVITY ANALYSIS TOOLS ✅ TESTATO
compare_activities: Confronta 2-5 attività fianco a fiancofind_similar_activities: Trova attività simili per tipo/distanza/durata (20% tolerance)analyze_training_period: Analisi completa trends, volumi e pattern di allenamento
⚠️ GEAR MANAGEMENT (Limitazione API Garmin)
get_all_gear: Fornisce istruzioni per ottenere UUID gear da Garmin Connect Webcreate_gear: Guida alla creazione manuale (l'API OAuth non supporta listing/creazione automatica)update_gear: Aggiorna equipaggiamento (richiede UUID)delete_gear: Elimina equipaggiamento (richiede UUID)
📈 Ora con 94 TOOLS disponibili! (92 funzionanti + 2 limitati da API)
Funzionalità
Questo server MCP fornisce 94 potenti strumenti per interagire con i tuoi dati Garmin Connect:
Strumenti Attività (Base)
Strumento | Descrizione |
| Ottiene la lista delle attività recenti con filtri opzionali |
| Ottiene informazioni dettagliate su un'attività specifica |
| Ottiene dati di split/lap per un'attività specifica |
| Ottiene la lista dei workout pianificati |
Strumenti Salute & Benessere
Strumento | Descrizione |
| Ottiene metriche di salute giornaliere (passi, frequenza cardiaca, VO2 max) |
| Ottiene informazioni dettagliate sul sonno (durata, qualità, fasi) |
| Ottiene dati sulla composizione corporea (peso, BMI, grasso corporeo) |
| Ottiene il conteggio passi per una data specifica |
| Ottiene dati dettagliati sulla frequenza cardiaca |
| Ottiene dati giornalieri sull'idratazione |
Metriche Wellness (v1.2)
Strumento | Descrizione |
| Ottiene i livelli di stress durante il giorno (scala 0-100) |
| Ottiene i livelli di energia Body Battery (0-100) |
| Ottiene dati di variabilità cardiaca (HRV) |
| Ottiene dati sulla frequenza respiratoria |
| Ottiene dati SpO2 (saturazione di ossigeno nel sangue) |
Strumenti Utente & Dispositivi
Strumento | Descrizione |
| Ottiene la lista dei dispositivi Garmin connessi |
| Ottiene informazioni sul profilo utente |
| Ottiene lo stato di allenamento e statistiche delle attività |
Nuovi Strumenti v2.0
Gestione Workout
Strumento | Descrizione |
| Ottiene dettagli di un workout specifico |
| Scarica workout in formato FIT per sync su device |
| Crea workout strutturati con warmup, intervalli, cooldown |
| Modifica un workout esistente |
| Elimina un workout |
| Schedula un workout su una data specifica |
| Rimuove workout dal calendario (⚠️ usare prima di delete_workout) |
Gestione Attività
Strumento | Descrizione |
| Upload file attività (FIT, GPX, TCX) |
| Crea attività manuale |
| Modifica nome attività |
| Modifica tipo attività |
| Elimina un'attività (⚠️ irreversibile) |
| Scarica attività in vari formati (FIT, TCX, GPX, KML, CSV) |
Device & Settings
Strumento | Descrizione |
| Ottiene info sull'ultimo dispositivo usato |
| Ottiene impostazioni di un dispositivo |
Health & Wellness Avanzati
Strumento | Descrizione |
| Ottiene stress dettagliato per tutto il giorno |
| Ottiene piani saliti |
| Ottiene minuti di intensità (moderata e vigorosa) |
| Ottiene metriche max (VO2 max, etc.) |
| Ottiene punteggio Training Readiness |
| Ottiene Endurance Score |
| Ottiene Fitness Age stimata |
| Ottiene sommario giornaliero completo |
Weight & Body
Strumento | Descrizione |
| Ottiene pesate in un range di date |
| Aggiunge pesata con dati composizione corporea |
| Elimina una pesata |
| Ottiene misurazioni pressione sanguigna |
| Registra misurazione pressione |
| Elimina misurazione pressione |
Activity Details Avanzati
Strumento | Descrizione |
| Ottiene meteo durante un'attività |
| Ottiene tempo nelle zone HR |
| Ottiene set esercizi (strength training) |
Goals, Challenges & Records
Strumento | Descrizione |
| Ottiene obiettivi (attivi, futuri, passati) |
| Ottiene sfide ad-hoc |
| Ottiene sfide badge disponibili |
| Ottiene badge guadagnati |
| Ottiene record personali |
| Ottiene previsioni tempi gara (5K, 10K, HM, M) |
Gear Management
Strumento | Descrizione |
| Ottiene statistiche uso gear (richiede UUID da interfaccia web) |
| Collega gear a un'attività (richiede UUID da interfaccia web) |
Nota: L'API OAuth di Garmin non supporta la lista dei gear. Per usare gli strumenti gear, è necessario ottenere l'UUID del gear dall'interfaccia web di Garmin Connect (Impostazioni → Attrezzatura → clicca sul gear → l'UUID è nell'URL).
Reports & Progress
Strumento | Descrizione |
| Ottiene sommario progressi tra due date |
🆕 Nuovi Strumenti v3.0
User & Activity Summary
Strumento | Descrizione |
| Ottiene riepilogo utente per una data (steps, calories, etc.) |
| Ottiene dati passi dettagliati per una data |
| Ottiene passi giornalieri in un range di date (max 28 giorni) |
| Ottiene attività in un range di date |
| Ottiene split per tipo di attività |
Health Metrics Avanzati
Strumento | Descrizione |
| Ottiene frequenza cardiaca a riposo giornaliera |
| Ottiene punteggio Hill Score in un range di date |
| Ottiene tutti gli eventi del giorno (stress, body battery) |
| Ottiene eventi Body Battery dettagliati |
Badges & Challenges Avanzati
Strumento | Descrizione |
| Ottiene tutti i badge disponibili |
| Ottiene badge in corso di completamento |
| Ottiene sfide badge disponibili |
| Ottiene sfide badge non completate |
| Ottiene sfide virtuali in corso |
Gear Avanzato
Strumento | Descrizione |
| Ottiene attività associate a un gear (richiede UUID) |
| Rimuove gear da un'attività (richiede UUID) |
Training Plans
Strumento | Descrizione |
| Ottiene piani di allenamento disponibili |
| Ottiene dettagli piano di allenamento |
Salute Femminile
Strumento | Descrizione |
| Ottiene dati ciclo mestruale per una data |
| Ottiene riepilogo gravidanza |
Utility & Stats
Strumento | Descrizione |
| Ottiene tutti i tipi di attività disponibili |
| Ottiene dispositivo di allenamento primario |
| Conta il numero totale di attività |
| Ottiene statistiche fitness in un range di date |
| Aggiunge dati idratazione |
Prerequisiti
Node.js 18.0 o superiore
npm 8.0 o superiore
Claude Desktop installato
Account Garmin Connect con credenziali valide
🚀 Installazione Rapida (Bundle Precompilato)
Passaggi:
1. Installa Keytar (Raccomandato per sicurezza massima)
Per utilizzare il vault nativo del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service), installa keytar:
Nota: Se
keytarnon può essere installato, il sistema userà automaticamente un file criptato come fallback.
2. Scarica il bundle
Usa il browser oppure:
3. Verifica l'integrità
Verifica l'integrità (opzionale ma consigliato):
4. Installa l'estensione in Claude Desktop (Metodo Consigliato)
Installazione tramite Custom Desktop Extensions:
Apri Claude Desktop
Vai su Impostazioni (Settings)
Seleziona la scheda Estensioni (Extensions)
Clicca su Impostazioni Avanzate (Advanced settings) e trova la sezione Extension Developer
Clicca su "Installa Estensione..." (Install Extension…)
Seleziona il file
.mcpb(garmin-mcp-ts.mcpbscaricato al passaggio 2)Segui le indicazioni a schermo per completare l'installazione
Nota: Questo è il metodo più semplice e consigliato. L'estensione sarà automaticamente integrata in Claude Desktop senza necessità di configurazione manuale.
5. Configura le Credenziali Garmin (Metodo Sicuro - Raccomandato)
Apri una nuova chat su Claude Desktop e scrivi il seguente prompt:
Rispondi al messaggio fornendo:
Utente: la tua email Garmin
Password: la tua password Garmin
L'estensione provvederà automaticamente a criptare e salvare le credenziali in modo sicuro nel vault nativo del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service).
Nota: Le credenziali NON verranno salvate in file di testo. Saranno sempre crittografate e gestite dal vault nativo del SO.
6. Riavvia Claude Desktop
Chiudi completamente l'applicazione
Riapri Claude Desktop
Verifica in Impostazioni → Sviluppatore lo stato della connessione ✅
🚀 Installazione (clonando il repository con GIT)
1. Clona il Repository
2. Installa le Dipendenze
3. Installa Keytar (Raccomandato per sicurezza massima)
Per utilizzare il vault nativo del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service), installa keytar:
Nota: Se
keytarnon può essere installato, il sistema userà automaticamente un file criptato come fallback.
4. Compila il Progetto
5. Configura le Credenziali Garmin (Metodo Sicuro - Raccomandato)
Esegui lo script di setup per configurare le credenziali in modo sicuro:
Questo script:
Crea una directory sicura nella home dell'utente
Genera una chiave di encryption e la salva nel vault nativo del SO
Chiede email e password Garmin
Cripta e salva le credenziali in modo sicuro
Per verificare la configurazione:
5b. Metodo Alternativo (Legacy)
In alternativa, puoi creare un file .env nella root del progetto:
Nota sulla Sicurezza: Non commitare mai il file
.envnel controllo versione. È già incluso in.gitignore. Si consiglia di usare il metodo sicuro sopra descritto.
Configurazione di Claude Desktop
Posizione del File di Configurazione
Il file di configurazione di Claude Desktop si trova in:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Esempio di Configurazione
Aggiungi il server MCP Garmin al tuo claude_desktop_config.json:
Per macOS/Linux:
Verifica della Configurazione
Riavvia Claude Desktop dopo aver salvato la configurazione
Cerca gli strumenti Garmin tra quelli disponibili (icona martello)
Prova a chiedere: "Quali sono le mie attività recenti su Garmin?"
Esempi di Utilizzo
Interrogare le Attività Recenti
"Mostrami le mie ultime 5 attività Garmin"
"Quali attività ho fatto questa settimana?"
Ottenere Metriche di Salute
"Quali sono le mie metriche di salute per oggi?"
"Quanti passi ho fatto ieri?"
Analisi del Sonno
"Come ho dormito la scorsa notte?"
"Mostrami i dati del sonno del 10 dicembre"
Gestione Workout (NUOVO v2.0)
"Mostrami i miei workout pianificati"
"Scarica il mio ultimo workout"
Training Readiness (NUOVO v2.0)
"Qual è il mio Training Readiness di oggi?"
"Mostrami il mio Endurance Score"
Progressi e Statistiche (NUOVO v2.0)
"Quanti km ho corso questo mese?"
"Mostrami il sommario dei miei progressi dell'ultimo mese"
Health Metrics Avanzati (NUOVO v3.0)
"Qual è stata la mia frequenza cardiaca a riposo oggi?"
"Mostrami gli eventi di tutto il giorno per stress e body battery"
Salute Femminile (NUOVO v3.0)
"Come influisce il mio ciclo mestruale sulla mia performance di allenamento?"
"In base al mio ciclo, quale tipo di allenamento dovrei fare?"
Gestione Equipaggiamento (NUOVO v4.0)
"Mostrami tutto il mio equipaggiamento Garmin"
"Crea un nuovo paio di scarpe da corsa Nike Pegasus 40"
Commenti e Privacy (NUOVO v4.0)
"Mostrami i commenti sulla mia ultima attività"
"Imposta la mia ultima corsa come privata"
Metriche Training Avanzate (NUOVO v4.0)
"Come sta andando il mio carico di allenamento questo mese?"
"Qual è il mio rapporto acuto/cronico? Sono a rischio infortuni?"
Analisi Attività (NUOVO v4.0)
"Confronta le mie ultime 3 corse"
"Trova attività simili alla mia corsa di domenica scorsa"
"Analizza il mio allenamento dell'ultimo mese"
Test
Esegui i test con dati reali:
Il test script verifica tutti gli strumenti con il tuo account Garmin.
Architettura
🔐 Architettura di Sicurezza
Il sistema di sicurezza utilizza un'architettura a due livelli per proteggere le credenziali:
Dove vengono salvati i dati
Sistema Operativo | Chiave di Encryption | Dati Criptati |
Windows | Windows Credential Manager |
|
macOS | Keychain (Face ID/Touch ID) |
|
Linux | Secret Service (D-Bus/GNOME) |
|
Come funziona
Chiave di Encryption: Una chiave AES-256 viene generata alla prima esecuzione e salvata nel vault nativo del SO
Credenziali: Email e password vengono cifrate con AES-256-GCM e salvate in
garmin-credentials.encToken OAuth: I token vengono cifrati e salvati in
garmin-tokens.encper riutilizzo sessione
Perché è sicuro
La chiave non è mai su disco in chiaro: È nel vault hardware/software del SO
Se il repository viene esposto: I dati rimangono inutili senza la chiave
Se il PC viene clonato: I dati sono inaccessibili (la chiave rimane nel vault dell'utente originale)
Encryption forte: AES-256-GCM con IV casuale per ogni operazione
Fallback
Se keytar non è disponibile (vault nativo), il sistema usa un file .encryption.key con permessi ristretti (0o600) nella directory dati.
Verifica stato encryption
Per verificare lo stato completo dell'encryption e keytar:
Per testare l'integrazione con keytar:
⚠️ Limitazioni Note
Limitazioni API Garmin OAuth
Alcuni endpoint e funzionalità non sono disponibili tramite l'API OAuth pubblica di Garmin:
Commenti alle Attività
✅ Lettura commenti (
get_activity_comments): Funzionante❌ Scrittura commenti (
add_activity_comment): NON SUPPORTATO dall'API OAuthI commenti possono essere aggiunti solo tramite:
Web interface di Garmin Connect
App mobile Garmin Connect
NON disponibile via API OAuth
Privacy Attività
✅ Impostare privacy (
set_activity_privacy): Parzialmente funzionante✅
public: Funziona correttamente✅
private: Funziona correttamente❌
followers: NON SUPPORTATO - restituisce errore 400 "PRIVACY_INVALID"
Metriche Avanzate (Dipende dal Dispositivo)
Alcune metriche potrebbero non essere disponibili a seconda del modello di smartwatch:
Metrica | Dispositivi Supportati | Note |
| Solo dispositivi premium (Fenix 7+, Forerunner 955+) | Non disponibile su Instinct 2 Solar |
| Solo Instinct 2X | Non su Instinct 2 Solar standard |
| Richiede barometro | Potrebbe non sincronizzarsi via API |
| Tutti i dispositivi | Potrebbe non sincronizzarsi via API |
| Richiede 7+ giorni di dati | Usa Firstbeat Analytics |
| Richiede 4+ settimane consecutive | Calcolato su storico esteso |
| Durante attività | Visibile sul watch, non sempre via API |
Nota: Alcune metriche sono visibili nell'app Garmin Connect ma potrebbero non essere esposte tramite API OAuth.
Risoluzione dei Problemi
Problemi Comuni
Autenticazione Fallita
Verifica che le tue credenziali Garmin siano corrette
Controlla di poter accedere manualmente a connect.garmin.com
Assicurati che non ci siano caratteri speciali nella password che potrebbero richiedere escape
Rate Limiting (Errore 429)
Garmin potrebbe bloccare temporaneamente le richieste se ne vengono fatte troppe in un breve periodo. Attendi qualche minuto e riprova.
Il Server Non Appare in Claude Desktop
Controlla che il percorso a
dist/index.jssia corretto e assolutoVerifica che la sintassi del JSON di configurazione sia valida
Riavvia completamente Claude Desktop
Controlla i log di Claude Desktop per eventuali errori
Visualizzare i Log
Il server produce informazioni diagnostiche su stderr. In Claude Desktop, controlla i log dell'applicazione:
Windows:
%APPDATA%\Claude\logs\macOS:
~/Library/Logs/Claude/
Crediti e Ringraziamenti
Questo progetto è stato ispirato e costruito sul lavoro di diversi progetti open-source:
Taxuspt/garmin_mcp - Implementazione originale Garmin MCP
matin/garth - Libreria di autenticazione Garmin
matin/garth-mcp-server - Server MCP basato su Garth
Async-IO/pierre_mcp_server - Pattern per server MCP
WillRaphaelson/garmin-mcp - Reference per API endpoints
Un ringraziamento speciale ai manutentori del pacchetto npm garmin-connect.
Contribuire
I contributi sono benvenuti! Sentiti libero di inviare una Pull Request.
Fai il fork del repository
Crea il tuo branch per la feature (
git checkout -b feature/FunzionalitàIncredibile)Committa le tue modifiche (
git commit -m 'Aggiunge una FunzionalitàIncredibile')Pusha il branch (
git push origin feature/FunzionalitàIncredibile)Apri una Pull Request
Licenza
Questo progetto è rilasciato sotto Licenza MIT - vedi il file LICENSE per i dettagli.
Privacy Policy
Questo progetto rispetta la tua privacy. Per informazioni complete su come vengono gestiti i tuoi dati, consulta la nostra Privacy Policy.
Riepilogo
Dati raccolti: Credenziali Garmin (email e password) e token OAuth
Archiviazione: Tutti i dati sono crittografati localmente con AES-256-GCM e salvati nel vault nativo del sistema operativo
Trasmissione: I dati vengono trasmessi solo ai server Garmin Connect per l'autenticazione e il recupero dei dati
Nessun server di terze parti: Non raccogliamo, non memorizziamo e non trasmettiamo i tuoi dati a server di terze parti
Controllo locale: Tutti i dati rimangono sul tuo dispositivo sotto il tuo controllo
Disclaimer
Questo progetto non è affiliato, approvato o connesso a Garmin Ltd. o alle sue sussidiarie. Garmin e Garmin Connect sono marchi registrati di Garmin Ltd.
Supporta lo Sviluppo
Se questo progetto ti è utile, considera di supportarlo con una donazione!
English | Italiano | Segnala Problemi