Skip to main content
Glama

mcp-saude-brasil

Servidor MCP de dados abertos de saúde bucal do Brasil (Conselho Federal de Odontologia) — com o que cada base não responde declarado na resposta.

Três tools que não mentem, em vez de trinta que não sabem.


O problema que este servidor resolve

O CFO publica quantos dentistas, clínicas e laboratórios existem por UF e por localidade. A primeira soma costuma dar errado em silêncio:

Cada CRO lista também dentistas inscritos nele com endereço em outra UF (o CRO-SP lista 2.227 assim). Somar a lista de um CRO como se fosse a UF, ou usar UF + cidade como chave sem o CRO, sobrescreve linhas e apaga metade dos dados sem erro — 240 mil dentistas em vez de 472 mil.

Este servidor guarda o CRO de inscrição em cada linha e agrega pelo município do endereço (código IBGE), somando todos os CROs.

E declara o que não responde: o CNES não serve para contar consultórios odontológicos — "consultório isolado" reúne todas as profissões de saúde e não há campo que marque odontologia. Este servidor não finge que serve.

Related MCP server: Conselho Regional de Odontologia AL: Cadastro

A garantia

Toda resposta segue o phi-data-contract v0.1: data + provenance (fonte e data de coleta)

  • caveats (os defeitos que se aplicam àquela consulta, com evidência e data de verificação) + cannot_answer (o que a pergunta pediu e a fonte não responde).

Instalação

Requer Node ≥ 22.5 (SQLite embutido — zero dependências nativas).

npm install && npm run build
npm run db:build        # lê as estatísticas públicas do CFO (1 GET + 27 POST) e monta o SQLite

Nada é redistribuído — a base é construída na sua máquina, sempre da fonte.

{
  "mcpServers": {
    "saude": {
      "command": "node",
      "args": ["--experimental-sqlite", "/caminho/mcp-saude-brasil/dist/index.js"],
      "env": { "SAUDE_LANG": "pt" }
    }
  }
}

As tools

Tool

O que faz

saude_dentistas_municipio

Cirurgiões-dentistas ativos por município do endereço, somando todos os CROs. Aceita código IBGE de 7 ou DATASUS de 6 dígitos, ou uma UF inteira. Informa quantos são inscritos em outro CRO.

saude_uf

Todas as categorias do CFO por UF: dentistas (CD), clínicas registradas no CRO (EPAO), laboratórios de prótese (LB), técnicos e auxiliares (TPD, TSB, ASB, APD), empresas de produtos odontológicos (ECIPO).

saude_data_caveats

As armadilhas conhecidas, com evidência, mais o relatório do build (localidades não casadas, casadas por aproximação, divergência município × UF).

Os caveats

id

Severidade

Corrigido?

cro_inscricao_nao_e_endereco

crítico

✅ CRO na chave; agregação pelo endereço

cnes_sem_marca_odontologica

crítico

— declarado; o servidor não usa o CNES para isso

soma_municipal_menor_que_uf

aviso

— Brasil: 472.500 na soma municipal vs 473.588 no total por UF

inscrito_nao_e_atuante

aviso

— é densidade de inscrições, não censo de consultórios

distritos_e_grafias

info

✅ distritos somados ao município-sede; grafias casadas por aproximação na mesma UF

Fontes

CFO — Quantidade geral de entidades e profissionais ativos e Dados estatísticos por localidade. IBGE — API de Localidades (código de município).

npm test

MIT · Autor: Luis Delfin · parte da rede de servidores MCP de dados públicos de Phi AI


English

MCP server for Brazil's open dental-health data (Federal Council of Dentistry, CFO) — with what each source cannot answer declared in the response.

The problem

Each regional council (CRO) also lists dentists registered with it but addressed in another state. Summing a CRO list as if it were the state, or keying by state + city without the CRO, overwrites rows and silently wipes half the data (240k dentists instead of 472k). This server keeps the registering CRO on every row and aggregates by the address municipality (IBGE code) across all CROs.

It also states what it won't do: CNES cannot count dental practices — its "isolated practice" type groups every health profession and no field flags dentistry.

Guarantee

Every response follows phi-data-contract v0.1: data + provenance + caveats (with evidence and verification date) + cannot_answer.

Install

Node ≥ 22.5. npm install && npm run build && npm run db:build. Nothing is redistributed — the database is built on your machine from the source. Set SAUDE_LANG=en for English caveats.

Tools

  • saude_dentistas_municipio — active dentists by address municipality (IBGE 7-digit or DATASUS 6-digit code, or a whole state).

  • saude_uf — every CFO category by state (dentists, CRO-registered clinics, prosthesis labs, technicians, dental-product companies).

  • saude_data_caveats — known pitfalls with evidence, plus the build report.

MIT · Author: Luis Delfin · part of Phi AI's network of public-data MCP servers.

Available Tools

3 tools
saude_data_caveatsC

As armadilhas do CFO (e por que o CNES não serve para contar consultórios odontológicos), com evidência, mais o relatório do build.

Inputs: id.

saude_dentistas_municipioA

Cirurgiões-dentistas com inscrição ativa no CFO por município do endereço (código IBGE de 7 ou DATASUS de 6 dígitos), somando todos os CROs. Aceita também uma UF inteira.

Inputs: uf, municipios.

saude_ufB

Todas as categorias do CFO por UF: cirurgiões-dentistas, clínicas registradas no CRO (EPAO), laboratórios de prótese (LB), técnicos e auxiliares, empresas de produtos odontológicos (ECIPO).

Inputs: uf.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: one for municipality-level dentist counts, one for UF-level all categories, and one for data caveats/explanation. There is no overlap or ambiguity between them.

    Naming Consistency4/5

    All tool names share the 'saude_' prefix and use lowercase snake_case, which is consistent. 'saude_uf' is slightly terser than the others, but the pattern is still predictable and readable.

    Tool Count4/5

    Three tools is a reasonable count for a narrowly focused server on Brazilian dental data. Each tool serves a distinct purpose, though one is more informational than a data query.

    Completeness3/5

    The server covers municipality-level dentists and UF-level all categories, but lacks municipality-level data for other categories (e.g., clinics, labs) and national-level aggregates. The caveats tool adds context but does not fill these data gaps.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying health establishment data from the Brazilian Federal Council of Medicine (CFM), providing read-only access to official information.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Read-only MCP server for querying official dental registration data from the Regional Council of Dentistry of Alagoas (Brazil). It provides a single tool to consult professional records via a hosted HTTP endpoint with prepaid credits.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides read-only access to official dentistry registration data from the Paraíba Regional Council of Dentistry (CRO-PB) via a hosted, pay-per-use MCP API.
      MIT