🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@mcpassure/mcp-anvisa-bulario

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mcpassure/mcp-anvisa-bulario

MCP server para consulta do Bulário Eletrônico da ANVISA via CSV oficial

latest
Source
npmnpm
Version
2.1.10
Version published
Maintainers
1
Created
Source

🇧🇷 Português (BR) · 🇺🇸 English

@mcpassure/mcp-anvisa-bulario

Catálogo MCPAssure — Onda 1 — MCP server para consulta ao Bulário Eletrônico da ANVISA.

Permite que agentes de IA (Claude, GPT, Copilot) consultem bulas, princípios ativos, classes terapêuticas e demais metadados de medicamentos registrados no Brasil com resposta estruturada e cache eficiente.

npm License: MIT OSSF Scorecard SAFE-MCP

Instalação rápida

npx -y @mcpassure/mcp-anvisa-bulario

Na primeira instalação, o postinstall baixa o Chromium do Playwright (~150MB). Isso é requerido pelo transport HTTP (ver Requisitos).

Claude Desktop

Adicione ao claude_desktop_config.json:

{
  "mcpServers": {
    "anvisa-bulario": {
      "command": "npx",
      "args": ["-y", "@mcpassure/mcp-anvisa-bulario"]
    }
  }
}

VS Code / Claude Code

{
  "mcp": {
    "servers": {
      "anvisa-bulario": {
        "command": "npx",
        "args": ["-y", "@mcpassure/mcp-anvisa-bulario"]
      }
    }
  }
}

Tools disponíveis

ToolDescrição
buscar_por_nomeBusca por nome comercial do medicamento
buscar_por_principio_ativoBusca por DCB/DCI (princípio ativo)
buscar_por_classe_terapeuticaBusca por classe terapêutica
filtrar_por_tarjaLista medicamentos por tipo de tarja (LIVRE, VERMELHA, PRETA)
consultar_bulaRetorna dados completos + links da bula (PDF)
listar_apresentacoesLista apresentações/embalagens de um medicamento

Prompts disponíveis

PromptDescrição
verificar_medicamento_completoConsolida nome, princípio ativo, classe, tarja, apresentações e (opcional) bula para um termo de busca
comparar_tarjas_por_classeAgrupa medicamentos de uma classe terapêutica por tarja regulatória
analisar_apresentacoesAgrupa apresentações de um medicamento por concentração, forma farmacêutica ou fabricante

Resources disponíveis

URITipoDescrição
bulario://tarjasapplication/jsonTaxonomia regulatória de tarjas (RDC 357/2020, Portaria 344/98)
bulario://classes_terapeuticasapplication/jsonLista das principais classes terapêuticas indexadas
bulario://scopetext/markdownEscopo do MCP (PT/EN), o que faz/não faz, disclaimer regulatório

Demo

🚧 Demo GIF em breve.

Variáveis de ambiente

VariávelPadrãoDescrição
MCPASSURE_CACHE_PATH~/.cache/mcpassure-anvisa/cache.dbCaminho do banco SQLite de cache
MCPASSURE_MAX_RETRIES3Tentativas em caso de falha da API
MCPASSURE_BASE_DELAY_MS1000Delay base para backoff exponencial (ms)
MCPASSURE_REQUEST_TIMEOUT_MS10000Timeout de requisição HTTP (ms)
MCPASSURE_ANVISA_BASE_URLhttps://consultas.anvisa.gov.brBase URL da API ANVISA
MCPASSURE_DEGRADED_THRESHOLD_DAYS30Dias após os quais dados são considerados degradados
MCPASSURE_STATUS_HEARTBEATfalseHabilita heartbeat para status page
MCPASSURE_STATUS_PAGE_URLhttps://status.mcpassure.com.br/api/v1/heartbeat/anvisa-bularioURL do heartbeat

Requisitos

  • Node.js >= 22.0.0
  • Chromium do Playwright (~150MB) — instalado automaticamente pelo postinstall. Requerido porque a API ANVISA está atrás de Cloudflare desde 2026, bloqueando fetch nativo do Node. Ver DIAGNOSTICO_ANVISA_CLOUDFLARE_2026-05-13.md para detalhes técnicos.
  • +150-250MB de RAM em runtime (Chromium em background quando o MCP estiver ativo). Primeira chamada tem ~2-3s de overhead (boot do Chromium
    • warm-up). Chamadas subsequentes: ~100-300ms.

