Skip to main content
Glama
oliver-virt

nightscout-mcp

by oliver-virt

nightscout-mcp

Ein schreibgeschützter MCP-Server, der deine Nightscout-Daten für Claude bereitstellt.

Frag „Was macht mein Glukosewert gerade?", „Wie war meine Zeit im Zielbereich diese Woche?" oder „Wie viel Insulin ist noch aktiv?" und erhalte eine Antwort aus deinen eigenen Daten.

Kein medizinisches Gerät. Dies ist eine schreibgeschützte Ansicht von Daten, die du bereits hast. Triff keine Behandlungsentscheidungen auf dieser Grundlage. Bestätige alles, was wichtig ist, mit deinem CGM, deiner Pumpe und deinem Arzt. Messwerte können veraltet, fehlend oder falsch sein, und ein LLM kann sie falsch interpretieren.

So sieht es aus

Du: Was hat mein Glukosewert in den letzten zwei Wochen nachts gemacht?

Claude: (ruft glucose_patterns auf)

Du bist in den frühen Morgenstunden durchgehend niedrig – nicht nur einmal, sondern als Muster:

Stunde

Median

% unter 70

01:00

112

4%

02:00

94

18%

03:00

77

31%

04:00

89

22%

05:00

108

9%

03:00 ist die schlechteste Stunde deines Tages mit großem Abstand – ungefähr jede dritte Nacht fällt der Wert um diese Zeit unter 70, und er steigt bis 05:00 von selbst wieder an. Diese Form ist es wert, demjenigen gezeigt zu werden, der deine Basalraten verwaltet.

Du: Muss ich bald etwas ändern?

Claude: (ruft get_site_ages und get_device_status auf)

Der Sensor ist 9 Tage alt, er läuft also in etwa einem Tag ab. Die Kanüle ist bei 2 Tagen. Der Pumpenreservoir zeigt 18 Einheiten und die Pumpenbatterie ist bei 22 % – das würde ich heute Nacht erledigen, nicht morgen.

(Beispielzahlen, nicht die echten Daten von jemandem.)

Related MCP server: T1D Manager

Werkzeuge

Aktuell

Werkzeug

Rückgabe

get_current_glucose

Letzter Messwert, Trendrichtung und wie alt er ist

get_recent_glucose

Messwerte der letzten N Stunden (Standard: 3)

get_insulin_on_board

Aktives Insulin und Kohlenhydrate an Bord (Loop/AAPS)

get_device_status

Pumpenreservoir und Batterie, Uploader-Batterie, Loop-Status

get_site_ages

Alter von Kanüle, Sensor, Insulin und Pumpenbatterie

Im Zeitverlauf

Werkzeug

Rückgabe

time_in_range

Niedrig / im Zielbereich / hoch, Durchschnitt, GMI, CV% (Standard: 24h)

glucose_patterns

Glukose nach Tageszeit – wann du tatsächlich niedrig oder hoch bist

compare_periods

Die letzten N Tage gegen die N davor, mit Differenzen

get_recent_treatments

Boli, Kohlenhydrate und Standortwechsel (Standard: 12h)

Referenz

Werkzeug

Rückgabe

get_profile

Basalraten, ISF, Kohlenhydratfaktor, Zielwerte

server_status

Nightscout-Version und konfigurierte Schwellenwerte

glucose_patterns ist das Werkzeug, das man kennen sollte. „Was ist mein Glukosewert" ist eine Frage, die ein Diagramm bereits beantwortet; „zu welcher Tageszeit werde ich zuverlässig niedrig" ist eine, die es nicht beantwortet, und genau das kann ein Modell gut aus zwei Wochen Messwerten herauslesen. Die Stunden werden in der Zeitzone deines Nightscout-Profils gruppiert, also bedeutet 3 Uhr morgens deine 3 Uhr morgens.

Es gibt keine Schreibwerkzeuge. Der Server kann nichts in Nightscout ändern.

Bewusst nicht bereitgestellt

Nightscouts Bolusrechner-Vorschau (bwp) liefert eine vorgeschlagene Insulindosis. Sie sichtbar zu machen, würde dies von etwas, das deine Daten anzeigt, in etwas verwandeln, das eine Behandlung vorschlägt – eine völlig andere Sache, sowohl für dich als auch für die Regulierung solcher Software. Gleiches gilt für alles, was eine Korrektur berechnet. Jedes Werkzeug hier ist eine Leseoperation.

Sicherheit

Dieser Server stellt persönliche Gesundheitsdaten über das öffentliche Internet bereit, daher sind die Standardeinstellungen bewusst streng:

  • Ein Bearer-Token ist erforderlich, und der Server weigert sich, ohne eines zu starten. Es gibt keinen „unauthentifiziert, wenn du die Variable vergisst"-Modus – das ist der Fehler, den eine Bereitstellung nie bemerkt.

  • Minimale Rechte upstream. Er liest Nightscout mit einem lesbaren Zugriffstoken, niemals mit dem Admin-API_SECRET. Selbst eine vollständige Kompromittierung dieses Servers kann nicht in dein Nightscout schreiben.

  • Konstantzeit-Token-Vergleich, damit die Antwortzeit nicht genutzt werden kann, um das Bearer-Token Zeichen für Zeichen wiederherzustellen.

  • Fehler werden bereinigt. Nightscout authentifiziert über einen Abfrageparameter, also steht das Token in der Anfrage-URL; Upstream-Fehler werden erneut ausgelöst, wobei nur Pfad und Status genannt werden, um die Anmeldedaten aus Protokollen und client-sichtbaren Fehlern herauszuhalten.

  • Weitergeleitete Header werden nur von Proxys vertraut, die du benennst, über TRUSTED_PROXY_IPS. Nicht gesetzt bedeutet: niemandem vertrauen.

  • Läuft als Nicht-Root-Benutzer im Container.

