
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@mcpassure/mcp-cnes
Advanced tools
MCP server para consulta ao CNES — Cadastro Nacional de Estabelecimentos de Saúde
🇧🇷 Português (BR) · 🇺🇸 English
MCP server para consulta ao CNES — Cadastro Nacional de Estabelecimentos de Saúde
Permite que agentes de IA (Claude, GPT, Copilot, etc.) consultem dados oficiais do CNES/DATASUS: estabelecimentos de saúde, leitos, equipamentos, profissionais e serviços especializados em todos os ~5.570 municípios brasileiros.
Aviso: Os dados refletem o cadastro CNES do mês de referência da última sincronização e podem não corresponder à realidade operacional atual do estabelecimento. Execute
mcp-cnes syncpara atualizar.
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"cnes": {
"command": "npx",
"args": ["-y", "@mcpassure/mcp-cnes"]
}
}
}
npx -y @mcpassure/mcp-cnes
| Tool | Descrição | Input principal |
|---|---|---|
buscar_por_codigo_cnes | Estabelecimento pelo código CNES (7 dígitos) | codigoCnes |
buscar_por_nome | Busca por nome fantasia ou razão social | nome, uf? |
buscar_por_municipio | Lista estabelecimentos de um município IBGE | codigoIbge, tipo? |
buscar_por_tipo | Filtra por tipo (hospital, UBS, UPA, etc.) | tipo, uf? |
listar_profissionais | Profissionais vinculados a um estabelecimento | codigoCnes |
listar_leitos | Leitos por tipo (UTI adulto/pediátrico/neonatal, clínico, etc.) | codigoCnes |
listar_equipamentos | Equipamentos cadastrados no estabelecimento | codigoCnes |
listar_servicos | Serviços especializados oferecidos | codigoCnes |
Todas as tools retornam structuredContent com schema validável.
Prompts MCP estruturados para análise de dados CNES:
| Prompt | Descrição | Parâmetros principais |
|---|---|---|
perfil_estabelecimento | Consolida perfil completo de um estabelecimento | codigo_cnes, flags de seções |
mapear_rede_municipio | Mapeia rede de saúde de um município | municipio (código IBGE), uf?, tipo? |
analisar_cobertura_uf | Analisa cobertura de estabelecimentos por UF | uf, agrupar_por |
Resources MCP com dados de referência do domínio CNES:
| URI | MIME | Conteúdo |
|---|---|---|
cnes://tipos_estabelecimento | application/json | Taxonomia oficial de tipos com código e descrição |
cnes://categorias_servicos | application/json | Categorias de serviços especializados |
cnes://scope | text/markdown | Escopo do MCP, limitações e disclaimer (PT/EN) |
🚧 Demo GIF em breve.
Os dados vêm do FTP DATASUS (fonte oficial). Para sincronizar:
# Requer: blast (conversor DBC proprietário DATASUS)
# macOS: brew install blast-datasus
# Ubuntu: apt install blast
# Windows: ver documentação
# Sincronizar São Paulo (ST, LT, EQ, PF, SR)
npx @mcpassure/mcp-cnes sync --uf SP --grupos ST,LT,EQ,PF,SR
# Sincronizar todos os estados (operação longa, ~30min por estado)
npx @mcpassure/mcp-cnes sync
# Forçar re-download mesmo se já sincronizado
npx @mcpassure/mcp-cnes sync --uf SP --force
Sem sincronização, as tools de leitos/equipamentos/profissionais/serviços retornam aviso de "dataset não sincronizado". A tool buscar_por_codigo_cnes usa fallback online (REST API Mapa da Saúde/TCU).
Mapeamento de rede assistencial:
"Quais hospitais com UTI adulto existem em Campinas/SP?" →
buscar_por_municipio("350950", "hospital")+listar_leitospor estabelecimento
Capacidade de leitos UTI por região:
"Qual a capacidade de UTI neonatal nos hospitais de Recife/PE?" →
buscar_por_municipio("261160", "hospital")+listar_leitosfiltrando UTI neonatal
Identificação de equipamentos:
"Quais estabelecimentos têm ressonância magnética em Fortaleza/CE?" →
buscar_por_municipio("230440")+listar_equipamentospor estabelecimento
Verificação de estabelecimento:
"O CNES 2077485 é ativo? Que serviços oferece?" →
buscar_por_codigo_cnes("2077485")+listar_servicos("2077485")
Os dados de profissionais cadastrados no CNES são públicos e incluem nome, CBO (Classificação Brasileira de Ocupações) e tipo de vínculo. CPFs são sempre mascarados na resposta.
Uso responsável: Estes dados não devem ser usados para identificar pacientes ou para fins que violem a privacidade dos profissionais além do contexto assistencial para o qual foram publicados.
Por padrão, CPFs de profissionais são mascarados no formato ***.***.XXX-**, preservando apenas os dígitos 7–9. Este é o comportamento padrão (privacy-first).
Para ambientes internos que necessitem do CPF completo (ex: auditoria, reconciliação de cadastro):
MCPASSURE_LGPD_ALLOW_PII=cnes npx @mcpassure/mcp-cnes
Ou no claude_desktop_config.json:
{
"mcpServers": {
"cnes": {
"command": "npx",
"args": ["-y", "@mcpassure/mcp-cnes"],
"env": {
"MCPASSURE_LGPD_ALLOW_PII": "cnes"
}
}
}
}
Atenção: Ao habilitar MCPASSURE_LGPD_ALLOW_PII=cnes, certifique-se de que o ambiente de execução tem controles de acesso adequados e que o uso está em conformidade com a LGPD (Lei 13.709/2018).
Este é parte do catálogo MCPAssure Brasil, que disponibiliza MCPs de qualidade para o ecossistema de saúde brasileiro:
git clone https://github.com/mcpassure/monorepo
cd monorepo
pnpm install
pnpm --filter @mcpassure/mcp-cnes dev # servidor MCP em modo desenvolvimento
pnpm --filter @mcpassure/mcp-cnes test # testes unitários e de integração
pnpm --filter @mcpassure/mcp-cnes lint # lint + format check
pnpm --filter @mcpassure/mcp-cnes typecheck # verificação de tipos
Veja CONTRIBUTING.md para guia de contribuição.
Avaliação contra o framework SAFE-MCP (OpenSSF + LF + OpenID Foundation).
| ID | Ataque | Status | Como mitigamos |
|---|---|---|---|
| SAFE-T001 | Tool Poisoning | ✓ Mitigado | Schema Zod estrito em todos os inputs; parâmetros tipados |
| SAFE-T002 | Indirect Prompt Injection | ✓ Mitigado | structuredContent separado do texto livre; dados do DATASUS não contêm markup |
| SAFE-T003 | Credential exposure | ✓ Mitigado | Credenciais R2 apenas em Worker server-side; client não armazena secrets |
| SAFE-T004 | PII leakage | ✓ Mitigado | CPF mascarado por padrão (privacy-first); opt-in explícito para PII |
| SAFE-T005 | Resource exhaustion | ✓ Mitigado | Cache SQLite local, sem requests em runtime ao FTP DATASUS |
| ID | Ataque | Por que não mitigado |
|---|---|---|
| SAFE-T010 | Supply-chain attack | pnpm audit + Renovate; sem SBOM gerado ainda |
| SAFE-T011 | LGPD violation por misconfiguration | MCPASSURE_LGPD_ALLOW_PII=cnes requer configuração consciente do usuário |
Conclusão: Fator #1 é parcial e gerenciado — não completa o trifecta. CNES é o MCP com maior atenção à privacidade da suíte MCPAssure.
FAQs
MCP server para consulta ao CNES — Cadastro Nacional de Estabelecimentos de Saúde
The npm package @mcpassure/mcp-cnes receives a total of 115 weekly downloads. As such, @mcpassure/mcp-cnes popularity was classified as not popular.
We found that @mcpassure/mcp-cnes demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.