# DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP (npm · sih-br-mcp)

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

- Trust score: 84/100 (high trust)
- Change this week: +29
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- npm · `sih-br-mcp`: 84/100 (this document), [markdown](https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp.md), [page](https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp)

## Channel facts

- Registry: `npm`
- Package: `sih-br-mcp`
- Version: `0.16.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 1 of 17 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to SidneyBissoli/sih-br-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3055 tokens (~254/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 37/100
  - Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP runs locally as an npm package, launched with npx -y sih-br-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sidneybissoli-sih-br-mcp -- npx -y sih-br-mcp
```

### Cursor

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

### VS Code

```json
{
  "servers": {
    "sidneybissoli-sih-br-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "sih-br-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sidneybissoli-sih-br-mcp -- npx -y sih-br-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sidneybissoli-sih-br-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "sih-br-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sidneybissoli-sih-br-mcp --command npx --arg -y --arg sih-br-mcp
```

### Hermes

```yaml
mcp_servers:
  sidneybissoli-sih-br-mcp:
    command: "npx"
    args: ["-y", "sih-br-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "sidneybissoli-sih-br-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "sih-br-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sidneybissoli-sih-br-mcp -t stdio -c npx -a -y sih-br-mcp
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 83, +1)

- [functional] First check of Tool coverage: 100
- [functional] Package version: 0.15.7 → 0.16.0

### 2026-09-16 (score 82, 0)

- [security regression] Stability: 0.20 → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.15.6 → 0.15.7

### 2026-09-15 (score 82, +27)

- [security improvement] Malware scan: unverified → pass
- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.97

### 2026-09-14 (score 55, 0)

- [security regression] Known CVEs: pass → unverified
- [security regression] Stability: 0.13 → unverified
- [security regression] Tool safety: pass → unverified
- [security improvement] Provenance: fail → pass
- [security] The attested source repository moved: SidneyBissoli/sih-br-mcp
- [functional regression] Dependency health: 0.97 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.15.4 → 0.15.6
- [functional] Package version: 0.15.4 → 0.15.5

### 2026-09-13 (score 55, −15)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 0.15.3 → 0.15.4

### 2026-09-12 (score 70, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-09-11 (score 54, +11)

- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.97

## MCP tools (12)

### `list_csap_groups` (~104 tokens)

Grupos CSAP (Portaria 221/2008)

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.

Input parameters:

- `group_code` (string): Código do grupo específico (ex: 'g01'). Se omitido, retorna todos.
- `include_cid_codes` (boolean): Se true, inclui lista de códigos CID-10 (default: false)

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `error` (string): Grupo CSAP não encontrado
- `group` (object): O grupo pedido por `group_code`
- `groups` (array): Os 19 grupos, na ordem da Portaria
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `source` (string): Norma que define a lista (Portaria MS/SAS 221/2008)
- `total_groups` (number): Número de grupos na lista (19)

### `list_cid_chapters` (~76 tokens)

Capítulos da CID-10

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).

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `chapters` (array): Os capítulos, na ordem da CID
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `total_chapters` (number): Número de capítulos (22)

### `get_available_years` (~205 tokens)

Anos disponíveis e frescor dos cubos

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 janela). Por ano, o que muda entre as eras do SIH: `race_available` (raça/cor só de 2008), `cid_revision` (9 = CID-9 de 6 dígitos em 1992–1997, 10 = CID-10; 1997 tem as duas), `icsap_list_revision` (cid9-derivada, não oficial, em 1992–1997), `uf_basis` (arquivo em 1992–1997, residencia de 1998), `municipality_available`, `currency` e `records_date_imputed`.

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `cid_revision` (object): Internações por revisão da CID — chave é o ano (string)
- `csap_universe` (object): Universo do % ICSAP — chave é o ano (string)
- `cubes_channel` (object): Canal público dos cubos e cache local
- `currency` (object): Moeda de `value` — chave é o ano (string)
- `data_range` (object): Intervalo dos anos locais
- `error` (string): Falha ao listar os anos
- `freshness` (object): Frescor dos cubos locais frente ao espelho healthbr-data
- `icsap_available` (object): ICSAP disponível — chave é o ano (string)
- `icsap_list_revision` (object): Lista ICSAP por revisão da CID — chave é o ano (string)
- `municipality_available` (object): Município disponível — chave é o ano (string)
- `note` (string): Aviso sobre o que `years` significa
- `population_years` (object|null): Cobertura dos arquivos de população por UF: o que as ferramentas de taxa aceitam
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `race_available` (object): Raça/cor disponível — chave é o ano (string)
- `records_date_imputed` (object): Datas imputadas — chave é o ano (string)
- `uf_basis` (object): Base do eixo `uf` — chave é o ano (string)
- `years` (array): Anos com cubos Parquet presentes localmente
- `years_cid9` (array): Anos em que o cubo usa CID-9 (1992–1997)
- `years_uf_arquivo` (array): Anos em que `uf` é a do estabelecimento (1992–1997)
- `years_without_race` (array): Anos sem raça/cor (1998–2007)

### `get_hospitalizations` (~489 tokens)

Internações do SUS com filtros

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 1992–1997 o diagnóstico é CID-9 decodificado por tabela (`cid_group` = categoria de 3 dígitos, `cid_chapter` = capítulo CID-10 equivalente; agrupar por `cid_revision` separa 9 e 10 — 1997 tem os dois), `uf` é a UF do ARQUIVO (estabelecimento), não de residência, e `value` é nominal na moeda da época — ver get_available_years (uf_basis, currency) e as `notes` da resposta. `exclusion` (agrupável) marca as internações fora do universo do % ICSAP do csapAIH (procedimento_obstetrico, parto, longa_permanencia; nula = dentro).

Input parameters:

- `age_max` (integer): Idade máxima em anos
- `age_min` (integer): Idade mínima em anos
- `cid_chapter` (array): Capítulos CID-10 (1-22). Se omitido, todos.
- `group_by` (array): Dimensões para agrupamento
- `is_csap` (boolean): Filtrar apenas CSAP (true) ou não-CSAP (false)
- `limit` (integer): Limitar número de resultados
- `month` (array): Meses (1-12). Se omitido, todos.
- `race` (array): Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos.
- `sex` (string): Filtrar por sexo
- `uf` (array): Lista de UFs (ex: ['SP', 'RJ']). Se omitido, todas.
- `year` (array): Anos para consultar (ex: [2023, 2024]); série de 1992 em diante

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `data` (array): Linhas agrupadas (vazio no caminho de erro-mole)
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `filters_applied` (object): Os argumentos recebidos, ecoados
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `summary` (object): Totais do recorte inteiro (não do trecho devolvido, quando truncado)
- `truncated` (object): Presente só quando `data` foi truncado no teto de linhas; os totais em `summary` são do conjunto inteiro
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `get_hospitalization_trends` (~165 tokens)

Séries temporais de internações

Retorna séries temporais de internações (mensal ou anual). Útil para análise de tendências e sazonalidade. Série desde 1992; em 1992–1997 `uf` é a UF do arquivo (estabelecimento) e as internações sem data na fonte (1992-01..04 e 1993-01) entram no mês de faturamento — ver get_available_years e as `notes`.

Input parameters:

- `cid_chapter` (integer): Capítulo CID-10 específico
- `granularity` (string): Granularidade temporal (default: yearly)
- `uf` (array): UFs para filtrar
- `year_end` (integer, required): Ano final
- `year_start` (integer, required): Ano inicial

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `data` (array): Sempre vazio: só aparece no caminho de erro-mole do funil
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `granularity`: Grão da série
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `period` (object): Intervalo pedido
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `series` (array): Um ponto por ano ou por mês, em ordem cronológica
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `compare_regions` (~154 tokens)

Comparação entre UFs e regiões

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`.

