Baixar Notícia
WhatsApp
Email

sih-br-mcp by SidneyBissoli

Fonte: glama.ai | Data: 08/09/2026 22:21:31

🔗 Ler matéria original

Servidor MCP (Model Context Protocol) para análise das internações hospitalares do
SUS (SIH/SUS, AIH reduzida) com foco em ICSAP — internações por condições sensíveis
à atenção primária. Doze ferramentas sobre cubos anuais de 1992 a 2025 (causas por
capítulo/grupo CID, séries mensais, ICSAP por município, taxas por 100 mil), com a
proveniência da safra em cada resposta.

De onde vêm os dados

Este servidor é consumidor do canal público sih/cubos/ do projeto
healthbr-data:

Ministério da Saúde / DATASUS (RD<UF><AAMM>.dbc, FTP)
  → healthbr-data sih/rd/ (Parquet 1:1, manifesto com MD5 e data de download)
  → healthbr-data pipeline sih-cubos (scripts/pipeline/sih-cubos/build-aggregations.R)
  → https://data.sidneybissoli.com/sih/cubos/  (cubos + sidecar por ano + manifest.json + tables/)
  → este servidor (cache local sob demanda, SHA-256 conferido contra o manifesto)

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.

  • Cubos: baixados por ano, só os que a chamada pede, para
    ~/.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).

  • Frescor: 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).

  • Tabelas de classificação (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.

  • População (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.

Related MCP server: cid10-br-mcp

Uso

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.

npx -y sih-br-mcp           # stdio

Configuração num cliente MCP (Claude Desktop, Claude Code):

{ "mcpServers": { "sih": { "command": "npx", "args": ["-y", "sih-br-mcp"] } } }

A partir do código-fonte:

npm install
npm run build
node dist/index.js          # stdio

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.

Verificação

npm ci && npm run build
npm run smoke:stdio         # superfície das ferramentas × baselines/surface-stdio.json
npm run golden:tools        # 12 ferramentas byte a byte × baselines/golden-tools.json (fixture 2023/RR)
npm run freshness:selftest  # frescor offline sobre um trecho versionado do manifesto
npm run cache:selftest      # cache local (download + SHA-256) contra um canal falso
npm run tables:check        # tabelas de src/data × manifesto do canal

O CI (.github/workflows/ci.yml) roda tudo isso em Node 22 e 24. A fixture
tests/fixtures/sih/ é uma cópia real dos cubos de 2023/RR gerados pelo builder
(hoje no healthbr-data) — é o que torna medível qualquer bump.

Documentação

  • CONTEXT.md — decisões arquiteturais numeradas (a 27 é a migração do produtor).

  • docs/analise-001 (janela de competências), analise-002 (era CID-9, 1992–1997),
    analise-003 (lista ICSAP em CID-9 derivada), plan-002 (DuckDB Node Neo),
    plan-003 (rebuild automático, hoje no healthbr-data), tool-specifications.md.

Licença

MIT (LICENSE). Os dados são do Ministério da Saúde / DATASUS; a redistribuição em
Parquet e os cubos derivados são do healthbr-data (CC-BY-4.0).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv0.12.1
    • First observedclassify_as_csap

    • First observedcompare_icsap_trends

    • First observedcompare_regions

    • First observedget_available_years

    • First observedget_hospitalization_rates

    • First observedget_hospitalization_trends

    • First observedget_hospitalizations

    • First observedget_icsap

    • First observedget_icsap_indicators

    • First observedlist_cid_chapters

    • First observedlist_csap_groups

    • First observedrank_csap_groups

Maintenance

Related MCP Connectors

  • Conselho Federal de Medicina: Estabelecimentos de Saúde, official-source lookup. Platform-hosted, pa

  • Pay-per-call US healthcare data: hospital financials, prices, quality, exclusions, wages.

  • WHO GHO MCP — World Health Organization Global Health Observatory (free, no auth)

  • MCP server for Brazilian Federal Senate open data (legislative, administrative, e-Cidadania).

Related MCP Servers

  • MCP server for the Brazilian Central Bank (BCB/SGS) public API, providing access to 18,000+ economic time series. Includes a curated catalog of 150+ popular indicators organized in 12 categories: interest rates (Selic), inflation (IPCA, IGP-M, INPC), exchange rates (USD, EUR), GDP, employment, credit, fiscal data, and more. Supports historical queries with date filters, latest values, metadata loo

  • MCP server for Brazilian ICD-10 (CID-10) that enables search, lookup, hierarchy navigation, statistics, and validation of disease codes from official DATASUS data.

  • Enables querying and retrieving municipal data from Chile’s SINIM system, including 480 variables across 9 areas for 345 municipalities from 2001-2025.

  • Read-only MCP server for querying Brazilian CNES health establishment data in PostgreSQL, enabling AI-assisted database exploration and analysis.