/health ist die einzige Route ohne Authentifizierung. Sie gibt ein festes {"ok": true} zurück und liest nichts.

Einrichtung

1. Erstelle ein schreibgeschütztes Nightscout-Token

In Nightscout: Admin-Tools → Subjekte → Hinzufügen. Gib ihm nur die Rolle readable. Du erhältst ein Token wie claude-1a2b3c4d5e6f7890.

Verwende nicht deinen API_SECRET. Hier wird nichts geschrieben, also bringt dir Schreibzugriff nichts und kostet dich alles, wenn das Token leakt.

2. Konfiguriere

cp .env.example .env
# edit .env — at minimum NS_URL, NS_TOKEN, MCP_BEARER

Generiere das Bearer-Token mit etwas, das du dir nicht selbst ausgedacht hast:

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

3. Starte

docker build -t nightscout-mcp .
docker run -d --name nightscout-mcp --env-file .env -p 8787:8787 nightscout-mcp

Oder ohne Docker:

pip install -r requirements.txt
set -a && source .env && set +a
python server.py

4. Setze es hinter HTTPS

Der Server spricht einfaches HTTP und erwartet, dass TLS davor terminiert wird (Traefik, Caddy, nginx, Cloudflare Tunnel – alles). Claude verbindet sich von Anthropics Servern, nicht von deinem Gerät, also muss die URL vom öffentlichen Internet aus erreichbar sein.

Wenn dein Proxy X-Forwarded-* setzt, benenne ihn:

TRUSTED_PROXY_IPS=172.18.0.0/16

5. Verbinde es mit Claude

In Claude: Anpassen → Connectors → Benutzerdefinierten Connector hinzufügen

  • URL: https://your-host.example.com/mcp/

  • Öffne Anfrage-Header, füge authorization mit dem Wert Bearer <dein MCP_BEARER> hinzu

Gib den Wert einschließlich des Wortes Bearer und des Leerzeichens ein – Claude sendet den Header unverändert und fügt kein eigenes Präfix hinzu.

Anfrage-Header-Authentifizierung ist eine Claude-Beta. Wenn du keinen Abschnitt Anfrage-Header siehst, frage Anthropic nach Zugriff. Claude Code kann denselben Server heute über seine eigene MCP-Konfiguration nutzen.

Einheiten

NS_UNITS=mg/dl (Standard) oder mmol. Dies betrifft nur die Darstellung der Werte; Nightscout wird immer in mg/dL gelesen und bei der Ausgabe umgerechnet.

Beziehung zu Nightscout

Dies ist ein unabhängiges Projekt. Es ist nicht mit der Nightscout Foundation verbunden, von ihr unterstützt oder Teil davon.

Nightscout selbst (cgm-remote-monitor) ist unter AGPL-3.0 lizenziert. Dieser Server enthält keinen Nightscout-Code und bindet keine Nightscout-Bibliothek ein – er stellt nur HTTP-Anfragen an die REST-API einer laufenden Instanz. Die Nutzung einer API auf Distanz schafft kein abgeleitetes Werk, und die Netzwerkklausel der AGPL ist an die Modifikation des abgedeckten Programms geknüpft, was hier nicht geschieht. Nightscouts Copyleft erstreckt sich also nicht hierher, und dieses Projekt ist separat lizenziert.

Wenn du dies forken und Nightscout-Quellcode einbinden solltest, gilt diese Begründung für deinen Fork nicht mehr.

Lizenz

MIT – siehe LICENSE.

Gewählt wegen der Reichweite: Dies ist ein kleiner Connector, dessen Wert darin besteht, dass jeder ihn in zehn Minuten ausführen kann. Copyleft würde im häufigen Fall niemanden schützen, nämlich wenn eine Person ihn für ihre eigenen Daten selbst hostet.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query glucose data from health storage APIs, providing natural language access to glucose readings, trends, and statistics for diabetes management and health monitoring.
    3
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Type 1 diabetes patients and caregivers to monitor real-time blood glucose from Dexcom Share, calculate insulin doses, and receive empathetic AI-powered sick day care guidance through natural language interactions.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to Nightscout for real-time glucose monitoring, analysis, and treatment logging, enabling natural language interaction with CGM data.
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to access and analyze Continuous Glucose Monitor (CGM) data from Nightscout, providing real-time readings, history, and analytics.
    7
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Glucose readings from your LibreLink Up sensor: graph, logbook, stats and summaries (read-only). Sec

  • GibsonAI MCP server: manage your databases with natural language

  • Ask your app anything — revenue, errors, read-cost, growth — and get rendered charts back.

View all MCP Connectors

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/oliver-virt/nightscout-mcp'

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