Input parameters:

- `cid_chapter` (integer): Capítulo CID-10 específico
- `compare_by` (string): Comparar por UF ou região (default: uf)
- `is_csap` (boolean): Filtrar apenas CSAP
- `limit` (integer): Número de resultados (default: 10)
- `metric` (string): Métrica para ranking (default: n)
- `year` (array): Anos para consultar

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `compare_by`: Eixo da comparação (hoje ambos agrupam por UF)
- `data` (array): Sempre vazio: só aparece no caminho de erro-mole do funil
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `metric`: Métrica que ordena o ranking
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `ranking` (array): Ranking em ordem decrescente da métrica
- `total_locations` (number): Quantas localidades no ranking
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `get_icsap` (~449 tokens)

Internações por condições sensíveis (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 ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+), `uf` é a UF do arquivo e `municipality_code` é nulo — ver get_available_years (icsap_list_revision, uf_basis) e as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.

Input parameters:

- `age_max` (integer): Idade máxima
- `age_min` (integer): Idade mínima
- `csap_group` (array): Grupos CSAP (ex: ['g01', 'g05'])
- `group_by` (array): Dimensões para agrupamento
- `municipality_code` (string): Código IBGE do município (6 dígitos)
- `race` (array): Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos.
- `sex` (string): Filtrar por sexo
- `uf` (array): UFs para filtrar
- `universe` (string): Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote…
- `year` (array): Anos para consultar

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `data` (array): Linhas agrupadas (vazio no caminho de erro-mole)
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `filters_applied` (object): Os argumentos recebidos, ecoados
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem
- `summary` (object): Totais do recorte inteiro, calculados sem agrupamento
- `truncated` (object): Presente só quando `data` foi truncado no teto de linhas; os totais em `summary` são do conjunto inteiro
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `get_icsap_indicators` (~330 tokens)

