Skip to main content
Glama

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-Id obbligatorio (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.key se 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 keytar

Nota: Se keytar non 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.mcpb

3. 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.mcpb

4. Installa l'estensione in Claude Desktop (Metodo Consigliato)

Installazione tramite Custom Desktop Extensions:

  1. Apri Claude Desktop

  2. Vai su Impostazioni (Settings)

  3. Seleziona la scheda Estensioni (Extensions)

  4. Clicca su Impostazioni Avanzate (Advanced settings) e trova la sezione Extension Developer

  5. Clicca su "Installa Estensione..." (Install Extensionโ€ฆ)

  6. Seleziona il file .mcpb (librelink-mcp-server.mcpb scaricato al passaggio 1)

  7. 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.


Apri una nuova chat su Claude Desktop e scrivi il seguente prompt:

Configura le credenziali di accesso per LibreLink

Rispondi 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-server

2. Installa le Dipendenze

# Installa dipendenze npm install

3. 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-keyring

Linux (Fedora/RHEL):

sudo dnf install libsecret-devel gnome-keyring
# Installa Keytar npm install keytar

4. Compila il Progetto

# Compila TypeScript npm run build

5. Configura le credenziali

npm run configure

Ti 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:connection

7. 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

get_current_glucose

Lettura glicemica attuale con trend

get_glucose_history

Storico glicemico (default: 24 ore)

get_glucose_stats

Statistiche: media, GMI, time-in-range

get_glucose_trends

Analisi pattern: dawn phenomenon, stabilitร 

get_sensor_info

Info sensore attivo

configure_credentials

Configura credenziali LibreLinkUp

configure_ranges

Imposta range target personalizzati

validate_connection

Testa la connessione

get_session_status

Stato della sessione di autenticazione

clear_session

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

%LOCALAPPDATA%\librelink-mcp\

macOS

~/Library/Application Support/librelink-mcp/

Linux

~/.config/librelink-mcp/

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.key con 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:

  1. Header version con valore minimo 4.16.0

  2. Header Account-Id contenente 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:

  1. Apri l'app LibreLinkUp e accetta i nuovi Termini e Condizioni

  2. Verifica che qualcuno stia condividendo i dati con te

  3. Controlla di usare le credenziali LibreLinkUp (non LibreLink)

Errore di autenticazione

Soluzioni:

  1. Verifica email e password

  2. Prova ad accedere dall'app ufficiale LibreLinkUp

  3. Controlla la regione (EU vs US, ecc.)

Errore Keytar/Keychain

Se riscontri errori con il keychain:

  1. Assicurati che il servizio keychain del sistema sia attivo

  2. Su Linux, installa libsecret-1-dev e gnome-keyring

  3. Se Keytar non รจ disponibile, il sistema userร  automaticamente il fallback file-based (.encryption.key nella directory dati)

  4. 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

โ˜• Supporta il Progetto

Se questo progetto ti รจ utile, considera di fare una donazione per supportarne lo sviluppo:

PayPal


Disclaimer: Questo รจ un progetto non ufficiale, non affiliato con Abbott o FreeStyle Libre. Usalo responsabilmente e consulta sempre i professionisti sanitari per decisioni mediche.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/librelink-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server