SuperGlookoQuery

Auditoría clínica de datos de dispositivos Glooko para diabetes (cualquier combinación de bomba/CGM) dentro de Claude Desktop, con descubrimiento de capacidades independiente del dispositivo en lugar de los campos de un dispositivo fijo.

Documentación

License: MIT Version Platform Node

SuperGlookoQuery

Habla con Claude Desktop sobre tus datos de diabetes de Glooko, sea cual sea la combinación de bomba y CGM que estés usando realmente.

[!IMPORTANT] No es consejo médico. Esto es para entender tus propios datos y preparar preguntas más precisas para tu equipo de atención. No es un dispositivo médico, y nada de lo que diga debería cambiar tu terapia por sí solo. Texto completo en el aviso legal al final.

[!NOTE] Esto comenzó como una bifurcación del PodQuery de Richard Hall (con licencia MIT), que se construyó en torno a una configuración específica: un Omnipod 5 sincronizado con Glooko. Crédito a Richard por el empaquetado original de MCPB y el núcleo de análisis clínico. Lo que es diferente aquí: la capa de ingesta ya no asume un conjunto fijo de campos pertenecientes a un solo dispositivo. Observa lo que los datos de tu propia cuenta contienen realmente y construye su lista de herramientas a partir de eso. Consulta Cómo funciona realmente el soporte de dispositivos a continuación para conocer los detalles.

[!NOTE] Primeros días (v0.1.0). Construido y probado de extremo a extremo contra una configuración real hasta ahora: un Ypsomed YpsoPump ejecutando CamAPS FX como aplicación AID, emparejado con un CGM Libre 3+. Otras combinaciones crecen a medida que cuentas reales aportan datos, no adivinando campos que nadie ha verificado.


Contenido


Qué hace esto realmente

SuperGlookoQuery se conecta a tus datos de diabetes de Glooko y le entrega a Claude un conjunto de herramientas analíticas, no un volcado de datos en bruto. Instala la extensión, haz una pregunta en lenguaje natural, y Claude accede a tu historial para responderla, en vivo, dentro de la conversación.

La gente pregunta cosas como:

  • "¿Cómo estuvo mi tiempo en rango el mes pasado?"
  • "¿Por qué sigo teniendo niveles altos por las noches?"
  • "Muéstrame mi peor día y dime qué pasó."

Eso significa, bajo el capó:

  • Resúmenes bajo demanda. Tiempo en rango, GMI, variabilidad, mejores y peores días y horas, división basal/bolo, en cualquier ventana de tiempo que preguntes.
  • Datos CGM de resolución completa guardados localmente. Cada lectura de 5 minutos se archiva para que nada se pierda, aunque Claude se orienta primero hacia agregados y solo extrae lecturas en bruto cuando una pregunta realmente las necesita.
  • Un gráfico real, no una descripción de uno. Un gráfico de glucosa con estilo de informe clínico se abre directamente en tu navegador: rangos con códigos de color, marcadores de bolo interactivos, un desglose día a día.
  • Contexto de bolo, no solo números. Cada bolo se compara con el ISF, la proporción de carbohidratos y el objetivo activos en ese momento, incluyendo entregas divididas o extendidas cuando una bomba las reporta, para que Claude pueda juzgar realmente si una dosis tenía sentido.
  • Comportamiento basal como estados. Suspendido, funcionando al máximo, o a ciegas tras una señal perdida, en lugar de unidades de entrega en bruto.
  • Extras específicos del dispositivo, solo cuando se ganan. Algo como el desglose del modo de operación de CamAPS FX aparece una vez que los datos de tu cuenta realmente han producido ese campo, no antes.

Nunca llamas a nada de esto directamente. Claude lo hace en medio de la conversación, con tantas llamadas pequeñas como la pregunta realmente necesite.


Cómo funciona realmente el soporte de dispositivos

