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.

Install Server
A
security โ€“ no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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