SuperGlookoQuery
Auditoria clínica de dados de dispositivos Glooko para diabetes (qualquer combinação de bomba/CGM) dentro do Claude Desktop, com descoberta de capacidades agnóstica de dispositivo em vez de campos fixos de um único dispositivo.
Documentação
SuperGlookoQuery
Fale com o Claude Desktop sobre seus dados de diabetes do Glooko, seja qual for a combinação de bomba e CGM que você realmente usa.
[!IMPORTANT] Não é aconselhamento médico. Isso serve para entender seus próprios dados e preparar perguntas mais precisas para sua equipe de saúde. Não é um dispositivo médico, e nada do que diz deve mudar sua terapia por conta própria. Texto completo no aviso legal no final.
[!NOTE] Isso começou como um fork do PodQuery do Richard Hall (licenciado sob MIT), que foi construído em torno de uma configuração específica: um Omnipod 5 sincronizando com o Glooko. Créditos ao Richard pelo pacote MCPB original e pelo núcleo de análise clínica. O que é diferente aqui: a camada de ingestão não assume mais um conjunto fixo de campos pertencentes a um único dispositivo. Ela observa o que os dados da sua própria conta realmente contêm e constrói sua lista de ferramentas a partir disso. Veja Como o suporte a dispositivos realmente funciona abaixo para os detalhes.
[!NOTE] Fase inicial (v0.1.0). Construído e testado de ponta a ponta contra uma configuração real até agora: uma Ypsomed YpsoPump rodando CamAPS FX como app de AID, emparelhada com um CGM Libre 3+. Outras combinações crescem à medida que contas reais contribuem com dados, não por suposições sobre campos que ninguém verificou.
Conteúdo
- O que isso realmente faz
- Como o suporte a dispositivos realmente funciona
- Para quem é isso
- Privacidade, em termos simples
- A persona de auditor clínico
- Instalando
- Configurando
- Usando
- Migrando de dados de exemplo para os seus
- Solução de problemas
- Entre em contato
- Referência de ferramentas
- Como o código está organizado
- Construindo o .mcpb você mesmo
- Executando os testes
- Licença
- Aviso legal
O que isso realmente faz
O SuperGlookoQuery conecta-se aos seus dados de diabetes do Glooko e entrega ao Claude um conjunto de ferramentas analíticas, não um despejo bruto de dados. Instale a extensão, faça uma pergunta em linguagem natural, e o Claude acessa seu histórico para respondê-la, ao vivo, na conversa.
As pessoas perguntam coisas como:
- "Como foi meu tempo no intervalo no mês passado?"
- "Por que eu continuo ficando alto à noite?"
- "Mostre-me meu pior dia e diga o que aconteceu."
Isso significa, nos bastidores:
- Resumos sob demanda. Tempo no intervalo, GMI, variabilidade, melhores/piores dias e horas, divisão basal/bolus, em qualquer janela que você perguntar.
- Dados CGM em resolução total mantidos localmente. Cada leitura de 5 minutos é arquivada para que nada seja perdido, embora o Claude seja direcionado primeiro para agregados e só puxe leituras brutas quando uma pergunta realmente precisar delas.
- Um gráfico real, não uma descrição de um. Um gráfico de glicose em estilo de relatório clínico abre diretamente no seu navegador: faixas codificadas por cores, marcadores de bolus com hover, um detalhamento dia a dia.
- Contexto de bolus, não apenas números. Cada bolus é comparado com o ISF, a razão de carboidratos e o alvo ativos no momento, incluindo entregas divididas ou estendidas quando uma bomba as reporta, para que o Claude possa realmente avaliar se uma dose fez sentido.
- Comportamento basal como estados. Suspenso, rodando no máximo ou cego após perda de sinal, em vez de unidades brutas de entrega.
- Extras específicos do dispositivo, apenas quando merecidos. Algo como o detalhamento do modo de operação do CamAPS FX aparece somente quando os dados da sua conta realmente produziram esse campo, não antes.
Você nunca chama nada disso diretamente. O Claude faz isso no meio da conversa, com tantas chamadas pequenas quanto a pergunta realmente precisar.
Como o suporte a dispositivos realmente funciona
O Glooko não publica um esquema de nível de campo, e diferentes combinações de bomba/CGM enviam formatos de dados genuinamente diferentes. O PodQuery original lidava com isso codificando os campos de um único dispositivo, o que fazia sentido, já que foi construído em torno do Omnipod 5 do próprio autor. Este fork adota uma abordagem diferente:
- Nada é descartado. Cada campo que o Glooko envia é mantido, não apenas os que uma ferramenta lê atualmente. Qualquer coisa ainda não mapeada para uma coluna tipada vai para uma coluna de estouro
extraem vez de ser descartada. - Ferramentas são conquistadas, não assumidas. Uma ferramenta específica de dispositivo, como o detalhamento do modo de bomba do CamAPS, só é registrada quando os dados da sua própria conta mostraram o campo necessário pelo menos uma vez. Não há arquivo de configuração para editar manualmente e nenhuma ferramenta se comportando silenciosamente mal em hardware para o qual nunca foi escrita.
- Você pode contribuir com o formato do seu próprio dispositivo, direto do chat. Peça ao Claude para revisar seus dados para o registro de esquema, ou chame
get_registry_contribution_reportvocê mesmo. Ele gera um relatório de quais campos sua conta preenche e com que frequência, com cada valor real já substituído por um espaço reservado fixo e fabricado antes que você o veja. Você o revisa, depois digita a frase de confirmação que ele lhe dá pessoalmente (isso é deliberadamente algo que o Claude não pode fazer em seu nome), esubmit_registry_contributionexecuta uma segunda verificação independente de privacidade, além de uma verificação de integridade de conteúdo, antes de abrir um pull request contra a pastaschema-registry/deste projeto. Seus dados reais nunca saem da sua máquina em nenhum momento. Uma CLInode src/submit-registry-entry.jstambém existe para desenvolvimento local, mas precisa de um terminal que uma instalação real do Claude Desktop não tem, então as ferramentas no chat acima são o caminho real para um usuário comum.
Isso é genuinamente um trabalho em andamento: testado de ponta a ponta contra uma conta real até agora. Veja docs/DESIGN.md para a arquitetura completa, docs/PROMOTION.md para como um campo descoberto evolui da coluna de estouro para uma coluna tipada adequada, e schema-registry/README.md se você quiser contribuir com os dados do seu próprio dispositivo.
Para quem é isso
Qualquer pessoa que sincronize dados de bomba ou CGM com o Glooko. Expectativas realistas primeiro: isso foi construído e testado de ponta a ponta contra uma Ypsomed YpsoPump rodando CamAPS FX, emparelhada com um CGM Libre 3+. Outras combinações de bomba/CGM ganham suporte real à medida que contas reais contribuem com relatórios de descoberta (veja acima), não porque este README está reivindicando cobertura que não conquistou. Não tem conta no Glooko? Você ainda pode explorar usando os dados de amostra incluídos, totalmente sintéticos.
O que você precisa
- Claude Desktop, gratuito em claude.ai/download. Isso só roda dentro do Claude Desktop, macOS ou Windows. Não é um servidor independente e não funciona com o Claude na web ou no celular.
- Uma conta Glooko com um dispositivo sincronizado, se você quiser analisar seus próprios dados. Não é necessário para o conjunto de dados de amostra.
Essa é a lista completa. Sem Docker, sem instalação separada do Node, sem terminal.
Privacidade, em termos simples
Isso lida com credenciais médicas reais e dados de saúde reais, então é construído local-primeiro, de propósito:
- Sem servidor intermediário. Seu email e senha do Glooko vão diretamente desta extensão para os servidores do próprio Glooko. Nada no meio, e nada que a Anthropic veja.
- Tudo roda na sua máquina. O processo da extensão, o banco de dados local e cada ferramenta de análise vivem inteiramente dentro do Claude Desktop, no seu computador.
- Credenciais não são armazenadas em texto puro. Elas ficam no armazenamento seguro de configurações do próprio Claude Desktop; o campo de senha é marcado como sensível no nível de configuração.
- Contribuições ao registro de esquema não carregam valores reais. Cada exemplo em um relatório de descoberta é um espaço reservado fixo e fabricado, e todo o fluxo passa por revisão humana obrigatória, confirmação digitada e uma segunda verificação independente de privacidade antes que qualquer coisa seja escrita em qualquer lugar.
[!IMPORTANT] Você está falando com uma IA em nuvem sobre esses dados. A maioria dos provedores permite desativar o histórico de chat ou o treinamento de modelo em algum lugar das configurações. Vale a pena fazer antes de entrar em qualquer coisa clínica, para que seu histórico médico não seja retido em nenhum lugar onde não precise estar.
[!TIP] Quer experimentar antes de conectar uma conta real? A extensão vem com um pequeno banco de dados de amostra embutido, totalmente fabricado em vez de amostrado dos dados reais de alguém, para que você possa explorar tudo offline: sem login no Glooko, sem acesso à rede.
A persona de auditor clínico
Peça a persona "auditor clínico" e o Claude se transforma em um revisor direto e sem rodeios dos seus próprios dados de controle.
Gerenciar diabetes tipo 1 já é difícil o suficiente sem um assistente que suaviza cada descoberta para manter as coisas agradáveis. Esta persona não faz isso. Ela dirá claramente onde seu timing de bolus parece errado, onde você está supercorrigindo, ou onde a basal não está pegando uma deriva noturna, e é construída para buscar resumos primeiro em vez de vasculhar leituras brutas quando não precisa.
A franqueza é uma escolha de estilo, não uma alegação de autoridade médica. Tudo o que ela diz existe para ajudar você a entender seus próprios dados e entrar na sua próxima consulta com perguntas melhores, não para dizer o que mudar. Ela não vai te entregar um novo DIA ou razão de carboidratos específico para tentar. Essa decisão pertence a você e ao seu profissional de saúde, sempre.
[!NOTE] O Claude Desktop atualmente não tem menu para escolher um prompt fornecido por MCP, mesmo que este esteja corretamente registrado e detectável no nível de protocolo (confirmado diretamente contra o servidor em execução e pesquisado de forma independente). Isso é uma limitação do Claude Desktop, não algo quebrado nesta extensão; outros clientes MCP (Claude Code, por exemplo) suportam um seletor de prompts.
Você não precisa desse menu de qualquer forma. Basta pedir com suas próprias palavras, por exemplo: "Use a persona de auditor clínico para isso", ou "me fale direto, faça uma auditoria completa". O Claude tem uma ferramenta construída exatamente para isso (
activate_clinical_auditor_persona), ele a chama sozinho e adota a persona completa a partir da próxima mensagem, sem menu, sem copiar e colar um texto enorme.
Instalando
- Pegue o arquivo
.mcpbda página de Releases deste repositório, se já tiver sido publicado, ou construa você mesmo (veja Construindo o .mcpb você mesmo). - Instale de qualquer uma destas formas, são equivalentes:
- Clique duas vezes no arquivo
.mcpbbaixado. - Arraste-o para a janela do Claude Desktop.
- No Claude Desktop: Configurações → Extensões → Configurações avançadas → Instalar extensão…, e então escolha o arquivo.
- Clique duas vezes no arquivo
- O Claude Desktop mostra o que a extensão pode fazer e quais permissões ela quer. Revise e confirme.
- Você cairá na tela de configurações da extensão em seguida, veja Configurando abaixo. Você sempre pode voltar aqui por Configurações → Extensões → SuperGlookoQuery.
Sem etapa separada de build, sem contêiner para iniciar, nada para manter rodando em um terminal você mesmo. O Claude Desktop inicia o processo quando necessário e o interrompe quando não é.
[!NOTE] A redação exata dos menus do Claude Desktop muda entre versões. Se algo não corresponder exatamente, procure o equivalente mais próximo em Configurações.
Configurando
O Claude Desktop constrói o formulário de configurações para esta extensão automaticamente; não há arquivo .env para criar ou editar manualmente. A maioria dos campos chega pré-preenchida com padrões sensatos e marcada como obrigatória, então o formulário salva corretamente como está com os dados de amostra incluídos, ou você pode ajustar qualquer coisa para corresponder à sua própria configuração. O par email e senha do Glooko é o único opcional; deixe ambos em branco para permanecer no modo offline de dados de amostra.
| Configuração | O que faz |
|---|---|
| E-mail Glooko / Senha Glooko | Seu login do Glooko. Deixe ambos em branco para operar offline com os dados sintéticos de amostra integrados; nenhuma conta é necessária e o Glooko nunca é contatado. Preencha ambos para baixar e manter seus próprios dados atualizados. O campo de senha é mascarado e armazenado com segurança pelo Claude Desktop. |
| Unidade de glicose da conta Glooko | A unidade que sua conta Glooko reporta (mmol ou mgdl, geralmente mgdl para contas dos EUA). O padrão é mmol. Só importa quando um login Glooko é definido; errar isso corrompe a interpretação das leituras na entrada. É separado da unidade de exibição abaixo. |
| Unidade de exibição | Como você quer ver a glicose: mmol ou mgdl. O padrão é mmol, independente da unidade da conta Glooko acima, então uma conta dos EUA em mgdl ainda pode ser visualizada inteiramente em mmol se você preferir. |
| Limite baixo (hipo) / Limite alto (hiper) | Sua faixa alvo, na unidade de exibição que você escolheu. O padrão é 3.9 / 10.0, ambos valores em mmol/L. Toda ferramenta usa esses valores como padrão, a menos que você ou o Claude pergunte sobre um limite pontual diferente. |
| Histórico para carregar na primeira execução | Usado apenas quando um login Glooko é definido (ignorado no modo de dados de amostra). O padrão é 3 meses atrás. Defina para o quão longe você realmente tem dados do dispositivo, ou o quão longe você quer visibilidade; é até onde a primeira sincronização alcança. |
| Pasta de dados | Onde o arquivo local fica. O padrão é sua pasta Documentos, com uma pequena subpasta SuperGlookoQuery criada automaticamente dentro dela. Sobrevive a atualizações da extensão e permanece inteiramente na sua máquina. Se você (ou o PodQuery original) já tiver uma subpasta PodQuery lá de uma instalação antiga, ela é detectada automaticamente, sem migração manual necessária. |
[!WARNING] Mudou a Unidade de exibição para
mgdl? Atualize também os limites Baixo/Alto. Eles têm como padrão3.9/10.0, ambos valores em mmol/L, e não convertem automaticamente quando você muda as unidades. O equivalente aproximado em mg/dL é70/180, mas use o que sua própria equipe de cuidados definiu para você.
Experimentando os dados de amostra primeiro
Deixe o e-mail e a senha do Glooko em branco, salve e deixe todo o resto nos padrões. A extensão serve seu conjunto de dados sintéticos integrado e nunca toca na rede.
Conectando sua própria conta Glooko
Preencha seu e-mail e senha do Glooko, defina a unidade de glicose da conta para corresponder à sua configuração real do Glooko, depois escolha sua unidade de exibição e faixa alvo. A primeira pergunta que você fizer depois disso aciona um download de histórico único (de segundos a cerca de um minuto, dependendo de quão longe você definiu), e tudo depois disso lê do arquivo local.
Usando
-
Inicie uma conversa no Claude Desktop.
-
Confirme que a extensão SuperGlookoQuery está habilitada para a conversa, no seletor de ferramentas/conectores do Claude Desktop.
-
Para a experiência completa de auditoria, basta pedir, por exemplo, "use o persona de auditor clínico" (veja O persona de auditor clínico), ou pule isso e faça uma pergunta diretamente; as ferramentas funcionam de qualquer forma.
-
Faça uma pergunta. Um bom começo:
"Fale sobre meus dados de diabetes."
Claude puxa o que precisa e dá sua leitura. Continue a partir daí: faça perguntas de acompanhamento, aprofunde-se em um único dia ou peça um gráfico. SuperGlookoQuery abre um gráfico de glicose real e interativo diretamente no seu navegador, em vez de descrever números para você.
Migrando dos dados de amostra para os seus
Começou com os dados de amostra e está pronto para conectar uma conta real?
- Abra Configurações → Extensões → SuperGlookoQuery.
- Preencha seu e-mail Glooko e senha Glooko, e defina o resto para corresponder à sua configuração (veja Configurando).
- Limpe o banco de dados existente primeiro, para que os dados de amostra não se misturem com os seus: abra a pasta de dados que você configurou (sua pasta Documentos por padrão) e exclua a subpasta
SuperGlookoQuerydentro dela (ou aPodQuery, se for a que ainda está em uso de uma instalação antiga). - Faça uma pergunta. Um arquivo novo baixa seu próprio histórico nessa primeira chamada.
Solução de problemas
[!NOTE] Esta seção cresce com o tempo. Encontrou algo não coberto aqui? Abra uma issue.
As ferramentas da extensão não aparecem em uma conversa. Verifique se está habilitada para a conversa atual no seletor de ferramentas/conectores do Claude Desktop e ainda habilitada em Configurações → Extensões.
Perguntou sobre uma data e não recebeu nada.
Nos dados de amostra (campos Glooko em branco), apenas a faixa de datas fixa existe. Pergunte ao Claude qual faixa ele contém, ou chame get_diabetes_summary em uma janela muito ampla e leia reportRange do resultado.
Claude parece estar executando comportamento antigo após uma atualização.
Reinstale o .mcpb mais recente (o Claude Desktop oferece atualizar no lugar). Se algo ainda parecer desatualizado, inicie uma nova conversa para que as descrições das ferramentas sejam relidas.
A extensão não inicia ou mostra um erro. Verifique Configurações → Extensões → SuperGlookoQuery: as credenciais do Glooko estão corretas (ou ambas em branco para modo offline), e a pasta de dados configurada está em um local onde o Claude Desktop pode realmente gravar?
Os números de glicose parecem errados após conectar minha própria conta. Verifique se "Unidade de glicose da conta Glooko" corresponde à sua conta Glooko real, não à unidade que você prefere ver (esse é o campo separado Unidade de exibição). Errar isso corrompe a interpretação das leituras recebidas. Se os dados já foram ingeridos com a configuração errada, limpe o banco de dados (veja Migrando dos dados de amostra para os seus) e deixe baixar novamente.
Os limites Baixo/Alto parecem errados após mudar para mg/dL. Eles não convertem automaticamente quando você muda a Unidade de exibição, veja o aviso em Configurando. Atualize-os manualmente.
Um gráfico não abriu no meu navegador. SuperGlookoQuery tenta abri-lo automaticamente no navegador padrão do seu sistema operacional. Se isso falhar (nenhum comando de navegador padrão reconhecido no seu sistema), o Claude informa o caminho do arquivo; abra você mesmo. Raro, e geralmente apenas em configurações de sistema incomuns.
Uma ferramenta específica de dispositivo que eu esperava, como o modo bomba CamAPS, não aparece. Elas só aparecem quando os dados da sua conta realmente produziram o campo do qual dependem, veja Como o suporte a dispositivos realmente funciona. Se seu dispositivo realmente reporta isso e ainda está ausente após uma sincronização completa, abra uma issue.
Entre em contato
Algo não está funcionando? Abra uma issue para que a correção esteja disponível para a próxima pessoa também.
[!NOTE] Antes de anexar uma captura de tela para suporte: desfoque qualquer coisa privada, detalhes médicos ou credenciais do Glooko.
Referência de ferramentas
Estas são as ferramentas MCP que esta extensão registra. Você nunca as chama diretamente, o Claude faz isso, no meio da conversa, mas isto está aqui se você quiser saber exatamente o que o Claude pode (e não pode) ver, ou por que ele fez uma pergunta de acompanhamento específica.
Uma nota sobre timestamps
Cada timestamp que estas ferramentas usam é hora de relógio simples, formatada como ISO 8601 (ex.: 2026-01-01T00:00:00.000Z). Apesar do "Z" no final, estes não são instantes UTC reais. O Glooko apenas registra a data e hora literais que seu dispositivo exibiu no momento de uma leitura, sem fuso horário anexado, então uma leitura carrega o que o relógio dizia onde quer que você estivesse fisicamente. Na prática, isso significa que nenhuma conversão de fuso horário acontece em lugar nenhum: o Claude transforma sua frase relativa ("ontem", "últimas 3 semanas") diretamente em dígitos de relógio correspondentes e apresenta os resultados exatamente como retornados. A troca: atravesse um fuso horário e o arquivo não tem registro de a qual fuso uma determinada leitura pertence, então não há uma maneira confiável de calcular um "há quanto tempo" decorrido através dessa fronteira. Os dados ainda são exatamente o que seu dispositivo mostrou; eles só não são carimbados com zona.
Uma nota sobre unidades de glicose
A maioria das ferramentas aceita parâmetros opcionais units, lower e upper. Se omitidos, o Claude recorre ao que você configurou (unidade de exibição, faixa alvo). Ele só os substitui para uma única pergunta, por exemplo, verificar o tempo abaixo de um limite diferente sem tocar no seu alvo normal.
Ferramentas sempre disponíveis
| Ferramenta | Finalidade |
|---|---|
get_diabetes_summary | Comece aqui para quase qualquer pergunta de visão geral. Agregados de tamanho fixo e baratos em qualquer período, incluindo meses ou anos. Uma chamada deliberadamente ampla também é como o Claude descobre toda a extensão que seu arquivo contém (reportRange). Abrange controle de glicose (TIR, GMI, CV, stdDev), extremos, melhor/pior dia e hora, insulina, divisão de bolus, carboidratos e as configurações em vigor. |
get_trend | Divide um período em intervalos (dia/semana/mês/trimestre, ou um comprimento fixo) e calcula cada um de forma independente, para perguntas do tipo "como isso mudou mês a mês" em uma única chamada. |
get_glucose | Leituras individuais de CGM com carimbo de data/hora, limitadas a 21 dias, filtráveis por low, high, target ou all. |
get_chart_html | A principal forma de realmente ver um gráfico. Cria um gráfico de glicose em estilo de relatório clínico (faixas codificadas por cores, faixa alvo sombreada, dispersão mín/máx, marcadores de bolus com hover, estatísticas no cabeçalho, legenda, dicas de ferramentas), salva e abre diretamente no seu navegador. Aceita um array de ranges para comparar várias datas não contíguas em um único gráfico. Janelas de vários dias ganham um alternador Cronológico/Sobreposição e chips de filtro por dia (as estatísticas são recalculadas para o que ainda está visível), além de um painel recolhível de detalhes do dia por data. Plota cada leitura real em resolução nativa para uma janela típica (até cerca de um mês); janelas mais amplas são levemente reduzidas por padrão, sinalizadas via um campo downsample, e podem ser solicitadas novamente em detalhe total pelo parâmetro resolution. |
get_chart_series | Pontos de glicose reduzidos para plotagem, com uma banda mín/máx para que picos sobrevivam, além de marcadores de bolus. Dados brutos em vez de uma página renderizada, para quando o Claude precisar criar sua própria visualização em vez de usar o gráfico pronto. |
get_enriched_bolus_log | Cada bolus em uma janela (limitado a 92 dias), combinado com a glicose interpolada no momento da entrega e o ISF/razão de carboidratos/alvo/DIA ativos naquele momento, além de entregue-vs-programado e substituições da calculadora. Filtrável por classe de bolus. |
get_split_bolus_log | Cada bolus dividido (estendido/dupla onda) em uma janela, um com uma porção genuína de entrega estendida, além de estatísticas agregadas (taxa de divisão, percentual médio de entrega inicial) em toda a população de bolus da janela. Nenhum bolus dividido em uma janela é um resultado normal, não um erro. |
get_hourly_trends | Tempo no intervalo e glicose média agrupados por hora do relógio em uma janela. Útil para fenômeno do amanhecer, picos noturnos recorrentes, esse tipo de padrão por hora do dia. |
get_basal_delivery | O que o algoritmo da bomba estava fazendo com a basal ao longo do tempo, como estados comportamentais (normal / suspend / max / limited), não unidades brutas. Lê uma série de dados específica do Omnipod-5 no Glooko, confirmada vazia para uma conta CamAPS FX (uma lacuna no que o Glooko expõe, não uma afirmação de que a CamAPS não tem entrega basal; veja get_camaps_pump_mode_breakdown para o equivalente mais próximo desse dispositivo). |
get_daily_insulin | Os próprios números diários de basal/bolus/total do Glooko, mostrados como estão, para uma tabela dia a dia ou números de dose total diária. |
get_settings_history | Cada mudança de configuração da bomba em vigor durante uma janela: DIA, taxa máxima de basal e os perfis de alvo/ISF/razão de carboidratos segmentados por tempo. |
get_device_events | Carimbos de data/hora de troca de pod/site e troca de sensor CGM, apenas contexto, nunca tratados como causa de oscilações de glicose próximas. Se o Glooko relata isso ou não depende do dispositivo; confirmado vazio para uma conta CamAPS FX + Ypso Pump. |
get_meal_window_analysis | Amplia um único evento de refeição ou bolus: 30 minutos antes até 3 horas depois, com o traço de glicose e quaisquer bolus dentro dessa janela. |
Ferramentas limitadas por capacidade (só aparecem quando os dados da sua conta as suportam)
| Ferramenta | Finalidade |
|---|---|
get_camaps_pump_mode_breakdown | Quanto de uma janela a CamAPS FX passou em cada um de seus próprios modos de operação (automático/manual/easeOff/boost/liberty/attempting). Registra apenas para uma conta cujos dados realmente mostraram esse campo, veja Como o suporte a dispositivos realmente funciona. Diferente de tudo acima, esta é uma chamada ao vivo ao Glooko a cada vez (um agregado por janela que o Glooko calcula sob demanda, não algo que este projeto arquiva), então espere que seja mais lenta e ocasionalmente encontre um erro de rede transitório. |
Ferramentas de contribuição ao registro de esquema (um fluxo de duas etapas, confirmado por humano)
| Ferramenta | Finalidade |
|---|---|
get_registry_contribution_report | Etapa 1: constrói o relatório de descoberta com proteção de privacidade para seu(s) dispositivo(s), veja Como o suporte a dispositivos realmente funciona. Sem valores reais, apenas nomes de campos, tipos e taxas de preenchimento. Retorna um reportHash que você precisará para a etapa 2. |
submit_registry_contribution | Etapa 2: só executa depois que você mesmo revisou a etapa 1 e digitou sua frase exata de confirmação; o Claude não pode fornecer isso em seu nome. Executa uma varredura de privacidade independente e uma verificação de integridade de conteúdo, grava em schema-registry/ e abre um pull request se o GitHub CLI estiver instalado e autenticado. Recusa-se inofensivamente se a frase não corresponder, ou se os dados subjacentes mudaram desde que você revisou o relatório. |
Ferramentas de persona
| Ferramenta | Finalidade |
|---|---|
activate_clinical_auditor_persona | Carrega a persona de auditor clínico de amor duro e suas instruções operacionais completas para o resto da conversa. Chame isso você mesmo apenas pedindo em linguagem simples, veja A persona de auditor clínico. |
Há também um prompt MCP com o mesmo conteúdo, clinical_auditor, para clientes que suportam um seletor de prompts (o Claude Desktop atualmente não suporta, veja acima; a ferramenta é a forma confiável de alcançá-lo lá).
Como o código está organizado
(Para qualquer pessoa lendo o código-fonte. Se você só quer usar a ferramenta, pule isso.)
Os dados fluem nesta ordem: Glooko → sincronização → armazenamento → intervalo → análise → ferramentas → Claude.
manifest.json: o manifesto MCPB: o que o Claude Desktop lê para instalar a extensão, quais configurações ele solicita e como ele inicia osrc/server.js.src/env.js: sanitiza as variáveis de ambiente derivadas deuser_configque o Claude Desktop injeta, antes que qualquer outra coisa as leia. Deve permanecer como a primeira importação emserver.js; veja seu próprio comentário de cabeçalho para a peculiaridade específica do Claude Desktop que isso contorna.src/server.js: o servidor MCP e as definições de ferramentas, o que o Claude Desktop realmente inicia via stdio. Wrappers finos em torno da análise. Também é onde os módulos limitados por capacidade se registram, após a conexão do transporte.src/analytics.js: a matemática clínica real e a modelagem de dados, escritas como funções puras sem imports próprios, mantidas deliberadamente livres de dependências para testabilidade.src/chartHtml.js: renderiza a página HTML autocontida queget_chart_htmlgrava em disco: geometria do gráfico, codificação de cores, segmentação de dias, dicas de ferramentas, o alternador Cronológico/Sobreposição — tudo vive aqui.src/store.js: o arquivo SQLite (colunas principais tipadas mais um overflow JSONextrapara qualquer coisa ainda não mapeada, veja Como o suporte a dispositivos realmente funciona), apoiado por sql.js, uma compilação WebAssembly pura do SQLite escolhida para que isso rode identicamente em qualquer runtime Node que o Claude Desktop venha a incluir, sem etapa de build. O trade-off: sql.js é apenas em memória, entãostore.jsre-serializa o arquivo para o disco por conta própria após cada lote de escrita, em vez de depender do diário baseado em arquivo do próprio SQLite.src/discover.js: constrói o relatório de descoberta com proteção de privacidade: quais campos os dados da sua conta preenchem e com que frequência, com cada valor real já trocado por um placeholder sintético fixo antes de ser retornado.src/submit-registry-entry.js: a sequência completa de submissão: mostra o relatório na íntegra, exige uma confirmação digitada, executa uma segunda varredura de privacidade independente (deliberadamente não confiando na lógica de redação do própriodiscover.js), uma verificação de hash de integridade de conteúdo e, seghestiver instalado e autenticado, abre um PR paraschema-registry/.runChatDrivenSubmission()é a versão que as duas ferramentas MCP deserver.jsrealmente chamam; a etapa de confirmação humana acontece no próprio chat, então ela adiciona uma verificação de desatualização que omain()do CLI nunca precisou.src/paths.js: resolve onde o arquivo vive (sua pasta de Dados configurada, com padrão em Documentos) e semeia o banco de dados de amostra incluído em uma instalação nova e offline.src/range.js: a camada que as ferramentas realmente chamam; responde do arquivo local e complementa do Glooko apenas quando necessário. O modo offline é controlado aqui.src/sync.js: o motor que puxa dados do Glooko para o arquivo: inicialização a frio, complemento, aquecimento na inicialização.src/glooko.js: o cliente da API do Glooko em si, autenticação e busca.src/prompt.js: o texto da persona de auditor clínico.schema-registry/: o catálogo contribuído do que campos contas reais mostraram, dividido por componente do dispositivo (pumps/,cgms/), veja seu próprio README.scripts/generate-sample-data.mjs: regenera o banco de dados de amostra incluído a partir de dados totalmente sintéticos, com aleatoriedade semeada. Nunca dados de uma conta real.test/: a suíte de testes automatizados, veja Executando os testes.docs/DESIGN.md/docs/PROMOTION.md/docs/TODO.md: a especificação de arquitetura, o processo para graduar um campo descoberto em uma coluna tipada e o roteiro em andamento, aproximadamente na ordem de quão fundo você quer ir.docs/MANUAL_TEST_PLAN.md: a lista de verificação de instalação nova/inicialização a frio para executar antes de cortar um release.npm testcobre lógica de nível de unidade; isto cobre tudo que só aparece contra um estado inicial genuinamente vazio ou uma instalação real do Claude Desktop.
Alguns invariantes valem em todos os lugares: a glicose é armazenada internamente em uma unidade canônica (mmol/L) e só convertida na saída; o bolus é somado de eventos individuais enquanto a basal vem dos totais diários do próprio Glooko; cada carimbo de data/hora é tempo de relógio simples, nunca UTC (veja a nota sobre timestamps acima); e as taxas por dia usam o intervalo real observado de dados, não um dia de calendário assumido.
Construindo o .mcpb você mesmo
Não é necessário para usar a extensão se um .mcpb lançado já existir, veja Instalando. Isto é para qualquer pessoa construindo a partir do código-fonte, auditando o código primeiro ou fazendo alterações.
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
O repositório também inclui um .mcpbignore que remove conteúdo exclusivo do repositório (documentação, variantes de build sql.js não usadas, esse tipo de coisa) do pacote compactado. Você não deve precisar mexer nele, mas vale uma olhada se estiver curioso sobre o que o mcpb pack inclui e por quê.
Instale o arquivo .mcpb resultante conforme descrito em Instalando. Veja a Especificação MCPB para como o formato do pacote funciona em si.
Executando os testes
npm install
npm test
Executa a suíte automatizada através do próprio executor de testes integrado do Node (node --test), sem necessidade de framework de teste extra. Abrange a lógica de ingestão/esquema, o comportamento de limite e redação do relatório de descoberta (a área que mais merece escrutínio, já que um bug ali é um incidente de privacidade, não apenas um bug), a sequência de bloqueio de submissão ao registro de esquema e o sistema de módulos limitados por capacidade. Veja test/ para os arquivos individuais, e a seção Fase 3 de docs/TODO.md para o que está coberto e o que ainda está aberto.
Licença
Lançado sob a Licença MIT: livre para usar, modificar e distribuir, inclusive comercialmente, desde que o aviso de direitos autorais e o texto da licença permaneçam anexados. Texto completo em LICENSE. Bifurcado do podquery-mcp de Richard Hall (também licenciado sob MIT).
A licença MIT cobre o código. O banco de dados de exemplo incluído é totalmente sintético (dados fabricados e gerados aleatoriamente, veja scripts/generate-sample-data.mjs), não sendo amostrado de nenhuma conta real.
Aviso Legal
Esta ferramenta tem finalidade apenas informativa e educacional. Não é um dispositivo médico e não substitui aconselhamento, diagnóstico ou tratamento médico profissional. Sempre converse com seu médico ou outro profissional de saúde qualificado sobre qualquer questão relacionada a uma condição médica. Qualquer análise produzida por esta ferramenta, incluindo qualquer coisa que o Claude disser, precisa ser revisada por um profissional clínico qualificado antes de alterar sua terapia com insulina ou qualquer regime médico mais amplo.