Glooko no publica un esquema a nivel de campo, y diferentes combinaciones de bomba/CGM envían formas de datos genuinamente diferentes. El PodQuery original manejaba esto codificando los campos de un solo dispositivo, lo cual tenía sentido dado que se construyó en torno al Omnipod 5 de su propio autor. Esta bifurcación toma un enfoque diferente:

  • Nada se descarta. Cada campo que Glooko envía se conserva, no solo los que una herramienta lee actualmente. Cualquier cosa que aún no esté mapeada a una columna tipada termina en una columna de desbordamiento extra en lugar de descartarse.
  • Las herramientas se ganan, no se asumen. Una herramienta específica del dispositivo, como el desglose del modo de bomba de CamAPS, solo se registra una vez que los datos de tu propia cuenta han mostrado el campo que necesita al menos una vez. No hay archivo de configuración que editar a mano ni herramienta que falle silenciosamente en hardware para el que nunca fue escrita.
  • Puedes contribuir con la forma de tu propio dispositivo, desde el chat. Pídele a Claude que revise tus datos para el registro de esquemas, o llama a get_registry_contribution_report tú mismo. Genera un informe de qué campos puebla tu cuenta y con qué frecuencia, con cada valor real ya reemplazado por un marcador fijo y fabricado antes de que lo veas. Lo revisas, luego escribes tú mismo la frase de confirmación que te da (esto es deliberadamente algo que Claude no puede hacer en tu nombre), y submit_registry_contribution ejecuta un segundo escaneo de privacidad independiente más una verificación de integridad de contenido antes de abrir una solicitud de extracción contra la carpeta schema-registry/ de este proyecto. Tus datos reales nunca salen de tu máquina en ningún punto de esto. También existe una CLI de node src/submit-registry-entry.js para desarrollo local, pero necesita una terminal que una instalación real de Claude Desktop no tiene, así que las herramientas en el chat mencionadas arriba son el camino real para un usuario real.

Esto es genuinamente un trabajo en progreso: probado de extremo a extremo contra una cuenta real hasta ahora. Consulta docs/DESIGN.md para la arquitectura completa, docs/PROMOTION.md para cómo un campo descubierto pasa de la columna de desbordamiento a una columna tipada adecuada, y schema-registry/README.md si quieres contribuir con los datos de tu propio dispositivo.


Para quién es esto

Cualquiera que sincronice datos de bomba o CGM con Glooko. Expectativas realistas primero: esto se ha construido y probado de extremo a extremo contra un Ypsomed YpsoPump ejecutando CamAPS FX, emparejado con un CGM Libre 3+. Otras combinaciones de bomba/CGM ganan soporte real a medida que cuentas reales aportan informes de descubrimiento (ver arriba), no porque este README esté reclamando cobertura que no ha ganado. ¿Sin cuenta de Glooko? Aún puedes explorar usando los datos de muestra incluidos, completamente sintéticos.

Qué necesitas

  • Claude Desktop, gratis desde claude.ai/download. Esto solo funciona dentro de Claude Desktop, en macOS o Windows. No es un servidor independiente y no funciona con Claude en web o móvil.
  • Una cuenta de Glooko con un dispositivo sincronizado, si quieres analizar tus propios datos. No se requiere para el conjunto de datos de muestra.

Esa es toda la lista. Sin Docker, sin instalación separada de Node, sin terminal.


Privacidad, en términos claros

Esto maneja credenciales médicas reales y datos de salud reales, así que está construido local-primero, a propósito:

  • Sin servidor intermedio. Tu correo y contraseña de Glooko van directamente de esta extensión a los servidores propios de Glooko. Nada en el medio, y nada que Anthropic vea jamás.
  • Todo se ejecuta en tu máquina. El proceso de la extensión, la base de datos local y cada herramienta de análisis viven completamente dentro de Claude Desktop, en tu computadora.
  • Las credenciales no se almacenan en texto plano. Están en el almacenamiento seguro de configuración de Claude Desktop; el campo de contraseña está marcado como sensible a nivel de configuración.
  • Las contribuciones al registro de esquemas no llevan valores reales. Cada ejemplo en un informe de descubrimiento es un marcador fijo y fabricado, y todo el flujo pasa por una revisión humana obligatoria, una confirmación escrita y un segundo escaneo de privacidad independiente antes de que se escriba algo en cualquier lugar.

[!IMPORTANT] Estás hablando con una IA en la nube sobre estos datos. La mayoría de los proveedores te permiten desactivar el historial de chat o el entrenamiento del modelo en algún lugar de su configuración. Vale la pena hacerlo antes de entrar en algo clínico, para que tu historial médico no se retenga en ningún lugar donde no necesite estar.

[!TIP] ¿Quieres probarlo antes de conectar una cuenta real? La extensión incluye una pequeña base de datos de muestra integrada, completamente fabricada en lugar de muestreada de datos reales de alguien, para que puedas explorar todo sin conexión: sin inicio de sesión de Glooko, sin acceso a la red en absoluto.


La persona del auditor clínico

Pide la persona "auditor clínico" y Claude se convierte en un revisor directo y sin rodeos de tus propios datos de control.

Manejar la diabetes tipo 1 ya es bastante difícil sin un asistente que suavice cada hallazgo para mantener las cosas agradables. Esta persona no hace eso. Dirá claramente dónde se ve mal tu sincronización de bolos, dónde estás sobrecorrigiendo, o dónde el basal no está atrapando una deriva nocturna, y está construida para recurrir primero a resúmenes en lugar de revisar lecturas en bruto cuando no lo necesita.

La franqueza es una elección de estilo, no una afirmación de autoridad médica. Todo lo que dice existe para ayudarte a entender tus propios datos y llegar a tu próxima cita con mejores preguntas, no para decirte qué cambiar. No te dará un nuevo DIA o proporción de carbohidratos específico para probar. Esa decisión te pertenece a ti y a tu profesional de la salud, siempre.

[!NOTE] Claude Desktop actualmente no tiene menú para elegir un prompt proporcionado por MCP, aunque este esté correctamente registrado y sea detectable a nivel de protocolo (confirmado directamente contra el servidor en ejecución, e investigado de forma independiente). Esa es una limitación de Claude Desktop, no algo roto en esta extensión; otros clientes MCP (Claude Code, por ejemplo) sí soportan un selector de prompts.

No necesitas ese menú de todos modos. Solo pídelo con tus propias palabras, por ejemplo: "Usa la persona del auditor clínico para esto", o "dímelo directamente, haz una auditoría completa". Claude tiene una herramienta construida exactamente para esto (activate_clinical_auditor_persona), la llama él mismo y adopta la persona completa desde su siguiente mensaje, sin menú, sin copiar y pegar un muro de texto.


Instalación

  1. Toma el archivo .mcpb de la página de Releases de este repositorio, si ya se ha publicado uno, o constrúyelo tú mismo (consulta Construir el .mcpb tú mismo).
  2. Instálalo de cualquiera de estas formas, son equivalentes:
    • Haz doble clic en el archivo .mcpb descargado.
    • Arrástralo a la ventana de Claude Desktop.
    • En Claude Desktop: Configuración → Extensiones → Configuración avanzada → Instalar extensión…, luego elige el archivo.
  3. Claude Desktop muestra lo que la extensión puede hacer y qué permisos quiere. Revísalo y luego confirma.
  4. Aterrizarás en la pantalla de configuración de la extensión a continuación, consulta Configuración abajo. Siempre puedes volver aquí desde Configuración → Extensiones → SuperGlookoQuery.

Sin paso de compilación separado, sin contenedor que iniciar, nada que mantener ejecutándose en una terminal tú mismo. Claude Desktop inicia el proceso cuando se necesita y lo detiene cuando no.

[!NOTE] La redacción exacta del menú de Claude Desktop cambia entre versiones. Si algo no coincide exactamente, busca el equivalente más cercano en Configuración.


Configuración

Claude Desktop construye el formulario de configuración para esta extensión automáticamente; no hay archivo .env que crear o editar a mano. La mayoría de los campos llegan prellenados con valores predeterminados sensatos y marcados como obligatorios, así que el formulario se guarda bien tal cual contra los datos de muestra incluidos, o puedes ajustar cualquier cosa para que coincida con tu propia configuración. El correo y la contraseña de Glooko son el único par opcional; deja ambos en blanco para permanecer en modo de datos de muestra sin conexión.

