Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP

de SidneyBissoliversión 1.8.2i★ –iComputadora o nube
Nombre en el registroio.github.SidneyBissoli/sih-br-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

DATASUS SIH/SUS hospital admissions in Brazil (AIH, 1992-2025): ICD-10 causes, ICSAP, rates.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://sih.sidneybissoli.com/mcp

O ejecútalo en tu computadora

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "sih-br": {
      "command": "npx",
      "args": [
        "-y",
        "sih-br-mcp"
      ],
      "env": {
        "SIH_CACHE_DIR": "your-value",
        "SIH_CUBES_BASE_URL": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add --transport http sih-br https://sih.sidneybissoli.com/mcp

O ejecútalo en tu computadora

claude mcp add sih-br --env SIH_CACHE_DIR=your-value --env SIH_CUBES_BASE_URL=your-value -- npx -y sih-br-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "sih-br": {
      "url": "https://sih.sidneybissoli.com/mcp"
    }
  }
}

O ejecútalo en tu computadora

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "sih-br": {
      "command": "npx",
      "args": [
        "-y",
        "sih-br-mcp"
      ],
      "env": {
        "SIH_CACHE_DIR": "your-value",
        "SIH_CUBES_BASE_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "sih-br": {
      "type": "http",
      "url": "https://sih.sidneybissoli.com/mcp"
    }
  }
}