Se o postinstall do Chromium falhar (firewall, política corporativa, etc.), rode manualmente:

npx playwright install chromium

Desenvolvimento

nvm use            # usa Node 22 conforme .nvmrc
npm install        # instala deps e baixa Chromium do Playwright

# Rodar em modo dev (stdio)
npm run dev

# Validar
npm run typecheck
npm run lint
npm run test
npm run test:integration:offline
npm run canary

Arquitetura

  • SQLite local (better-sqlite3) como cache primário com TTL 24h
  • Source pattern com cascata de fontes: anvisa-apianvisa-dados-abertos (v1.1+) → anvisa-portal (v1.2+)
  • Repository pattern desacoplando domínio das fontes
  • HTTP transport via Playwright — Chromium real (headless) com UA limpo e mascaramento de webdriver. Browser singleton lazy-initialized, page reutilizada entre requests. Necessário para contornar a barreira Cloudflare da ANVISA (ver diagnóstico).
  • Status page hook opcional via MCPASSURE_STATUS_HEARTBEAT
  • Canário diário valida acessibilidade e padrões da fonte oficial

⚠️ Disclaimer médico

Este servidor MCP é uma fonte de consulta farmacêutica baseada em dados públicos da ANVISA. Não substitui avaliação, diagnóstico ou prescrição por profissional de saúde habilitado. Informações sobre medicamentos devem ser utilizadas com acompanhamento profissional.

Os dados são provenientes do Bulário Eletrônico da ANVISA (consultas.anvisa.gov.br), que é fonte pública oficial. Este servidor não armazena dados pessoais e não processa PHI/PII em nenhum momento.

Dependências

Esta versão usa versões correntes (auditadas em 2026-05-13). Para histórico ou exceções, ver DEPS.md.

Auditoria automática roda toda segunda às 09:00 UTC (deps-audit workflow).

Licença

MIT — veja LICENSE

Mantido pela MCPAssure Brasil. Consulte CONTRIBUTING.md, SECURITY.md e CODE_OF_CONDUCT.md.

Parte do catálogo MCPAssure — exemplos de curadoria de MCPs para saúde brasileira.

SAFE-MCP Mapping

Avaliação contra o framework SAFE-MCP (OpenSSF + LF + OpenID Foundation).

Ataques mitigados

IDAtaqueStatusComo mitigamos
SAFE-T001Tool Poisoning✓ MitigadoSchema Zod estrito; nomes de medicamentos validados antes de consultar banco
SAFE-T002Indirect Prompt Injection✓ MitigadoOutput estruturado (structuredContent); conteúdo ANVISA é tabular, sem markup executável
SAFE-T003Credential exposure✓ MitigadoDados públicos ANVISA sem autenticação; R2 apenas em Worker server-side
SAFE-T004Data exfiltration✓ MitigadoRead-only sobre dados públicos de medicamentos; sem acesso a dados de usuário
SAFE-T005Resource exhaustion✓ MitigadoCache SQLite local (18MB); canary usa HEAD request ou download único de header

Ataques NÃO mitigados (declaração honesta)

IDAtaquePor que não mitigado
SAFE-T010Supply-chain attack via npmpnpm audit + Renovate; sem SBOM gerado ainda
SAFE-T015Side-channel timing analysisNão relevante para dados públicos tabelados de medicamentos

Lethal Trifecta Declaration (Willison, 2025)

  • Acesso a dados privados — ✗ Ausente. Bulário ANVISA é integralmente público; nenhum dado de paciente é acessado.
  • Exposição a conteúdo não-confiável — ⚠ Parcial. Inputs validados por Zod; dados ANVISA são governamentais.
  • Capacidade de comunicação externa — ✗ Ausente. MCP opera sobre banco SQLite local; sem chamadas em runtime.

Conclusão: este MCP não combina os 3 fatores simultaneamente. Arquitetura local-first elimina o fator de comunicação externa.

Keywords

mcp

FAQs

Package last updated on 16 May 2026

Did you know?

Socket

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.

Install

Related posts