Indicadores de ICSAP

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ão oficial (g03 e g05 não comparáveis com 1998+) e `uf` é a UF do arquivo — ver as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.

Input parameters:

- `age_max` (integer): Idade máxima
- `age_min` (integer): Idade mínima
- `group_by` (array): Dimensões para agrupamento
- `municipality_code` (string): Código IBGE do município
- `sex` (string): Filtrar por sexo
- `uf` (array): UFs para calcular
- `universe` (string): Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote…
- `year` (array): Anos para calcular

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `data` (array): Um estrato por linha (vazio no caminho de erro-mole)
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `indicators_calculated` (array): Indicadores presentes nas linhas (icsap_percentage)
- `note` (string): Fórmula do indicador — ou, no caminho de erro-mole, como obter o dado
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem
- `truncated` (object): Presente só quando `data` foi truncado no teto de linhas; os totais em `summary` são do conjunto inteiro
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `rank_csap_groups` (~289 tokens)

Ranking dos grupos CSAP

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 `notes`. Universo do pacote R csapAIH por padrão (`universe`): fora as internações por procedimento obstétrico, parto e longa permanência.

Input parameters:

- `age_max` (integer): Idade máxima
- `age_min` (integer): Idade mínima
- `limit` (integer): Número de grupos no ranking (default: 19)
- `metric` (string): Métrica para ranking (default: n)
- `sex` (string): Filtrar por sexo
- `uf` (array): UFs para filtrar
- `universe` (string): Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote…
- `year` (array): Anos para consultar

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `concentration` (object)
- `data` (array): Sempre vazio: só aparece no caminho de erro-mole do funil
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `metric`: Métrica que ordena
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem
- `ranking` (array): Ranking em ordem decrescente da métrica
- `total_groups` (number): Quantos grupos no ranking
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `classify_as_csap` (~118 tokens)

Classificar CID-10 como CSAP

Classifica um ou mais códigos CID-10 como CSAP ou não. Retorna o grupo CSAP correspondente se aplicável. Só CID-10: os códigos CID-9 de 6 dígitos do SIH de 1992–1997 são classificados no build pela lista derivada (src/data/csap-groups-cid9.json), não por esta ferramenta.

Input parameters:

- `cid_codes` (array, required): Códigos CID-10 para classificar (ex: ['J18', 'A09', 'K35'])

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `classifications` (array): Uma entrada por código, na ordem informada
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `summary` (object)

### `get_hospitalization_rates` (~314 tokens)

Taxas de internação por população

