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.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@saudeemdado-mcpqual foi a incidência de dengue no Brasil em 2024?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🏥 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 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
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