ConfiguraciónQué hace
Correo de Glooko / Contraseña de GlookoTu inicio de sesión de Glooko. Deja ambos en blanco para ejecutarte sin conexión con los datos sintéticos de muestra integrados; no se necesita cuenta y nunca se contacta a Glooko. Completa ambos para descargar y mantener tus propios datos actualizados. El campo de contraseña está enmascarado y se almacena de forma segura mediante Claude Desktop.
Unidad de glucosa de la cuenta de GlookoLa unidad en la que tu cuenta de Glooko reporta (mmol o mgdl, a menudo mgdl para cuentas de EE. UU.). El valor predeterminado es mmol. Solo importa una vez que se establece un inicio de sesión de Glooko; configurarlo incorrectamente corrompe cómo se interpretan las lecturas al ingresar. Es independiente de la unidad de visualización a continuación.
Unidad de visualizaciónCómo quieres ver la glucosa: mmol o mgdl. El valor predeterminado es mmol, independiente de la unidad de la cuenta de Glooko anterior, por lo que una cuenta de EE. UU. en mgdl aún se puede ver completamente en mmol si lo prefieres.
Límite bajo (hipo) / Límite alto (hiper)Tu rango objetivo, en la unidad de visualización que elijas. Los valores predeterminados son 3.9 / 10.0, ambos valores en mmol/L. Cada herramienta recurre a estos a menos que tú o Claude pregunten por un umbral puntual diferente.
Historial a cargar en la primera ejecuciónSolo se usa una vez que se establece un inicio de sesión de Glooko (se ignora en el modo de datos de muestra). El valor predeterminado es 3 meses atrás. Configúralo según cuánto tiempo atrás tengas datos reales del dispositivo, o cuánta visibilidad quieras; hasta ahí llega la primera sincronización.
Carpeta de datosDónde vive el archivo local. El valor predeterminado es tu carpeta de Documentos, con una pequeña subcarpeta SuperGlookoQuery creada automáticamente dentro. Sobrevive a las actualizaciones de la extensión y permanece completamente en tu máquina. Si tú (o el PodQuery original) ya tienes una subcarpeta PodQuery allí de una instalación anterior, se detecta automáticamente, sin necesidad de migración manual.

[!WARNING] ¿Cambias la unidad de visualización a mgdl? Actualiza también los límites bajo/alto. Sus valores predeterminados son 3.9 / 10.0, ambos en mmol/L, y no se convierten automáticamente al cambiar de unidad. El equivalente aproximado en mg/dL es 70 / 180, pero usa lo que tu propio equipo de atención médica haya establecido para ti.

Probando primero los datos de muestra

Deja el correo y la contraseña de Glooko en blanco, guarda y deja todo lo demás con sus valores predeterminados. La extensión sirve su conjunto de datos sintéticos integrado y nunca toca la red.

Conectando tu propia cuenta de Glooko

Completa tu correo y contraseña de Glooko, configura la unidad de glucosa de la cuenta para que coincida con tu configuración real de Glooko, luego elige tu unidad de visualización y rango objetivo. La primera pregunta que hagas después activa una descarga de historial única (de segundos a aproximadamente un minuto, según cuánto tiempo atrás lo configures), y todo lo posterior se lee desde el archivo local.


Cómo usarlo

  1. Inicia un chat en Claude Desktop.

  2. Confirma que la extensión SuperGlookoQuery está habilitada para la conversación, en el selector de herramientas/conectores de Claude Desktop.

  3. Para la experiencia completa de auditoría, solo pídela, por ejemplo, "usa la persona de auditor clínico" (ver La persona de auditor clínico), u omítelo y haz una pregunta directamente; las herramientas funcionan de cualquier manera.

  4. Haz una pregunta. Un buen inicio:

    "Cuéntame sobre mis datos de diabetes."

Claude obtiene lo que necesita y da su interpretación. Continúa desde allí: haz preguntas de seguimiento, profundiza en un solo día o pide un gráfico. SuperGlookoQuery abre un gráfico de glucosa real e interactivo directamente en tu navegador en lugar de describirte números.


Pasando de datos de muestra a los tuyos

¿Empezaste con los datos de muestra y estás listo para conectar una cuenta real?

  1. Abre Configuración → Extensiones → SuperGlookoQuery.
  2. Completa tu correo de Glooko y contraseña de Glooko, y configura el resto para que coincida con tu propia configuración (ver Configurándolo).
  3. Borra primero la base de datos existente, para que los datos de muestra no se mezclen con los tuyos: abre la carpeta de datos que configuraste (tu carpeta de Documentos por defecto) y elimina la subcarpeta SuperGlookoQuery dentro (o la PodQuery, si esa es la que aún está en uso de una instalación anterior).
  4. Haz una pregunta. Un archivo nuevo descarga tu propio historial en esa primera llamada.

Solución de problemas

[!NOTE] Esta sección crece con el tiempo. ¿Encontraste algo no cubierto aquí? Abre un issue.

Las herramientas de la extensión no aparecen en un chat. Verifica que esté habilitada para la conversación actual en el selector de herramientas/conectores de Claude Desktop, y que siga habilitada en Configuración → Extensiones.

Preguntaste por una fecha y no obtuviste nada. Con los datos de muestra (campos de Glooko en blanco), solo existe su rango de fechas fijo. Pregunta a Claude qué rango contiene, o llama a get_diabetes_summary en una ventana muy amplia y lee reportRange del resultado.

Claude parece ejecutar un comportamiento antiguo después de una actualización. Reinstala el .mcpb más reciente (Claude Desktop ofrece actualizarlo en el lugar). Si algo aún parece desactualizado, inicia una conversación nueva para que las descripciones de herramientas se vuelvan a leer.

La extensión no se inicia o muestra un error. Revisa Configuración → Extensiones → SuperGlookoQuery: ¿las credenciales de Glooko son correctas (o ambas en blanco para modo sin conexión), y la carpeta de datos configurada está en un lugar donde Claude Desktop pueda escribir realmente?

Los números de glucosa se ven incorrectos después de conectar tu propia cuenta. Verifica que "Unidad de glucosa de la cuenta de Glooko" coincida con tu cuenta real de Glooko, no con la unidad que prefieres ver (ese es el campo separado de Unidad de visualización). Configurarlo incorrectamente corrompe cómo se interpretan las lecturas entrantes. Si los datos ya se ingirieron con la configuración incorrecta, borra la base de datos (ver Pasando de datos de muestra a los tuyos) y deja que se vuelva a descargar.

Los límites bajo/alto se ven incorrectos después de cambiar a mg/dL. No se convierten automáticamente al cambiar la unidad de visualización; consulta la advertencia en Configurándolo. Actualízalos manualmente.

Un gráfico no se abrió en mi navegador. SuperGlookoQuery intenta abrirlo automáticamente en el navegador predeterminado de tu sistema operativo. Si eso falla (sin comando de navegador predeterminado reconocido en tu sistema), Claude te indica la ruta del archivo en su lugar; ábrelo tú mismo. Es raro y generalmente solo ocurre en configuraciones de sistema inusuales.

Una herramienta específica de dispositivo que esperaba, como el modo bomba de CamAPS, no aparece. Estas solo aparecen una vez que los datos de tu cuenta realmente han producido el campo del que dependen; consulta Cómo funciona realmente el soporte de dispositivos. Si tu dispositivo realmente reporta esto y aún falta después de una sincronización completa, abre un issue.


Ponte en contacto

¿Algo no funciona? Abre un issue para que la solución esté disponible también para la próxima persona.

[!NOTE] Antes de adjuntar una captura de pantalla para soporte: difumina cualquier cosa privada, detalles médicos o credenciales de Glooko.


Referencia de herramientas

Estas son las herramientas MCP que registra esta extensión. Nunca las llamas directamente; Claude lo hace, en medio de la conversación, pero esto está aquí si quieres saber exactamente qué puede (y no puede) ver Claude, o por qué hizo una pregunta de seguimiento particular.

Una nota sobre las marcas de tiempo

Cada marca de tiempo que usan estas herramientas es hora de reloj simple, formateada como ISO 8601 (por ejemplo, 2026-01-01T00:00:00.000Z). A pesar de la "Z" final, no son instantes UTC reales. Glooko solo registra la fecha y hora literales que tu dispositivo mostró en el momento de una lectura, sin zona horaria adjunta, por lo que una lectura lleva lo que decía el reloj dondequiera que estuvieras físicamente. En la práctica, esto significa que no ocurre ninguna conversión de zona horaria en ningún lugar: Claude convierte tu fraseo relativo ("ayer", "últimas 3 semanas") directamente en dígitos de reloj coincidentes y presenta los resultados exactamente como se devuelven. La compensación: al cruzar una zona horaria, el archivo no tiene registro de a cuál pertenece una lectura dada, por lo que no hay una forma confiable de calcular un "hace cuánto tiempo" transcurrido a través de ese límite. Los datos siguen siendo exactamente lo que mostró tu dispositivo; simplemente no están sellados por zona.

Una nota sobre las unidades de glucosa

La mayoría de las herramientas aceptan parámetros opcionales units, lower y upper. Si se omiten, Claude recurre a lo que configuraste (unidad de visualización, rango objetivo). Solo los anula para una pregunta puntual, por ejemplo, verificar el tiempo bajo un umbral diferente sin tocar tu objetivo normal.

Herramientas siempre disponibles