Calcula taxas de internação por população (por 100.000 habitantes, configurável). Denominador lido de dois arquivos, informados em get_available_years.population_years: projeções do IBGE por idade simples de 2000 em diante (pop_uf.parquet) e, de 1991 a 1999, população por faixa etária quinquenal somada dos municípios (pop_uf_agregado.parquet) — antes de 2000 o recorte por idade só vale nos limites das faixas (age_min múltiplo de 5, age_max terminado em 4 ou 9, ou 80+). A resposta diz qual arquivo serviu a cada ano (population_source) e avisa quando mistura os dois.

Input parameters:

- `age_max` (integer): Idade máxima
- `age_min` (integer): Idade mínima
- `cid_chapter` (array): Capítulos CID-10 (1-22)
- `group_by` (array): Dimensões para agrupamento
- `is_csap` (boolean): Filtrar apenas CSAP
- `rate_per` (integer): Taxa por X habitantes (default: 100000)
- `rate_type` (string): Tipo de taxa: crude (bruta) ou specific (específica por filtro)
- `sex` (string): Filtrar por sexo
- `uf` (array): UFs para filtrar
- `year` (array): Anos para calcular

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `data` (array): Um estrato por linha (vazio quando não há internação no recorte)
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `metadata` (object)
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `population_years` (object): Cobertura dos arquivos de população por UF: o que as ferramentas de taxa aceitam
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem
- `summary` (object)
- `truncated` (object): Presente só quando `data` foi truncado no teto de linhas; os totais em `summary` são do conjunto inteiro
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

### `compare_icsap_trends` (~362 tokens)

Tendências comparativas de ICSAP

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_years.population_years. 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 `uf` é a UF do arquivo — ver as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.

Input parameters:

- `compare_by` (string): Comparar por UF ou grupo CSAP
- `compare_values` (array): Valores específicos para comparar (UFs ou grupos CSAP)
- `end_year` (integer, required): Ano final
- `include_trend_line` (boolean): Incluir análise de tendência linear (default: true)
- `indicator` (string): Indicador: percentage (% ICSAP), count (número), rate_per_10k (taxa)
- `start_year` (integer, required): Ano inicial
- `universe` (string): Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote…

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `available_sih_years` (array): Anos com dados SIH atendíveis por este servidor
- `compare_by` (string): Eixo comparado: uf, csap_group ou total (sem eixo)
- `data` (array): Sempre vazio: só aparece no caminho de erro-mole do funil
- `error` (string): Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)
- `indicator`: Indicador das séries
- `note` (string): Como obter o dado (por exemplo, consultar get_available_years)
- `notes` (array): Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento
- `period` (object)
- `population_years` (object): Cobertura populacional; só no erro-mole de `rate_per_10k` fora do intervalo
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem
- `series` (array): Pontos em ordem cronológica
- `summary` (object)
- `trends` (object): Tendência por valor comparado; só com `include_trend_line` e ao menos dois anos — ausente quando desligada
- `years_not_available` (object): Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp#diagnostics

## Score history

- 2026-09-20: 84
- 2026-09-19: 83
- 2026-09-18: 83
- 2026-09-17: 83
- 2026-09-16: 82
- 2026-09-15: 82
- 2026-09-14: 55
- 2026-09-13: 55
- 2026-09-12: 70
- 2026-09-11: 54
- 2026-09-10: 43
- 2026-09-09: 57

## Common questions

### What is the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP is listed in the public MCP registry as io.github.SidneyBissoli/sih-br-mcp. DATASUS SIH/SUS hospital admissions in Brazil (AIH, 1992-2025): ICD-10 causes, ICSAP, rates. This page covers its npm package (sih-br-mcp).

### Is the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server safe to use?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server expose?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP exposes 12 tools: list_csap_groups, list_cid_chapters, get_available_years, get_hospitalizations, get_hospitalization_trends, and 7 more. Their descriptions and schemas cost roughly 3,055 tokens of context every time the server is loaded.

### Is the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server still maintained?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP server under?

DATASUS SIH/SUS — Brazil Hospital Admissions (AIH) MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/sih-br-mcp
- Socket report: https://socket.dev/npm/package/sih-br-mcp
- Repository: https://github.com/SidneyBissoli/sih-br-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp.json
- HTML version of this page: https://verifymcp.io/servers/sidneybissoli-sih-br-mcp/sih-br-mcp
