Brazil hospital admissions (SIH/SUS, 1992-2025): causes, series, ICSAP, rates per 100k. 12 tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Servidor MCP (Model Context Protocol) que responde perguntas sobre as internações
hospitalares do SUS — o SIH/SUS do DATASUS, AIH reduzida — dentro do assistente de
IA, sem TabNet, sem baixar .dbc do FTP e sem escrever SQL. Doze ferramentas sobre
34 anos (1992 a 2025, 420.103.883 internações): causas por capÃtulo e grupo da
CID-10 (CID-9 antes de 1998), séries mensais, ICSAP — internações por condições
sensÃveis à atenção primária, lista brasileira — e taxas brutas, especÃficas ou
padronizadas por idade, por UF e por municÃpio. Cada estrato traz internações, dias de
permanência, valor pago pelo SUS e óbitos, com a proveniência da safra e a citação
da fonte em cada resposta.
In English. MCP server for Brazilian hospital admissions (DATASUS SIH/SUS, "AIH" records), 1992–2025: causes by ICD-10 chapter and group (ICD-9 before 1998), monthly series, ambulatory care sensitive conditions (ICSAP/ACSC, Brazilian list) and crude, age-specific or age-standardized rates by state and municipality — answered inside Claude, ChatGPT or any MCP client, with provenance and a citation in every answer. No FTP download, no DBC decoding, no SQL:
npx -y sih-br-mcp.
Em linguagem comum, no cliente MCP: quem escolhe a ferramenta e os parâmetros é o assistente.
get_hospitalizations)get_icsap_indicators)get_hospitalization_rates, compare_regions)rank_csap_groups)get_hospitalization_trends)classify_as_csap)Quem trabalha com SIH/SUS em R ou Python já tem ferramentas consolidadas, e este
servidor não substitui nenhuma delas — ele ocupa um lugar diferente da cadeia:
responde a pergunta agregada no ponto onde ela é feita, dentro do assistente, sem
ETL e sem download de microdado. Detalhe, exemplos lado a lado e os números medidos
em docs/comparativo-alternativas.md.
| Ferramenta | O que faz | Quando preferir |
|---|---|---|
| sih-br-mcp (este) | Responde agregados de 34 anos direto no assistente de IA, com ICSAP, taxas padronizadas e proveniência por resposta | A pergunta é agregada (UF, municÃpio, ano, mês, CID, idade, sexo, raça, ICSAP) e a resposta tem de ser auditável |
| microdatasus 3.0.0 (R, CRAN) | Baixa e processa microdados do DATASUS (SIH, SIM, SINASC, SIA, CNES, SINAN): trata o DBC e rotula as variáveis | Você precisa do registro individual da AIH, de variáveis fora dos cubos ou de outro sistema do DATASUS |
| PySUS 2.11.2 (Python) | Ferramentas para os dados públicos de saúde brasileiros; lê DBC/DBF do FTP do DATASUS | Seu pipeline é Python e você quer ETL próprio sobre o microdado |
| read.dbc 1.2.0 (R, CRAN) | Lê e descomprime o formato .dbc do Ministério da Saúde | Você já tem os arquivos e só precisa abri-los |
| csapAIH (R, GitHub) | Classifica AIH em ICSAP pela lista brasileira (é a referência que este servidor confere) | A classificação é sobre o seu microdado, em R |
| brpop 0.7.0 (R, CRAN) | Estimativas populacionais brasileiras por municÃpio, UF, sexo e faixa | Você calcula as próprias taxas e quer o denominador em R |
| healthbR 0.4.0 (R, CRAN) | Irmão em R deste servidor: acessa dados públicos de saúde do Brasil pelo mesmo espelho Parquet | Você está em R e quer o dado numa data.frame para seguir analisando |
Não use este servidor quando a pergunta exigir o registro individual da AIH,
variáveis que os cubos não carregam (procedimento realizado, CNES do estabelecimento,
caráter de atendimento, diagnóstico secundário) ou outro sistema do DATASUS (SIM,
SINASC, SIA, SINAN) — nesses casos o caminho é microdatasus, PySUS ou o espelho
Parquet do healthbr-data. O que os
cubos carregam por estrato está em
docs/tool-specifications.md: internações, dias de
permanência, valor pago (R$) e óbitos, por ano, mês, UF, municÃpio, capÃtulo e grupo
CID, sexo, idade, raça/cor e grupo ICSAP.
Este servidor é consumidor do canal público sih/cubos/ do projeto
healthbr-data:
Até 08/09/2026 o builder dos cubos vivia aqui (scripts/build-aggregations.R,
rebuild-cubes.yml); desde então o produtor é o healthbr-data e este repositório
não gera nem publica cubo nenhum (CONTEXT.md, decisão 27). A receita completa está
em healthbr-data/scripts/pipeline/sih-cubos/README.md e no card
sih-cubos.
~/.cache/sih-br-mcp/cubos/ (SIH_CACHE_DIR), com o sidecar
sih_provenance_<ano>.json ao lado. SIH_CUBES_BASE_URL aponta outro canal;
SIH_CUBES_CACHE=off desliga (smoke e golden usam).src/upstream.ts (fetch comum do portfólio,
@sbissoli/mcp-upstream, desde a 1.1.0): User-Agent, 15 s por tentativa até os
cabeçalhos, 2 retries em 429/5xx/rede com backoff, corpo em stream sob o prazo do
arquivo; a polÃtica foi medida contra o canal (55 MB em 1,2 s) e está documentada
no cabeçalho do módulo. O bloco de proveniência de cada resposta traz retrieval
(contrato v1.1): quantas idas, tentativas e anomalias a chamada custou ao canal —
null quando a resposta veio do disco.src/freshness.ts compara o sidecar com sih/rd/manifest-summary.json
e avisa quando um cubo está atrás do espelho; quem reconstrói é o produtor
(rebuild-sih-cubes.yml, toda terça e após cada manutenção do espelho).icsap_summary, desde a 0.14.0, e causas_summary,
desde a 0.15.0): atalhos DERIVADOS dos cubos publicados, no mesmo canal. O da
ICSAP é um resumo de 276 KB mais os estratos por ano; o de causas é o grão A
(sih_causas_resumo.parquet, 569 KB com os 34 anos: year × uf × cid_chapter × cid_revision × is_csap × exclusion com internações, dias, valor e óbitos) mais o
grão B por ano, que acrescenta sexo, faixa etária quinquenal e raça. Uma
chamada que cabe no grão responde sem baixar cubo nenhum — "internações e gasto
por ano desde 1992" custa 569 KB em vez de 1,25 GB. O roteamento é conservador:
o que não cabe (mês, categoria CID de 3 dÃgitos, grupo CSAP, idade fora das
faixas quinquenais) cai no cubo e sai exato. Cada ano só usa o pré-agregado se o
derived_from do manifesto ainda bater com o SHA-256 do cubo publicado; rebuild
sem nova derivação devolve aquele ano ao caminho lento, nunca ao número errado.src/data/): cópias do contrato publicado em
sih/cubos/tables/; npm run tables:check confere o SHA-256 contra o manifesto
(roda no CI). Nunca edite aqui — a fonte é o produtor.pop_uf.parquet, pop_uf_agregado.parquet, pop_municipios.parquet):
desde a 0.12.0 vem do mesmo canal, assinada no bloco population do manifest.json
(produtor: build-population.R + build-sih-population.yml do healthbr-data — IBGE,
Projeção 2024 por UF; DATASUS POPBR/POPSVS por municÃpio). As ferramentas de taxa
(get_hospitalization_rates, compare_icsap_trends com rate_per_10k) e
get_available_years baixam os três arquivos para o cache na primeira chamada,
com SHA-256 conferido; uma pasta de dados que já tenha pop_uf.parquet tem
precedência (fixture, build local). A proveniência da população responde com o
built_at do manifesto.Pacote no npm: sih-br-mcp (Node 22+).
Ele não embarca dado nenhum — cubos, tabelas e população vêm do canal na primeira
chamada e ficam no cache local.
Configuração num cliente MCP (Claude Desktop, Claude Code):
A partir do código-fonte:
Variáveis: SIH_DATA_DIR (pasta com cubos já prontos, em vez do cache),
SIH_CACHE_DIR, SIH_CUBES_BASE_URL, SIH_CUBES_CACHE=off,
SIH_FRESHNESS_CHECK=off.
As mesmas 12 ferramentas por HTTP, para conectores remotos (claude.ai):
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sih-sus-brasil-mcp)<a href="https://allmcps.com/mcp/sih-sus-brasil-mcp"><img src="https://allmcps.com/api/badge/sih-sus-brasil-mcp?style=directory" alt="SUS Brasil MCP on AllMCPs" /></a>