HerramientaPropósito
get_diabetes_summaryEmpieza aquí para casi cualquier pregunta de visión general. Agregados de tamaño fijo y económicos sobre cualquier intervalo, incluidos meses o años. Una llamada deliberadamente amplia es también cómo Claude averigua el rango completo que contiene tu archivo (reportRange). Cubre el control de glucosa (TIR, GMI, CV, stdDev), extremos, mejor/peor día y hora, insulina, división de bolos, carbohidratos y los ajustes vigentes.
get_trendDivide un intervalo en periodos (día/semana/mes/trimestre, o una longitud fija) y calcula cada uno de forma independiente, para preguntas del tipo «¿cómo ha cambiado esto mes a mes?» en una sola llamada.
get_glucoseLecturas individuales de CGM con marca de tiempo, limitadas a 21 días, filtrables por low, high, target o all.
get_chart_htmlLa forma principal de ver realmente un gráfico. Genera un gráfico de glucosa estilo informe clínico (rangos codificados por colores, banda objetivo sombreada, extensión mín/máx, marcadores de bolo interactivos, estadísticas de cabecera, leyenda, información sobre herramientas), lo guarda y lo abre directamente en tu navegador. Acepta un array de ranges para comparar varias fechas no contiguas en un solo gráfico. Las ventanas de varios días obtienen un conmutador Cronológico/Superpuesto y chips de filtro por día (las estadísticas se recalculan para lo que siga visible), además de un panel plegable de detalles por fecha. Traza cada lectura real a resolución nativa para una ventana típica (hasta aproximadamente un mes); las ventanas más amplias se adelgazan ligeramente por defecto, se marcan mediante un campo downsample y pueden volver a solicitarse a detalle completo mediante el parámetro resolution.
get_chart_seriesPuntos de glucosa submuestreados para trazado, con una banda mín/máx para que los picos sobrevivan, además de marcadores de bolo. Datos brutos en lugar de una página renderizada, para cuando Claude necesite crear su propia visualización en lugar de usar el gráfico ya hecho.
get_enriched_bolus_logCada bolo en una ventana (limitado a 92 días), emparejado con la glucosa interpolada en el momento de la administración y la ISF/relación de carbohidratos/objetivo/DIA activos entonces, además de administrado-vs-programado y anulaciones de calculadora. Filtrable por clase de bolo.
get_split_bolus_logCada bolo dividido (extendido/doble onda) en una ventana, uno con una porción de administración extendida real, además de estadísticas agregadas (tasa de división, porcentaje medio de administración inicial) en toda la población de bolos de la ventana. Que no haya bolos divididos en una ventana es un resultado normal, no un error.
get_hourly_trendsTiempo en rango y glucosa media agrupados por hora del reloj en una ventana. Útil para el fenómeno del amanecer, picos nocturnos recurrentes, ese tipo de patrón por hora del día.
get_basal_deliveryLo que el algoritmo de la bomba estaba haciendo con el basal a lo largo del tiempo, como estados de comportamiento (normal / suspend / max / limited), no unidades brutas. Lee una serie de datos de Glooko específica de Omnipod-5, confirmada vacía para una cuenta de CamAPS FX (una laguna en lo que Glooko expone, no una afirmación de que CamAPS carezca de administración basal; ver get_camaps_pump_mode_breakdown para el equivalente más cercano de ese dispositivo).
get_daily_insulinLas propias cifras diarias de basal/bolo/total de Glooko, mostradas tal cual, para una tabla día a día o números de dosis total diaria.
get_settings_historyCada cambio de ajuste de bomba vigente durante una ventana: DIA, tasa máxima de basal y los perfiles segmentados por tiempo de objetivo/ISF/relación de carbohidratos.
get_device_eventsMarcas de tiempo de cambio de pod/sitio y de cambio de sensor CGM, solo contexto, nunca tratadas como causa de oscilaciones de glucosa cercanas. Que Glooko las reporte o no depende del dispositivo; confirmado vacío para una cuenta de CamAPS FX + Ypso Pump.
get_meal_window_analysisAcerca a una comida o evento de bolo: 30 minutos antes hasta 3 horas después, con el trazado de glucosa y cualquier bolo dentro de esa ventana.

Herramientas limitadas por capacidad (solo aparecen cuando los datos de tu cuenta las admiten)

HerramientaPropósito
get_camaps_pump_mode_breakdownCuánto tiempo de una ventana pasó CamAPS FX en cada uno de sus propios modos de funcionamiento (automático/manual/easeOff/boost/liberty/attempting). Solo se registra para una cuenta cuyos datos hayan mostrado realmente este campo; ver Cómo funciona realmente el soporte de dispositivos. A diferencia de todo lo anterior, esta es una llamada en vivo a Glooko cada vez (un agregado por ventana que Glooko calcula bajo petición, no algo que este proyecto archive), así que espera que sea más lenta y que ocasionalmente encuentre un error de red transitorio.

Herramientas de contribución al registro de esquemas (un flujo de dos pasos, confirmado por humanos)

