saudeemdado-mcp
Provides tools for querying aggregated Brazilian public health indicators served from Supabase (Postgres/PostgREST) marts — mortality, dengue, hospitalizations, births, and social vulnerability — plus analysis tools such as peer comparison, endemic channel for dengue, and the weekly bulletin, with built-in reliability warnings and anomaly detection.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
🏥 Saúde em Dado
Inteligência epidemiológica aberta sobre os microdados do SUS
Mortalidade · Dengue · Internações · Natalidade · Vulnerabilidade social — do Brasil inteiro, a custo zero.
Site · API · Análises · Metodologia
🎯 O que é
Os dados do SUS são públicos por lei, mas inacessíveis na prática: microdados em formato proprietário (DBC), fragmentados por estado e competência, somando dezenas de gigabytes. Pesquisadores, jornalistas e gestores gastam semanas em engenharia de dados antes de qualquer análise.
O Saúde em Dado elimina essa barreira. Ele transforma os microdados oficiais do DataSUS e do IBGE em indicadores agregados, validados e consultáveis por API pública gratuita, painéis navegáveis e downloads abertos — com pipeline 100% reproduzível e custo de manutenção zero.
Mais de 14,4 milhões de óbitos (2015–2024), 6,56 milhões de casos de dengue (recorde de 2024), 40,0 milhões de AIHs aprovadas (R$ 63,4 bi) e 5,2 milhões de nascimentos — em uma consulta.
Related MCP server: mcp-brasil
📊 Fontes de dados
Sistema | Conteúdo | Cobertura | Indicadores derivados |
SIM | Mortalidade (óbitos) | 2015–2024 | Taxa bruta + IC95%, taxa padronizada por idade, excesso de mortalidade |
SINAN | Dengue (notificações) | 2015–2024 | Incidência, gravidade, letalidade, canal endêmico |
SIH | Internações hospitalares (AIH) | 2022–2024 | Permanência média e custo por episódio (AIH normal), mortalidade intra-hospitalar |
SINASC | Nascidos vivos | 2021–2022 | Baixo peso, prematuridade, pré-natal, mortalidade infantil |
IBGE | População (Censo 2022, Estimativas) e malhas | — | Denominadores, padronização, mapas |
IPEA / IBGE | Vulnerabilidade social (proxy Censo 2022) | 2022 | Cruzamento desigualdade × saúde |
Todas as fontes são de domínio público. Apenas agregados são publicados — nenhum microdado individual sai da máquina de processamento (privacidade por desenho).
🧮 Indicadores e métodos
Taxa padronizada por idade (método direto, padrão Brasil/Censo 2022) — comparação legítima entre municípios, corrigindo o efeito da estrutura etária.
Intervalo de confiança de 95% (método gama / Poisson exato) em toda taxa bruta; alerta para municípios < 10 mil hab.
Excesso de mortalidade — observado vs. esperado (baseline 2015–2019 ajustado por população), por UF e Brasil.
Canal endêmico de dengue (diagrama de controle) — faixa esperada P25–P75 de 2015–2023 vs. ano observado.
Taxa de Mortalidade Infantil — óbitos < 1 ano (SIM) ÷ nascidos vivos (SINASC).
Índice de vulnerabilidade social (proxy) — z-score de analfabetismo + falta de água (Censo 2022).
Tipo de AIH (SIH) — o arquivo do SIH mistura AIH normal com AIH de continuação, emitida quando a internação se prolonga: uma internação longa vira várias linhas.
internacoesconta AIHs aprovadas (produção); permanência e custo médios são por episódio, sobre a AIH normal. Nos capítulos V (transtornos mentais) e VI (sistema nervoso) os dois números divergem muito — 25% e 10% das AIHs são de continuação. AIH não é internação nem paciente.
Documentação completa, fórmulas e limitações declaradas: saudeemdado.com/metodologia.
🏗️ Arquitetura (a custo zero)
Microdados DataSUS (.dbc/.csv) IBGE (SIDRA / localidades / malhas)
│ │
▼ ▼
┌───────────────────────────────────────────────────────┐
│ Pipelines Python (local) — streaming + DuckDB │
│ scripts/pipeline_*.py · agregação · validação │
└───────────────────────────────────────────────────────┘
│ (sobem apenas marts agregados, ~400 MB)
▼
┌───────────────────────────────────────────────────────┐
│ Supabase (Postgres free tier) — somente leitura (RLS) │
│ ├── API REST automática (PostgREST) │
│ └── Storage (Parquet com SHA-256) │
└───────────────────────────────────────────────────────┘
│
▼
┌───────────────────────────────────────────────────────┐
│ Next.js estático (GitHub Pages) → saudeemdado.com │
│ JSON estático no build = egress ~zero no banco │
└───────────────────────────────────────────────────────┘
Automação (GitHub Actions): deploy · keep-alive (≤6 dias) · validação de dadosOnde cada fonte mora é declarado uma vez, em scripts/_fontes.py:
diretório FTP, prefixo S3 ou endpoint, com o padrão do nome do arquivo e o motivo escrito quando
não há o que observar. Pipelines e o observador semanal leem a mesma declaração — antes eram
cópias, e elas divergiram: o /dissemin/publicos/SIHSUS/200801_/Dados estava digitado em 8
arquivos, e o preliminar do SIM era lido pelo pipeline sem ser vigiado por ninguém.
Princípios: (1) agregar localmente, publicar só o essencial; (2) nenhum servidor de aplicação para manter; (3) reprodutibilidade radical — todo número regenerável das fontes oficiais por um script aberto.
🚀 Como acessar
Site: saudeemdado.com — painéis de mortalidade, dengue, internações, nascimentos, mapa municipal, tendências e boletim por município.
API REST pública (sem cadastro; chave de leitura em .env.example):
URL="https://zekjhmxjamatlxpkykde.supabase.co/rest/v1"; KEY="<anon key>"
# Municípios de MG por taxa padronizada de mortalidade (2023)
curl "$URL/mart_mortalidade_municipio?uf_sigla=eq.MG&ano=eq.2023&capitulo_cid=eq.TOTAL&sexo=eq.TOTAL&order=taxa_padronizada_100k.desc&limit=10" -H "apikey: $KEY"
# Dengue por município/ano (incidência e letalidade)
curl "$URL/mart_dengue_municipio_ano?uf_sigla=eq.SP&ano_epi=eq.2024&order=incidencia_100k.desc&limit=10" -H "apikey: $KEY"Pacote Python (clients/python):
import saudeemdado as sd
sd.municipios(uf="MG", ano=2023, as_df=True).nlargest(10, "taxa_padronizada_100k")
sd.dengue(uf="SP", ano=2024, as_df=True)Servidor MCP — a saúde do Brasil consultável por IA (mcp_server/).
Conecte o Claude Desktop/Code e pergunte em linguagem natural. Expõe 41 ferramentas: consulta
(mortalidade, internações, dengue, ICSAP, fluxo de pacientes, visão hospitalar, excesso) e análise
(comparar_com_pares — município vs. estrato de saúde com percentis; canal_endemico_dengue —
diagrama de controle por UF; boletim_semanal — a edição vigente do boletim automático) — mais a
camada de confiabilidade (avisa quando o registro do município é pouco confiável) e o
detector de anomalias para briefing de gestor. Custo zero: roda no seu cliente e consome a API
pública — cada usuário traz o próprio Claude. Regras anti-alucinação embutidas: todo número vem
de uma ferramenta, com a fonte citada.
{ "mcpServers": { "saudeemdado": { "command": "uvx", "args": ["saudeemdado-mcp"] } } }Publicado no PyPI e no
registry oficial MCP como
io.github.pedropaulofernandes88-stack/saudeemdado. Instalação e receitas: mcp_server/README.md.
Downloads — marts completos em Parquet com SHA-256 na página Dados & API.
🔁 Reprodutibilidade
# Python 3.10–3.12 (datasus-dbc não compila no 3.13+)
pip install duckdb pandas pyarrow requests scipy pyreaddbc datasus-dbc dbfread
python scripts/pipeline_v2.py # SIM 2015–2024 (padronização, IC95%, excesso)
python scripts/pipeline_sinan.py # Dengue 2015–2024
python scripts/pipeline_sih.py # Internações 2022–2024
python scripts/pipeline_sinasc.py # Nascimentos + mortalidade infantil
python scripts/pipeline_ivs.py # Vulnerabilidade social (proxy Censo 2022)
python scripts/validate_data.py # validação contra âncoras oficiaisOs pipelines fazem download, agregam em streaming com checkpoint resumível e publicam via API.
A rotina de validação (.github/workflows/validate-data.yml)
confere mensalmente totais oficiais e conciliação entre marts.
Código de saída — três valores, não dois. "Rodou sem erro" e "veio dado novo" são perguntas
diferentes, e todo pipeline responde as duas (scripts/_saida.py):
Código | Significado |
| rodou certo e o mart mudou |
| falhou |
| rodou certo, e nada mudou desde a última vez |
A novidade é medida pelo sha256 do mart, antes e depois da gravação — não por tamanho de
arquivo nem por contagem de linhas, que não distinguem duplicata de ausência. Reprocessar um ano
já processado sai com 2.
Atenção ao encadear: 2 é diferente de zero, e set -e, && e o run: do GitHub Actions leem
qualquer código != 0 como falha. Só o 1 é falha:
python scripts/pipeline_sinan.py; c=$?
[ $c -eq 1 ] && exit 1📁 Estrutura
saude-publica-br/
│
├── site/ # Next.js 14, export estático → saudeemdado.com
│ ├── app/ # uma pasta por rota: painel, dengue, internacoes,
│ │ # nascimentos, mapa, tendencias, artigos, dados,
│ │ # metodologia, atencao-basica, boletim, hospitalar
│ ├── components/ # gráficos (Recharts), KPIs, navegação
│ ├── lib/ # regras puras e testáveis: municipios, completude,
│ │ # tokens de design, seções da metodologia
│ ├── content/ # artigos assinados (seção Análises)
│ └── scripts/ # gera o JSON estático durante o build
│
├── scripts/ # pipelines: SIM, SINAN, SIH, SINASC, CNES, IVS, SIOPS
├── ingestion/utils/ # bulk load (Parquet → COPY) e ledger de ingestão
├── dbt/ # modelos intermediate → marts
├── migrations/ # SQL versionado do Supabase, incluindo as políticas RLS
├── validation/ # suítes Great Expectations sobre os marts
├── ml/ # detector de anomalias e scoring em lote
├── data/refs/ # tabelas de referência (CID-10, municípios, população)
│
├── mcp_server/ # servidor MCP → PyPI: saudeemdado-mcp
├── clients/python/ # cliente da API → pacote saudeemdado
├── supabase/functions/ # Edge Functions do boletim por assinatura
│
├── .github/workflows/ # CI, deploy do site, boletim, publicação do MCP
├── docs/ # ADRs e notas de arquitetura
└── archive/ # a primeira arquitetura, aposentada — ver archive/README.md📰 Análises
A seção Análises reúne artigos que cruzam os dados da plataforma com leitura epidemiológica e estatística — da anatomia da epidemia de dengue de 2024 ao paradoxo do sub-registro na relação vulnerabilidade × mortalidade.
🗺️ Roadmap
Mortalidade (SIM) 2015–2024 · taxa padronizada · IC95% · excesso
Dengue (SINAN) · Internações (SIH) · Nascimentos/Mortalidade infantil (SINASC)
Vulnerabilidade social (proxy Censo 2022) e cruzamento com mortalidade
Pacote Python · servidor MCP · boletim municipal · seção de Análises
SINAN outros agravos — 40 agravos, incluindo chikungunya e zika
CNES (leitos/estabelecimentos) · SINASC até 2024 · DOI via Zenodo (10.5281/zenodo.20706845)
Dezesseis fontes: SIM, SIH, SINAN, sífilis, SINASC, PNI, Painel de Oncologia, CNES, convênios federais, SISCAN, SIA/SUS, SISAGUA, APS, SIOPS, ANS e RHC/INCA
IVS oficial do IPEA — hoje
dim_ivsé proxy do Censo 2022 (analfabetismo + sem água), e o nome não diz issoSIH 2015–2021 — a série publicada começa em 2021
Imagens de capa próprias para a seção de Análises
🤝 Créditos e projetos relacionados
LabSUS (Lucas Amaral Dourado, Universidade Federal do Tocantins) — projeto acadêmico de inteligência em saúde pública que inspirou aqui o cruzamento saúde × vulnerabilidade, a detecção de surtos por canal endêmico e a nota de uso ético. Métodos de domínio público; nenhum código foi copiado.
Fontes primárias: DATASUS/Ministério da Saúde (SIM, SINAN, SIH, SINASC), IBGE (Censo 2022, Estimativas, malhas) e IPEA.
⚖️ Uso ético
Os indicadores são agregados e descritivos — não substituem julgamento técnico. Pede-se, de boa-fé, que a plataforma não seja usada para discriminação no acesso à saúde, vigilância em massa de indivíduos ou automação de decisões clínicas/de política pública sem supervisão profissional. Detalhes na LICENSE.
🔒 Segurança
Vulnerabilidades vão por canal privado — ver SECURITY.md. Leia
antes a seção sobre o que não é vazamento aqui: a chave anon do Supabase é
pública por desenho (é o que permite consultar a API sem cadastro), e os arquivos
.env versionados são templates com placeholders.
📄 Licença
Código sob licença MIT. Dados originais em domínio público (DATASUS/MS, IBGE, IPEA) — cite as fontes primárias.
Como citar (DOI 10.5281/zenodo.20706845):
Fernandes, Pedro. Saúde em Dado: inteligência epidemiológica aberta sobre os microdados do SUS. Zenodo, 2026. https://doi.org/10.5281/zenodo.20706845
Metadados legíveis por gerenciadores de referência em CITATION.cff.
👤 Autor
Pedro Fernandes Mestrando em Saúde Coletiva (IAMSPE) · Pós-graduando em Inteligência Artificial e Ciência de Dados em Saúde (Hospital Sírio-Libanês) · Diretor de Tecnologia da Informação — Setor Público (SP)
—
saudeemdado.com · dados públicos, abertos e a custo zero para a pesquisa em saúde no Brasil
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
IBGE: geography, census, economy and health from the official APIs, with provenance. 23 tools.
DATASUS SIH/SUS hospital admissions in Brazil (AIH, 1992-2025): ICD-10 causes, ICSAP, rates.
Discover, resolve, and query official Brazilian economic data with semantic search and provenance.
Brazilian public data API for AI agents. BCB, IBGE, CVM, B3, compliance. x402 payments on Base.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA RAG-based MCP server for natural language querying of Brazilian healthcare manuals (SIH/SUS, SIA/SUS) and official ordinances. It provides 16 tools for semantic search, regulatory critique analysis, and retrieving data from SIGTAP and CNES.1-
- AlicenseNot gradedqualityNot gradedmaintenanceConnects AI agents to 28 Brazilian public APIs, providing over 200 tools to access data on economy, legislation, transparency, and the judiciary. It enables complex queries and cross-referencing of government datasets like IBGE, the Central Bank, and the National Congress through natural language.MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to access Brazilian IBGE statistical data (population, economy, agriculture) via natural language, with tools for querying aggregated data and metadata.-
- AlicenseNot gradedqualityBmaintenanceEnables agents to query 153 live Brazilian government data tools across federal and state sources, including economy, legislature, judiciary, elections, health, education, and more, reading directly from original APIs.MIT