Garmin Connect MCP Server
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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Garmin Connect MCP Servershow me my sleep data from last night"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.3.0 - Correttezza dei dati restituiti dai tool
Diciannove tool restituivano dati vuoti, fittizi o semplicemente sbagliati. Ogni correzione è stata verificata contro un account Garmin reale.
🐛 DATI SBAGLIATI ✅ CORRETTO
count_activities: restituiva sempre0. Il servizio risponde con un array di bucket contenenticountOfActivities, mentre il codice leggeva untotalCountinesistente. Accetta orastartDate/endDateopzionali.get_training_status: restituiva il conteggio delle attività di tutta la vita più l'intero blob delle impostazioni utente. Ora usa l'endpoint dello stato di allenamento e accettadateal posto dell'inutiledays.get_goals: errore 400 perché non inviava il parametrostatus. Senzastatusinterroga ora tutti e tre gli stati e unisce i risultati.get_device_alarms: restituiva[]. L'endpointdeviceservice/alarmsnon esiste: le sveglie fanno parte delle impostazioni del dispositivo.deviceIdè ora opzionale.get_devices/get_device_last_used: restituivano entrambi le impostazioni utente invece di un elenco di dispositivi e dell'ultimo usato.get_personal_records: leggevaprofile.personalRecords, campo inesistente.get_intensity_minutes/get_floors: gli endpoint usati rispondevano 404, quindi dichiaravano "nessun dato" anche per giornate piene.get_daily_summary: restituiva solo i passi più l'intera serie di frequenza cardiaca. Ora include calorie, distanza, piani, minuti di intensità, stress e Body Battery.get_body_composition: ignoravadayse interrogava solo la giornata odierna.compare_activities/find_similar_activities: nel dettaglio attività le metriche stanno insummaryDTO, quindi i confronti producevanoundefinedeNaN.get_activity_splits: sempre vuoto, cercava i dati in un payload che non li contiene.get_race_predictions,get_training_load,get_load_ratio: endpoint errati o inesistenti, mascherati da "nessun dato".get_training_readiness,get_max_metrics,get_activity_hr_zones,get_activity_exercise_sets: forma della risposta errata (array espansi in oggetti del tipo{"0": ...}).get_progress_summary: filtrava solo le ultime 100 attività, troncando in silenzio i periodi più intensi.
✨ NUOVI PARAMETRI
count_activities:startDate,endDateget_training_status:date(sostituiscedays)get_device_alarms:deviceIdora opzionale, di default tutti i dispositiviget_intensity_minutes,get_body_composition:endDatefind_similar_activities:searchDepthset_activity_privacy: livellosubscribers("solo connessioni")
Related MCP server: garmin-mcp
🆕 Novità v4.2.0 - Prima installazione e credenziali
🔐 CONFIGURAZIONE CREDENZIALI ✅ NUOVO
Credenziali richieste durante l'installazione: Claude Desktop chiede email e password Garmin al momento dell'installazione del bundle. La password viene conservata nel vault del sistema operativo, mai in un file di testo.
setup_credentials: nuovo tool per configurare le credenziali dalla chat, senza riavviare l'estensione.check_credentials: mostra se le credenziali sono configurate, da quale fonte provengono e dove sono archiviate (non restituisce mai la password).clear_credentials: elimina credenziali cifrate e token OAuth.
🐛 AVVIO DEL SERVER ✅ CORRETTO
Il server non termina più all'avvio quando le credenziali mancano o sono errate: il transport MCP viene collegato per primo e il login avviene alla prima richiesta. L'errore
Server transport closed unexpectedlysu una installazione pulita è risolto, e al suo posto compare un messaggio che spiega cosa configurare.Le credenziali impostate nell'estensione hanno la precedenza sulla copia cifrata su disco, che viene riallineata automaticamente quando cambiano.
📈 Ora con 109 TOOLS disponibili!
🎉 Novità v4.1.0 - Gear Management & Collections
🔧 GEAR MANAGEMENT ✅ MIGLIORATO
get_all_gear: ✅ ORA FUNZIONANTE - Lista automatica di tutto l'equipaggiamento (non richiede più UUID manuale!): ❌ RIMOSSO (l'API OAuth Garmin restituisce 403 Forbidden per la creazione gear)create_gearupdate_gear: Aggiorna equipaggiamento (UUID ora ottenibile viaget_all_gear)delete_gear: Elimina equipaggiamento (UUID ora ottenibile viaget_all_gear)
🆕 GEAR METADATA & COLLECTIONS ✅ NUOVO
get_gear_types: Ottieni i tipi di equipaggiamento disponibili (scarpe, bici, casco, etc.)get_gear_makes: Ottieni le marche/brand disponibiliget_gear_collections: Lista tutte le collezioni di equipaggiamentoget_gear_collection: Dettagli di una collezione specifica (gear associati, tipi attività)create_gear_collection: Crea una nuova collezione di equipaggiamentoupdate_gear_collection: Aggiorna una collezione (nome, gear, tipi attività)delete_gear_collection: Elimina una collezione
📈 Ora con 106 TOOLS disponibili! (tutti testati e funzionanti)
Novità v4.1.0 - Social & Advanced Analytics
🤝 SOCIAL FEATURES ⚠️ PARZIALE
get_activity_comments: Ottieni commenti su un'attività ✅ FUNZIONANTEadd_activity_comment: Aggiungi commenti alle attività❌ RIMOSSO (Non supportato da API OAuth Garmin)set_activity_privacy: Imposta privacy (public, private o subscribers)
📊 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
Funzionalità
Questo server MCP fornisce 106 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 misurazioni della composizione corporea (peso, BMI, grasso, massa muscolare) su un periodo di |
| 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 registrati (id, modello, seriale, firmware) |
| Ottiene informazioni sul profilo utente |
| Ottiene lo stato di allenamento per una data: status, VO2 max, carico acuto/cronico, rapporto ACWR |
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 e scesi, con il dettaglio a intervalli di 15 minuti |
| Ottiene minuti di intensità (moderata e vigorosa) per una data o un range, con totali e obiettivo settimanali |
| Ottiene metriche max (VO2 max, etc.) |
| Ottiene punteggio Training Readiness |
| Ottiene Endurance Score |
| Ottiene Fitness Age stimata |
| Ottiene sommario giornaliero completo (passi, calorie, distanza, piani, minuti intensità, FC, stress, Body Battery) |
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 il tempo trascorso in ciascuna zona di frequenza cardiaca |
| Ottiene set esercizi (strength training) |
Goals, Challenges & Records
Strumento | Descrizione |
| Ottiene obiettivi; senza |
| Ottiene sfide ad-hoc |
| Ottiene sfide badge disponibili |
| Ottiene badge guadagnati |
| Ottiene i record personali (typeId, valore, data e attività di riferimento) |
| Ottiene previsioni tempi gara (5K, 10K, HM, M) |
Gear Management
Strumento | Descrizione |
| Lista completa di tutto l'equipaggiamento con UUID |
| Aggiorna equipaggiamento esistente |
| Elimina equipaggiamento |
| Ottiene statistiche uso gear |
| Collega gear a un'attività |
Nota: A partire dalla v4.1,
get_all_gearfunziona automaticamente e fornisce gli UUID necessari per gli altri strumenti gear. La creazione di nuovo gear non è supportata dall'API OAuth di Garmin.
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 |
| Rimuove gear da un'attività |
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 le attività, su tutto lo storico o in un range di date |
| Ottiene statistiche fitness in un range di date |
| Aggiunge dati idratazione |
🆕 Nuovi Strumenti v4.0
Social Features
Strumento | Descrizione |
| Ottiene commenti su un'attività |
| Imposta privacy attività (public/private/subscribers) |
Advanced Training Metrics
Strumento | Descrizione |
| Bilanciamento del carico mensile (aerobico basso/alto, anaerobico) rispetto ai target |
| Rapporto acuto/cronico (injury risk indicator) |
| Condizione di performance attuale |
Advanced Sleep & Device
Strumento | Descrizione |
| Movimenti durante il sonno e momenti irrequieti |
| Sveglie configurate sui dispositivi (orario, giorni, attiva/disattiva) |
| Percorsi/route salvati |
Activity Analysis
Strumento | Descrizione |
| Confronta 2-5 attività fianco a fianco |
| Trova attività simili per tipo/distanza/durata |
| Analisi completa trends, volumi e pattern |
🆕 Nuovi Strumenti v4.1
Gear Metadata
Strumento | Descrizione |
| Tipi di equipaggiamento disponibili (scarpe, bici, etc.) |
| Marche/brand disponibili |
Gear Collections (CRUD completo)
Strumento | Descrizione |
| Lista tutte le collezioni di equipaggiamento |
| Dettagli collezione (gear associati, tipi attività) |
| Crea nuova collezione con associazione attività |
| Aggiorna collezione (nome, gear, tipi attività) |
| Elimina una collezione |
🆕 Nuovi Strumenti v4.2
Credenziali
Funzionano anche quando l'autenticazione a Garmin non è ancora possibile: sono il modo per configurarla.
Strumento | Descrizione |
| Salva email e password cifrate nel vault del SO e verifica subito l'accesso |
| Stato della configurazione: fonte attiva, archivio, sessione (mai la password) |
| Elimina credenziali cifrate e token OAuth e chiude la sessione |
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:
npm install keytarNota: Se
keytarnon può essere installato, il sistema userà automaticamente un file criptato come fallback.
2. Scarica il bundle
Usa il browser oppure:
wget https://github.com/sedoglia/garmin-mcp-ts/releases/download/v4.3.0/garmin-mcp-ts.mcpb3. Verifica l'integrità
Verifica l'integrità (opzionale ma consigliato):
wget https://github.com/sedoglia/garmin-mcp-ts/releases/download/v4.3.0/garmin-mcp-ts.mcpb.sha256
sha256sum -c garmin-mcp-ts.mcpb.sha2564. 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
Durante l'installazione Claude Desktop mostra due campi, Garmin Email e Garmin Password: compilali con le credenziali del tuo account Garmin Connect. La password viene conservata nel vault nativo del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service) e non viene mai scritta in chiaro.
Puoi rivedere o modificare i due campi in qualsiasi momento da Impostazioni → Estensioni → garmin-mcp-ts.
In alternativa, dalla chat: apri una nuova chat su Claude Desktop e scrivi:
Configura le credenziali di accesso per GarminRispondi al messaggio fornendo:
Utente: la tua email Garmin
Password: la tua password Garmin
Claude usa il tool setup_credentials, che cifra e salva le credenziali nel vault nativo
del sistema operativo e verifica subito l'accesso a Garmin Connect. Non serve riavviare.
Nota: Le credenziali NON verranno salvate in file di testo. Saranno sempre crittografate e gestite dal vault nativo del SO. Se hai compilato i campi dell'estensione, quei valori hanno la precedenza su quanto salvato da
setup_credentials: per cambiarli, modificali in Impostazioni → Estensioni.
Per verificare la configurazione in qualsiasi momento:
Controlla lo stato delle credenziali Garmin6. 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
git clone https://github.com/sedoglia/garmin-mcp-ts.git
cd garmin-mcp-ts2. Installa le Dipendenze
npm install3. Installa Keytar (Raccomandato per sicurezza massima)
Per utilizzare il vault nativo del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service), installa keytar:
npm install keytarNota: Se
keytarnon può essere installato, il sistema userà automaticamente un file criptato come fallback.
4. Compila il Progetto
npm run build5. Configura le Credenziali Garmin (Metodo Sicuro - Raccomandato)
Esegui lo script di setup per configurare le credenziali in modo sicuro:
npm run setup-encryptionQuesto 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:
npm run check-encryption5b. Metodo Alternativo (Legacy)
In alternativa, puoi creare un file .env nella root del progetto:
GARMIN_EMAIL=tua.email@esempio.com
GARMIN_PASSWORD=la_tua_password_garminNota 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:
{
"mcpServers": {
"garmin": {
"command": "node",
"args": ["C:\\percorso\\a\\garmin-mcp-ts\\dist\\index.js"]
}
}
}Per macOS/Linux:
{
"mcpServers": {
"garmin": {
"command": "node",
"args": ["/percorso/a/garmin-mcp-ts/dist/index.js"]
}
}
}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/v4.1)
"Mostrami tutto il mio equipaggiamento Garmin"
"Quali tipi di equipaggiamento posso gestire?"
"Crea una collezione 'Scarpe Running' e associala alle attività di corsa"
"Mostrami le mie collezioni di equipaggiamento"
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:
npm testIl test script verifica tutti gli strumenti con il tuo account Garmin.
Architettura
garmin-mcp-ts/
├── src/
│ ├── index.ts # Punto di ingresso, gestione stdout/stderr
│ ├── garmin/
│ │ ├── client.ts # Client API Garmin Connect (2200+ righe)
│ │ ├── types.ts # Definizioni tipi TypeScript
│ │ └── simple-login.ts # Utility standalone per test login
│ ├── mcp/
│ │ ├── server.ts # Setup server MCP e gestori richieste
│ │ ├── tools.ts # Definizioni strumenti e schemi (109 tools)
│ │ └── handlers.ts # Logica implementazione strumenti
│ └── utils/
│ ├── constants.ts # Costanti dell'applicazione
│ ├── errors.ts # Classi di errore personalizzate
│ ├── logger.ts # Utility di logging (solo stderr)
│ └── secure-storage.ts # Modulo di storage sicuro con encryption
├── scripts/
│ ├── setup-encryption.ts # Script interattivo per setup credenziali
│ ├── check-encryption.ts # Script diagnostico per verificare encryption
│ └── test-keytar.ts # Script diagnostico per testare l'integrazione con Keytar
├── dist/ # Output JavaScript compilato
├── package.json
└── tsconfig.json🔐 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:
npm run check-encryptionPer testare l'integrazione con keytar:
npm run test-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): Funzionante✅
public: Funziona correttamente✅
private: Funziona correttamente✅
subscribers: Funziona correttamente (è "solo connessioni" in Garmin Connect)❌
followers: NON SUPPORTATO - non è una chiave valida, restituisce 400. La chiave corretta èsubscribers
Il livello attuale si legge da
accessControlRuleDTOinget_activity_details: leggerlo prima di modificarlo evita di sovrascriveresubscribersconpublic.
Gear Management
✅ Lista gear (
get_all_gear): Funzionante (via endpointfilterGear)✅ Aggiorna/elimina gear (
update_gear,delete_gear): Funzionante❌ Creazione gear (
create_gear): RIMOSSO - l'API OAuth restituisce 403 ForbiddenI gear possono essere creati solo tramite:
Web interface di Garmin Connect
App mobile Garmin Connect
✅ Collezioni gear (CRUD completo): Funzionante
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 |
| Richiede rilevazione HRV notturna | Assente se il dispositivo non registra l'HRV |
| Richiede barometro | Assente sui dispositivi senza altimetro barometrico |
| Tutti i dispositivi | — |
| Richiede 7+ giorni di dati | Snapshot alla data richiesta, non un aggregato del range |
| Richiede 4+ settimane consecutive | Calcolato su storico esteso |
| Durante attività | Garmin non la espone come metrica giornaliera: usare |
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
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
- AlicenseAqualityDmaintenanceEnables Claude Desktop to access and analyze Garmin wearable health data including sleep, HRV, Body Battery, and activity metrics. Users can query their health trends, track recovery, and generate interactive HTML dashboards using natural language.Last updated96MIT
- AlicenseAqualityAmaintenanceEnables Claude to access and query your Garmin Connect data, including sleep, activities, training load, and health metrics, through a set of read-only MCP tools.Last updated181MIT
- Flicense-qualityDmaintenanceConnects Claude Desktop to your Garmin Connect running data stored locally in SQLite, enabling querying, syncing, and AI analysis of fitness activities.Last updated1
- Flicense-qualityCmaintenanceProvides Claude with read-only access to Garmin Connect data including daily health metrics, training status, activity details, and trends through 32 tools.Last updated
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.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
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/sedoglia/garmin-mcp-ts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server