Provides access to FreeStyle Libre glucose monitoring data through LibreLinkUp, enabling retrieval of current glucose readings, historical data, statistics (time-in-range, GMI), sensor information, and glucose trend analysis.
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., "@LibreLink MCP Servershow my current glucose reading and trend"
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.
LibreLink MCP Server - Fixed for API v4.16.0
๐ฌ๐ง English | ๐ฎ๐น Italiano
๐ฉธ Server MCP per accedere ai dati glicemici FreeStyle Libre tramite Claude Desktop.
Questa รจ una versione corretta che supporta le modifiche API introdotte l'8 ottobre 2025:
โ Supporto per la versione API 4.16.0+
โ Header
Account-Idobbligatorio (SHA256 hash dell'userId)โ Gestione automatica del redirect regionale
โ Refresh automatico del token
โ Storage sicuro delle credenziali con crittografia AES-256-GCM
โ Chiavi di crittografia salvate nel keychain del sistema operativo (Keytar)
โ Fallback automatico a file
.encryption.keyse Keytar non disponibileโ Persistenza sicura dei token JWT
โ v1.3.0: Supporto completo per tutte le 13 regioni LibreLinkUp
๐ Prerequisiti
Node.js: Versione 18.0.0 o superiore
Account LibreLinkUp: Account attivo con dati condivisi
Sensore: FreeStyle Libre 2 o 3 attivo
Claude Desktop: Per l'integrazione MCP
๐ 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/librelink-mcp-server/releases/download/v1.3.0/librelink-mcp-server.mcpb3. Verifica l'integritร
Verifica l'integritร (opzionale ma consigliato):
wget https://github.com/sedoglia/librelink-mcp-server/releases/download/v1.3.0/librelink-mcp-server.mcpb.sha256
sha256sum -c librelink-mcp-server.mcpb4. 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(librelink-mcp-server.mcpbscaricato al passaggio 1)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 LibreLink (Metodo Sicuro - Raccomandato)
Apri una nuova chat su Claude Desktop e scrivi il seguente prompt:
Configura le credenziali di accesso per LibreLinkRispondi al messaggio fornendo:
Utente: la tua email LibreLink
Password: la tua password LibreLink
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
# Clona il repository
git clone https://github.com/sedoglia/librelink-mcp-server.git
cd librelink-mcp-server2. Installa le Dipendenze
# Installa dipendenze
npm install3. Installa Keytar
Keytar richiede alcune dipendenze di sistema per funzionare:
Windows: Nessuna dipendenza aggiuntiva richiesta (usa Windows Credential Manager)
macOS: Nessuna dipendenza aggiuntiva richiesta (usa Keychain)
Linux (Debian/Ubuntu):
sudo apt-get install libsecret-1-dev gnome-keyringLinux (Fedora/RHEL):
sudo dnf install libsecret-devel gnome-keyring# Installa Keytar
npm install keytar4. Compila il Progetto
# Compila TypeScript
npm run build5. Configura le credenziali
npm run configureTi verrร chiesto:
Email: Email del tuo account LibreLinkUp
Password: Password del tuo account
Regione: Una delle 13 regioni supportate (vedi sotto)
Range target: Valori glicemici target (default: 70-180 mg/dL)
Regioni Supportate
Codice | Regione |
AE | Emirati Arabi Uniti |
AP | Asia Pacifico |
AU | Australia |
CA | Canada |
CN | Cina |
DE | Germania |
EU | Europa (default) |
EU2 | Europa 2 |
FR | Francia |
JP | Giappone |
LA | America Latina |
RU | Russia |
US | Stati Uniti |
Le credenziali vengono salvate in modo sicuro:
Crittografia: AES-256-GCM con salt e IV casuali
Chiave di crittografia: Salvata nel keychain del sistema operativo
Token JWT: Persistito in modo sicuro per evitare login ripetuti
6. Testa la connessione
npm run test:connection7. Configura Claude Desktop
Aggiungi al file di configurazione di Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"librelink": {
"command": "node",
"args": ["C:/percorso/librelink-mcp-server/dist/index.js"]
}
}
}8. Riavvia Claude Desktop
Riavvia Claude Desktop per caricare il server MCP.
๐ Strumenti MCP Disponibili
Strumento | Descrizione |
| Lettura glicemica attuale con trend |
| Storico glicemico (default: 24 ore) |
| Statistiche: media, GMI, time-in-range |
| Analisi pattern: dawn phenomenon, stabilitร |
| Info sensore attivo |
| Configura credenziali LibreLinkUp |
| Imposta range target personalizzati |
| Testa la connessione |
| Stato della sessione di autenticazione |
| Pulisce la sessione e forza re-autenticazione |
๐ฌ Esempi di Utilizzo
Una volta integrato con Claude Desktop, puoi chiedere:
"Qual รจ la mia glicemia attuale?"
"Mostrami lo storico glicemico delle ultime 6 ore"
"Calcola il mio time-in-range di questa settimana"
"Analizza i miei pattern glicemici"
"Ho il fenomeno dell'alba?"
๐ Output di Esempio
Lettura Attuale
{
"current_glucose": 105,
"timestamp": "2025-12-06T16:30:00.000Z",
"trend": "Flat",
"status": "Normal",
"color": "green"
}Statistiche
{
"analysis_period_days": 7,
"average_glucose": 112.5,
"glucose_management_indicator": 5.94,
"time_in_range": {
"target_70_180": 85.2,
"below_70": 2.1,
"above_180": 12.7
},
"variability": {
"standard_deviation": 28.4,
"coefficient_of_variation": 25.2
}
}๐ Sicurezza e Privacy
Posizioni di Storage
I file di configurazione sono salvati in posizioni specifiche per ogni sistema operativo:
Sistema | Percorso |
Windows |
|
macOS |
|
Linux |
|
Architettura di Sicurezza
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Storage Chiave di Crittografia โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ OPZIONE 1 (Preferita): OS Keychain via Keytar โโ
โ โ - Windows: Credential Manager โโ
โ โ - macOS: Keychain โโ
โ โ - Linux: Secret Service (libsecret) โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโคโ
โ โ OPZIONE 2 (Fallback): File .encryption.key โโ
โ โ - Permessi 0o600 (solo proprietario) โโ
โ โ - Usato se Keytar non disponibile โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [Percorso specifico per OS]/librelink-mcp/ โ
โ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ credentials.enc โ โ token.enc โ โ
โ โ (AES-256-GCM) โ โ (AES-256-GCM) โ โ
โ โ - email โ โ - JWT token โ โ
โ โ - password โ โ - expiration โ โ
โ โโโโโโโโโโโโโโโโโโโโโ โ - userId โ โ
โ โ - accountId โ โ
โ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ config.json โ โ
โ โ (non sensibile) โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ - region โ โ .encryption.key โ โ
โ โ - targetLow/High โ โ (fallback, 0o600) โ โ
โ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโCaratteristiche di Sicurezza
Crittografia AES-256-GCM: Le credenziali sono crittografate con algoritmo AES-256 in modalitร GCM con authentication tag
Salt e IV casuali: Ogni operazione di crittografia usa salt e IV unici
Chiavi nel Keychain (preferito): La chiave master รจ salvata nel keychain del sistema operativo:
Windows: Credential Manager
macOS: Keychain
Linux: Secret Service (libsecret)
Fallback file-based: Se Keytar non รจ disponibile (es. LM Studio, ambienti senza moduli nativi), la chiave viene salvata in
.encryption.keycon permessi restrittivi (0o600)Token persistenti: I JWT token sono salvati crittografati per evitare login ripetuti
Migrazione automatica: Le credenziali dalla vecchia versione vengono migrate automaticamente e le password in chiaro eliminate
Permessi file: Automaticamente impostati a 600 (solo utente)
Nessun tracking: Zero telemetria
Elaborazione locale: Nessun dato inviato a server esterni
โ ๏ธ Fix API v4.16.0 (Ottobre 2025)
Il Problema
L'8 ottobre 2025, Abbott ha reso obbligatori:
Header
versioncon valore minimo4.16.0Header
Account-Idcontenente l'hash SHA256 dell'userId
La Soluzione
Questo fork genera automaticamente l'Account-Id dopo il login:
import { createHash } from 'crypto';
// L'userId viene dalla risposta del login
const userId = loginResponse.data.user.id;
const accountId = createHash('sha256').update(userId).digest('hex');
// L'header viene aggiunto a tutte le richieste autenticate
headers['Account-Id'] = accountId;๐ Troubleshooting
Errore 403 con minimumVersion
{"data":{"minimumVersion":"4.16.0"},"status":920}Soluzione: Stai usando una versione vecchia. Usa questo fork aggiornato.
Errore RequiredHeaderMissing
Soluzione: L'header Account-Id non viene inviato. Usa questo fork che lo include automaticamente.
Nessuna connessione trovata
Soluzioni:
Apri l'app LibreLinkUp e accetta i nuovi Termini e Condizioni
Verifica che qualcuno stia condividendo i dati con te
Controlla di usare le credenziali LibreLinkUp (non LibreLink)
Errore di autenticazione
Soluzioni:
Verifica email e password
Prova ad accedere dall'app ufficiale LibreLinkUp
Controlla la regione (EU vs US, ecc.)
Errore Keytar/Keychain
Se riscontri errori con il keychain:
Assicurati che il servizio keychain del sistema sia attivo
Su Linux, installa
libsecret-1-devegnome-keyringSe Keytar non รจ disponibile, il sistema userร automaticamente il fallback file-based (
.encryption.keynella directory dati)Il fallback รจ completamente trasparente e le credenziali rimangono crittografate con AES-256-GCM
๐ Struttura Progetto
librelink-mcp-server/
โโโ src/
โ โโโ index.ts # Server MCP principale
โ โโโ librelink-client.ts # Client API con fix v4.16.0
โ โโโ glucose-analytics.ts # Analisi e statistiche
โ โโโ config.ts # Gestione configurazione
โ โโโ configure.ts # Tool CLI configurazione
โ โโโ secure-storage.ts # Storage sicuro con Keytar
โ โโโ types.ts # Definizioni TypeScript
โโโ test-real-connection.js # Test connessione
โโโ test-secure-storage.js # Test modulo sicurezza
โโโ package.json
โโโ tsconfig.json
โโโ README.md๐ Privacy Policy
Questo server MCP rispetta la tua privacy. Ecco un riepilogo:
Elaborazione locale: Tutti i dati vengono elaborati esclusivamente sul tuo dispositivo
Crittografia: Credenziali protette con AES-256-GCM, chiavi nel keychain OS
Nessun tracking: Zero telemetria, analytics o condivisione con terze parti
Comunicazione sicura: Solo con API LibreLinkUp ufficiali di Abbott
๐ Leggi la Privacy Policy completa
๐ Licenza
MIT License
๐ Crediti
Fork originale: amansk/librelink-mcp-server
Documentazione API: khskekec/libre-link-up-http-dump
MCP Protocol: Anthropic
Secure Storage: Keytar
โ Supporta il Progetto
Se questo progetto ti รจ utile, considera di fare una donazione per supportarne lo sviluppo:
Disclaimer: Questo รจ un progetto non ufficiale, non affiliato con Abbott o FreeStyle Libre. Usalo responsabilmente e consulta sempre i professionisti sanitari per decisioni mediche.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.