O ejecútalo en tu computadora

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "sih-br": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "sih-br-mcp"
      ],
      "env": {
        "SIH_CACHE_DIR": "your-value",
        "SIH_CUBES_BASE_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://sih.sidneybissoli.com/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • SIH_CACHE_DIR env
    Folder for the local cache of cubes and population files downloaded from the public channel (default ~/.cache/sih-br-mcp/cubos).
  • SIH_CUBES_BASE_URL env
    Alternative channel base URL (default https://data.sidneybissoli.com/sih/cubos/).

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Nombres y descripciones de las herramientas tal como los informó el servidor el 6 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.

  • list_csap_groups

    Lista os 19 grupos de Condições Sensíveis à Atenção Primária (CSAP) conforme Portaria MS/SAS 221/2008. Retorna código, nome e códigos CID-10 de cada grupo.

  • list_cid_chapters

    Lista os 22 capítulos da CID-10 com seus códigos e faixas de diagnóstico. Os cubos de 1992–1997 (diagnóstico em CID-9) trazem `cid_chapter` como o capítulo CID-10 equivalente (mapa por categoria em src/data/cid9-chapters.json).

  • get_available_years

    Retorna os anos disponíveis nos dados do SIH-SUS carregados e o frescor dos cubos em relação ao espelho healthbr-data (`freshness.status`: current, stale, unknown, pending ou disabled; quando stale, lista por ano as partições reeditadas pelo MS, regeneradas, retiradas ou novas na

  • get_hospitalizations

    Consulta dados de internações hospitalares do SUS com filtros flexíveis. Permite agregar por múltiplas dimensões (UF, CID, sexo, idade, raça, ano/mês). Raça/cor só existe de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Série desde 1992: em

  • get_hospitalization_trends

    Retorna séries temporais de internações (mensal ou anual). Útil para análise de tendências e sazonalidade. O ano e o mês são os da INTERNAÇÃO (DT_INTER), não a competência de faturamento; o ano mais recente cresce até a janela dele fechar (AIH faturada com atraso), e o DATASUS re

  • compare_regions

    Compara internações entre UFs ou regiões do Brasil. Gera rankings e identifica variações regionais. Em 1992–1997 `uf` é a UF do arquivo (estabelecimento), não de residência — ver get_available_years.uf_basis e as `notes`.

  • get_icsap

    Consulta internações por Condições Sensíveis à Atenção Primária (ICSAP). Permite filtros por grupo CSAP, UF, município, sexo, idade e raça. Raça/cor só existe de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Série desde 1992: em 1992–1997 a

  • get_icsap_indicators

    Calcula indicadores de ICSAP: percentual (ICSAP/Total×100). Métricas-chave para avaliar a Atenção Primária. Agrupar por raça só faz sentido de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e n

  • rank_csap_groups

    Gera ranking dos 19 grupos CSAP por número de internações, dias de internação ou valor. Identifica principais causas evitáveis. Em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+) e `value` é nominal na moeda da época — ver as `not

  • classify_as_csap

    Classifica um ou mais códigos CID-10 como CSAP ou não. Retorna o grupo CSAP correspondente se aplicável. Aceita as duas notações do mesmo código — `J18.1` (OMS) e `J181` (SIH) — com a mesma resposta. Código que NÃO é CID-10 não é classificado: volta com `is_csap: null` e `error`

  • get_hospitalization_rates

    Calcula taxas de internação por população. A taxa sai em `rate`, na base declarada em `rate_per` (1000, 10000 ou 100000; default 100000). Denominador lido de dois arquivos, informados em get_available_years.population_years: projeções do IBGE por idade simples de 2000 em diante (

  • compare_icsap_trends

    Análise temporal comparativa de ICSAP entre UFs ou grupos CSAP. Calcula tendências, variação anual e identifica melhores/piores desempenhos. Para `percentage` e `count` valem todos os anos do SIH (desde 1992); `rate_per_10k` exige população e aceita só os anos de get_available_ye

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub SidneyBissoli, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • ✓ Superada

    El endpoint responde

    Respondió en 646 ms (HTTP 200)

  • – No aplica

    Inicio de sesión con OAuth

    No hace falta iniciar sesión

  • ✓ Superada

    Sin instrucciones ocultas en las descripciones de herramientas

    Leímos 12 descripciones de herramientas y no encontramos instrucciones ocultas para la IA

Comparado con otros en Clínicas y saludi

  • Más estrellas que el 0% de los otros 1034 servidores de esta categoría
  • Publicado en el registro más recientemente que el 79% de los otros 1034 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1034 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.8.2) llegó al registro hace 6 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Mirobody, FHIR MCP Server, Google Health MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Mirobody

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

de thetahealthEn crecimiento↓ 290/sem★ 1,4 milActualizado anteayer

Se ejecuta en tu computadora✓ thetahealth.ai

FHIR MCP Server

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

de wso2En crecimiento↓ 823/sem★ 137Actualizado hace 11 días

Se ejecuta en tu computadora

Google Health MCP

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

de davidmosiahEn crecimiento↓ 1 mil/sem★ 79Actualizado hace 4 meses

Se ejecuta en tu computadora

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

DATASUS SIH/SUS — MCP Server de internações hospitalares (AIH) do Brasil, 1992–2025

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.

Perguntas que ele responde

Em linguagem comum, no cliente MCP: quem escolhe a ferramenta e os parâmetros é o assistente.

  • "Quantas internações por pneumonia houve no Espírito Santo em 2024, por faixa de idade?" (get_hospitalizations)
  • "A taxa de ICSAP de Roraima caiu entre 2010 e 2023?" (get_icsap_indicators)
  • "Compare a internação por 100 mil habitantes entre Norte e Sudeste em 2023, padronizada por idade." (get_hospitalization_rates, compare_regions)
  • "Quais condições sensíveis à atenção primária mais internam no meu município?" (rank_csap_groups)
  • "Série mensal de internações por dengue desde 1998." (get_hospitalization_trends)
  • "J18.9 é condição sensível à atenção primária?" (classify_as_csap)

Comparação com as alternativas

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.

FerramentaO que fazQuando preferir
sih-br-mcp (este)Responde agregados de 34 anos direto no assistente de IA, com ICSAP, taxas padronizadas e proveniência por respostaA 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áveisVocê 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 DATASUSSeu 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údeVocê 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 faixaVocê 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 ParquetVocê 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.

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_ .json ao lado. SIH_CUBES_BASE_URL aponta outro canal; SIH_CUBES_CACHE=off desliga (smoke e golden usam).
  • Rede: toda ida ao canal passa por 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 segue o contrato v1.3 (desde a 1.7.1): traz retrieval (quantas idas, tentativas e anomalias a chamada custou ao canal — null quando a resposta veio do disco), revision (provisional quando algum ano consultado ainda tem competências abertas, current nos demais), derived + derivation_note nos blocos dos cubos e notices quando há aviso (cubo atrás do espelho, frescor não verificado).
  • 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).
  • Pré-agregados (blocos 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.
  • 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.

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.

Servidor remoto (Streamable HTTP)

As mesmas 12 ferramentas por HTTP, para conectores remotos (claude.ai):

npm run start:http          # http://localhost:8080/mcp  (GET /healthz para sondar)

PORT e SIH_HTTP_HOST além das variáveis acima. Sem sessão: cada request cria servidor e transporte novos, então qualquer instância atende qualquer chamada. Em produção roda num Cloudflare Container (Dockerfile, população pré-baixada na imagem) atrás do Worker de borda em worker/, que cuida de domínio, rate limit, autenticação opcional e medição — desenho e custos em docs/plan-004-servidor-remoto.md.

Verificação

npm ci && npm run build

npm test # vitest: decisão de rota (puro) + envelope e outputSchema das 12 (caso cheio e caso magro) npm run smoke:stdio # superfície das ferramentas × baselines/surface-stdio.json npm run smoke:http # mesma superfície e chamadas pelo transporte HTTP (dist/http.js) 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 npm run equiv:summary # pré-agregados da ICSAP × caminho clássico, byte a byte npm run equiv:series # roteamento para o cubo leve de séries npm run equiv:causas # pré-agregados de causas (grão A e B) × cubo, byte a byte

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.

A divisão de trabalho entre as duas famílias: os scripts em scripts/*.mjs pinam VALORES (mudou um número, o baseline acusa); a suíte de tests/*.test.ts afirma INVARIANTES (qual cubo responde a pergunta; toda resposta sai com proveniência, com o texto igual à estrut

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx