nightscout-mcp
nightscout-mcp
Un servidor MCP de solo lectura que expone tus datos de Nightscout a Claude.
Pregunta "¿qué está haciendo mi glucosa?", "¿cómo ha sido mi tiempo en rango esta semana?" o "¿cuánta insulina sigue activa?" y obtén una respuesta de tus propios datos.
No es un dispositivo médico. Esta es una vista de solo lectura de los datos que ya tienes. No tomes decisiones de tratamiento basándote en ella. Confirma cualquier cosa importante con tu CGM, tu bomba y tu médico. Las lecturas pueden estar desactualizadas, faltar o ser incorrectas, y un LLM puede malinterpretarlas.
Lo que se ve
Tú: ¿qué ha estado haciendo mi glucosa por la noche durante estas últimas dos semanas?
Claude: (llama a
glucose_patterns)Estás bajo de glucosa en la madrugada, de forma constante — no una sola vez, como patrón:
hora
mediana
% por debajo de 70
01:00
112
4%
02:00
94
18%
03:00
77
31%
04:00
89
22%
05:00
108
9%
Las 03:00 son la peor hora de tu día, con diferencia: aproximadamente una de cada tres noches bajas de 70 alrededor de entonces, y vuelve a subir por sí sola hacia las 05:00. Esa forma merece la pena mostrársela a quien gestione tus tasas basales.
Tú: ¿hay algo que necesite cambiar pronto?
Claude: (llama a
get_site_agesyget_device_status)El sensor tiene 9 días, así que caduca en más o menos un día. La cánula lleva 2 días. El depósito de la bomba marca 18 unidades y la batería de la bomba está al 22 % — esa es la que me encargaría esta noche en lugar de mañana.
(Cifras ilustrativas, no son datos reales de nadie.)
Related MCP server: T1D Manager
Herramientas
Ahora mismo
Tool | Devuelve |
| Última lectura, dirección de tendencia y antigüedad |
| Lecturas de las últimas N horas (por defecto 3) |
| Insulina activa y carbohidratos a bordo (Loop/AAPS) |
| Depósito y batería de la bomba, batería del uploader y salud del bucle |
| Antigüedad de cánula, sensor, insulina y batería de la bomba |
Con el tiempo
Tool | Devuelve |
| Desglose bajo / en rango / alto, media, GMI, CV% (por defecto 24h) |
| Glucosa por hora del día — cuándo realmente bajas o subes |
| Los últimos N días frente a los N anteriores, con deltas |
| Bolos, carbohidratos y cambios de sitio (por defecto 12h) |
Referencia
Tool | Devuelve |
| Tasas basales, ISF, ratio de carbohidratos, objetivos |
| Versión de Nightscout y umbrales configurados |
glucose_patterns es el que merece la pena conocer. "¿Cuál es mi glucosa?" es una pregunta que un gráfico ya responde; "¿a qué hora del día bajo de forma fiable?" es una que no, y es el tipo de cosa que a un modelo se le da bien extraer de dos semanas de lecturas. Las horas se agrupan en la zona horaria del propio perfil de Nightscout, así que las 3 a. m. significan tus 3 a. m.
No hay herramientas de escritura. El servidor no puede cambiar nada en Nightscout.
Deliberadamente no expuesto
La vista previa del asistente de bolos (bwp) de Nightscout devuelve una cantidad de insulina sugerida. Mostrarla convertiría esto de algo que muestra tus datos en algo que sugiere tratamiento — una cosa completamente distinta, tanto para ti como para la forma en que se regula este tipo de software. El mismo razonamiento se aplica a cualquier cosa que calcule una corrección. Todas las herramientas aquí son de lectura.
Seguridad
Este servidor sirve datos personales de salud a través de internet público, por lo que los valores por defecto son deliberadamente estrictos:
Se requiere un token Bearer, y el servidor se niega a iniciarse sin uno. No existe un modo "sin autenticar si olvidas la variable" — ese es el fallo que un despliegue nunca nota.
Privilegio mínimo en el origen. Lee Nightscout con un token de acceso legible, nunca con el
API_SECRETde administrador. Incluso un compromiso total de este servidor no puede escribir en tu Nightscout.Comparación de tokens en tiempo constante, para que el tiempo de respuesta no pueda usarse para recuperar el token Bearer carácter a carácter.
Los errores se sanean. Nightscout se autentica mediante un parámetro de consulta, así que el token está en la URL de la solicitud; los fallos del upstream se relanzan indicando solo la ruta y el estado, manteniendo la credencial fuera de los registros y de los errores visibles para el cliente.
Las cabeceras reenviadas solo se confían a los proxies que nombres, mediante
TRUSTED_PROXY_IPS. Sin definir, no se confía en nadie.Se ejecuta como un usuario no root en el contenedor.
/health es la única ruta no autenticada. Devuelve un {"ok": true} fijo y no lee nada.
Configuración
1. Crea un token de Nightscout de solo lectura
En Nightscout: Admin Tools → Subjects → Add. Dale únicamente el rol readable. Obtienes un token como claude-1a2b3c4d5e6f7890.
No uses tu API_SECRET. Nada de esto escribe, así que darle acceso de escritura no te aporta nada y te cuesta todo si el token se filtra.
2. Configura
cp .env.example .env
# edit .env — at minimum NS_URL, NS_TOKEN, MCP_BEARERGenera el token Bearer con algo que no hayas inventado tú mismo:
python3 -c "import secrets; print(secrets.token_urlsafe(32))"3. Ejecuta
docker build -t nightscout-mcp .
docker run -d --name nightscout-mcp --env-file .env -p 8787:8787 nightscout-mcpO sin Docker:
pip install -r requirements.txt
set -a && source .env && set +a
python server.py4. Ponlo detrás de HTTPS
El servidor usa HTTP sin cifrar y espera que TLS se termine delante de él (Traefik, Caddy, nginx, Cloudflare Tunnel — cualquier opción). Claude se conecta desde los servidores de Anthropic, no desde tu dispositivo, así que la URL debe ser accesible desde internet público.
Si tu proxy define X-Forwarded-*, indícalo:
TRUSTED_PROXY_IPS=172.18.0.0/165. Conéctalo a Claude
En Claude: Customize → Connectors → Add custom connector
URL:
https://your-host.example.com/mcp/Abre Request headers, añade
authorizationcon el valorBearer <your MCP_BEARER>
Introduce el valor incluyendo la palabra Bearer y el espacio — Claude envía la cabecera tal cual y no añade ningún prefijo propio.
La autenticación mediante cabeceras de petición es una beta de Claude. Si no ves una sección Request headers, pide acceso a Anthropic. Claude Code puede usar hoy el mismo servidor a través de su propia configuración de MCP.
Unidades
NS_UNITS=mg/dl (por defecto) o mmol. Esto solo afecta a cómo se presentan los valores; Nightscout siempre se lee en mg/dL y se convierte a la salida.
Relación con Nightscout
Este es un proyecto independiente. No está afiliado, respaldado ni forma parte de Nightscout Foundation.
El propio Nightscout (cgm-remote-monitor) está licenciado bajo AGPL-3.0. Este servidor no contiene código de Nightscout ni enlaza ninguna biblioteca de Nightscout — solo hace peticiones HTTP a la API REST de una instancia en ejecución. Consumir una API a distancia no crea una obra derivada, y la cláusula de red de AGPL está condicionada a modificar el programa cubierto, cosa que esto no hace. Así que el copyleft de Nightscout no se extiende aquí, y este proyecto tiene su propia licencia.
Si haces un fork de esto e incluyes código fuente de Nightscout en él, ese razonamiento deja de aplicarse a tu fork.
Licencia
MIT — consulta LICENSE.
Elegida por su alcance: este es un conector pequeño cuyo valor es que cualquiera puede ejecutarlo en diez minutos. El copyleft no protegería a nadie en el caso habitual, que es el de una persona autoalojándolo para sus propios datos.
This server cannot be installed
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
- FlicenseAqualityDmaintenanceEnables 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
- FlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityCmaintenanceConnects AI assistants to Nightscout for real-time glucose monitoring, analysis, and treatment logging, enabling natural language interaction with CGM data.4MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to access and analyze Continuous Glucose Monitor (CGM) data from Nightscout, providing real-time readings, history, and analytics.71MIT
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.
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/oliver-virt/nightscout-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server