HerramientaPropósito
get_registry_contribution_reportPaso 1: genera el informe de descubrimiento con salvaguardas de privacidad para tus dispositivos; ver Cómo funciona realmente el soporte de dispositivos. Sin valores reales, solo nombres de campos, tipos y tasas de población. Devuelve un reportHash que necesitarás para el paso 2.
submit_registry_contributionPaso 2: solo se ejecuta después de que tú mismo hayas revisado el paso 1 y hayas escrito su frase de confirmación exacta; Claude no puede proporcionarla en tu nombre. Ejecuta un escaneo de privacidad independiente y una verificación de integridad de contenido, escribe en schema-registry/ y abre una solicitud de extracción si la CLI de GitHub está instalada y autenticada. Se niega sin causar daño si la frase no coincide, o si los datos subyacentes cambiaron desde que revisaste el informe.

Herramientas de persona

HerramientaPropósito
activate_clinical_auditor_personaCarga la persona de auditor clínico de mano dura y sus instrucciones operativas completas para el resto de la conversación. Llama a esto tú mismo simplemente pidiéndolo en lenguaje natural; ver La persona de auditor clínico.

También hay un prompt de MCP con el mismo contenido, clinical_auditor, para clientes que admitan un selector de prompts (Claude Desktop actualmente no, ver arriba; la herramienta es la forma fiable de acceder a él allí).


Cómo está organizado el código

(Para cualquiera que lea el código fuente. Si solo quieres usar la herramienta, sáltate esto.)

Los datos fluyen en este orden: Glooko → sincronización → almacenamiento → rango → analítica → herramientas → Claude.

  • manifest.json: el manifiesto MCPB: lo que Claude Desktop lee para instalar la extensión, qué ajustes solicita y cómo lanza src/server.js.
  • src/env.js: sanitiza las variables de entorno derivadas de user_config que Claude Desktop inyecta, antes de que cualquier otra cosa las lea. Debe seguir siendo la primera importación en server.js; ver su propio comentario de cabecera para la peculiaridad específica de Claude Desktop que esto soluciona.
  • src/server.js: el servidor MCP y las definiciones de herramientas, lo que Claude Desktop realmente lanza a través de stdio. Envoltorios finos alrededor de la analítica. También es donde se registran los módulos limitados por capacidad, después de que el transporte se conecte.
  • src/analytics.js: las matemáticas clínicas reales y la configuración de datos, escritas como funciones puras sin importaciones propias, mantenidas deliberadamente sin dependencias para su testabilidad.
  • src/chartHtml.js: renderiza la página HTML autocontenida que get_chart_html escribe en disco: geometría del gráfico, codificación de colores, segmentación por días, información sobre herramientas, el conmutador Cronológico/Superpuesto, todo vive aquí.
  • src/store.js: el archivo SQLite (columnas centrales tipadas más un desbordamiento JSON extra para cualquier cosa aún no mapeada; ver Cómo funciona realmente el soporte de dispositivos), respaldado por sql.js, una compilación WebAssembly pura de SQLite elegida para que esto se ejecute de forma idéntica en cualquier runtime de Node que Claude Desktop incluya, sin paso de compilación. El compromiso: sql.js es solo en memoria, así que store.js re-serializa el archivo a disco por sí mismo después de cada lote de escritura, en lugar de apoyarse en el diario respaldado por archivos de SQLite.
  • src/discover.js: genera el informe de descubrimiento con salvaguardas de privacidad: qué campos pueblan los datos de tu cuenta y con qué frecuencia, cada valor real ya reemplazado por un marcador sintético fijo antes de que se devuelva.
  • src/submit-registry-entry.js: la secuencia de envío completa: mostrar el informe completo, requerir una confirmación escrita, ejecutar un segundo escaneo de privacidad independiente (deliberadamente no confiando en la lógica de redacción de discover.js), una verificación hash de integridad de contenido y, si gh está instalado y autenticado, abrir una PR a schema-registry/. runChatDrivenSubmission() es la versión que las dos herramientas MCP de server.js realmente llaman; el paso de confirmación humana ocurre en el propio chat, así que añade una verificación de obsolescencia que el main() de la CLI nunca necesitó.
  • src/paths.js: resuelve dónde vive el archivo (tu carpeta de Datos configurada, por defecto Documentos) y siembra la base de datos de muestra incluida en una instalación nueva y sin conexión.
  • src/range.js: la capa que las herramientas realmente llaman; responde desde el archivo local y se complementa desde Glooko solo cuando es necesario. El modo sin conexión está controlado aquí.
  • src/sync.js: el motor que extrae datos de Glooko al archivo: arranque en frío, complemento, calentamiento de inicio.
  • src/glooko.js: el cliente de API de Glooko en sí, autenticación y obtención.
  • src/prompt.js: el texto de la persona de auditor clínico.
  • schema-registry/: el catálogo contribuido de qué campos han mostrado cuentas reales, dividido por componente de dispositivo (pumps/, cgms/); ver su propio README.
  • scripts/generate-sample-data.mjs: regenera la base de datos de muestra incluida a partir de datos completamente sintéticos y de aleatoriedad sembrada. Nunca datos de una cuenta real.
  • test/: la suite de pruebas automatizada; ver Ejecutar las pruebas.
  • docs/DESIGN.md / docs/PROMOTION.md / docs/TODO.md: la especificación de arquitectura, el proceso para graduar un campo descubierto a columna tipada y la hoja de ruta en curso, aproximadamente en orden de cuán profundo quieras ir.
  • docs/MANUAL_TEST_PLAN.md: la lista de verificación de instalación nueva/arranque en frío a ejecutar antes de cortar un lanzamiento. npm test cubre la lógica a nivel de unidad; esto cubre todo lo que solo aparece contra un estado inicial genuinamente vacío o una instalación real de Claude Desktop.

Algunos invariantes se mantienen en todas partes: la glucosa se almacena internamente en una unidad canónica (mmol/L) y solo se convierte en la salida; el bolo se suma de eventos individuales mientras que el basal proviene de los totales diarios propios de Glooko; cada marca de tiempo es tiempo de reloj de pared simple, nunca UTC (ver la nota de marcas de tiempo arriba); y las tasas por día usan el lapso de datos realmente observado, no un día calendario asumido.


Construyendo el .mcpb tú mismo

No es necesario para usar la extensión si ya existe un .mcpb lanzado; ver Instalarlo. Esto es para cualquiera que construya desde el código fuente, audite el código primero o haga cambios.

git clone https://github.com/sikcapri/superglookoquery.git
cd superglookoquery
npm install --omit=dev          # runtime dependencies only, including sql.js
npm install -g @anthropic-ai/mcpb
mcpb pack                       # produces superglookoquery.mcpb here

El repositorio también incluye un .mcpbignore que recorta contenido solo del repositorio (documentación, variantes de compilación sql.js no utilizadas, ese tipo de cosas) del paquete empaquetado. No deberías necesitar tocarlo, pero vale la pena echarle un vistazo si tienes curiosidad sobre qué incluye mcpb pack y por qué.

Instala el archivo .mcpb resultante como se describe en Instalarlo. Ver la Especificación MCPB para cómo funciona el formato del paquete en sí.


Ejecutar las pruebas

npm install
npm test

Ejecuta la suite automatizada a través del propio ejecutor de pruebas integrado de Node (node --test), sin necesidad de un framework de pruebas adicional. Cubre la lógica de ingesta/esquema, el comportamiento de umbral y redacción del informe de descubrimiento (el área que más merece escrutinio, ya que un error allí es un incidente de privacidad, no solo un error), la secuencia de control de envío al registro de esquemas y el sistema de módulos limitados por capacidad. Ver test/ para los archivos individuales, y la sección Fase 3 de docs/TODO.md para lo que está cubierto y lo que sigue abierto.


Licencia

Publicado bajo la Licencia MIT: libre de usar, modificar y distribuir, incluido comercialmente, siempre que el aviso de copyright y el texto de la licencia permanezcan adjuntos. Texto completo en LICENCIA. Bifurcado de podquery-mcp de Richard Hall (también bajo licencia MIT). La licencia MIT cubre el código. La base de datos de muestra incluida es completamente sintética (datos fabricados y generados con semilla aleatoria, consulte scripts/generate-sample-data.mjs), no se ha extraído de ninguna cuenta real.


Aviso legal

Esta herramienta tiene fines exclusivamente informativos y educativos. No es un dispositivo médico ni sustituye el asesoramiento, diagnóstico o tratamiento médico profesional. Consulte siempre a su médico u otro proveedor de salud cualificado ante cualquier duda sobre una afección médica. Cualquier análisis que produzca esta herramienta, incluido cualquier comentario de Claude, debe ser revisado por un profesional clínico cualificado antes de que modifique su terapia con insulina o su régimen médico general de cualquier forma.