Projeto IA.med Licença Apache-2.0 100% local

anvisa-mcp

Servidor MCP para consulta regulatória da Anvisa, conectável a modelos de linguagem que rodam na sua própria máquina.

O problema

Por que este projeto existe

Dado público, mas fragmentado

O registro sanitário no Brasil é público, porém espalhado em consultas separadas e pouco acessível de forma programática. Cruzar situação de registro, validade e empresa dá trabalho manual.

SaMD com IA não é um campo do registro

Software as a Medical Device que usa inteligência artificial não tem, no registro, um campo estruturado dizendo que usa IA. Saber quais dispositivos empregam IA hoje exige ler a documentação um a um.

Agentes locais não têm essa ponte

Um modelo de linguagem rodando na sua máquina não consegue, sozinho, consultar essas bases. Falta uma camada que exponha essas buscas como ferramentas que o modelo possa chamar.

Como funciona

Quatro camadas, do dado bruto ao agente

  1. 01

    Dados

    Consulta às bases públicas de registro da Anvisa (medicamentos e dispositivos).

  2. 02

    Armazenamento

    Os dados coletados ficam em armazenamento local, prontos para consulta rápida.

  3. 03

    Classificação

    Um modelo de linguagem classifica, de forma heurística, se um dispositivo parece ser SaMD com IA.

  4. 04

    Ferramentas MCP

    As consultas são expostas como tools MCP, que qualquer modelo compatível chama localmente.

A classificação de SaMD com IA é heurística, gerada por um modelo de linguagem. Ela ajuda a triagem, mas não é um fato regulatório oficial e não substitui a consulta direta ao registro na Anvisa.

As ferramentas

Duas tools MCP expostas ao modelo

O modelo chama estas funções durante a conversa. Os retornos abaixo são exemplos do formato; o esquema final segue a implementação do projeto.

consultar_status_medicamento

Consulta a situação de registro de um medicamento por nome ou número de registro: se está válido, a validade e a empresa detentora.

consultar_status_medicamento(termo: str) -> dict
{
  "termo": "dipirona monoidratada",
  "resultados": [
    {
      "produto": "DIPIRONA MONOIDRATADA",
      "registro": "1.2345.6789",
      "situacao": "válido",
      "vencimento": "2028-05-31",
      "empresa": "Laboratório Exemplo S.A."
    }
  ],
  "fonte": "Anvisa, consulta pública"
}
Exemplo de retorno

buscar_samd_recentes

Lista dispositivos (SaMD) publicados num período recente, sinalizando os que provavelmente usam IA segundo a classificação heurística.

buscar_samd_recentes(dias: int = 30, com_ia: bool = True) -> list[dict]
[
  {
    "produto": "Sistema de apoio a diagnóstico por imagem",
    "registro": "8.0000.1111",
    "publicado_em": "2026-09-02",
    "ia_provavel": true,
    "confianca": "média",
    "observacao": "classificação heurística, confirmar no registro"
  }
]
Exemplo de retorno

Como rodar

Roda na sua máquina

Não é um serviço hospedado. Você clona o repositório, aponta para o seu modelo local e o servidor MCP roda ali, no seu computador.

# 1. clonar o repositório
git clone https://github.com/fabianofilho/anvisa-mcp.git
cd anvisa-mcp

# 2. instalar as dependências (ver README do projeto)
#    ex.: uv sync   (ou pip install -e .)

# 3. configurar o ambiente
cp .env.example .env
#    aponte o .env para o seu modelo de linguagem local

# 4. rodar o servidor MCP
#    ver o comando exato no README do projeto
Os comandos exatos de instalar e rodar seguem o README do projeto.

Tudo acontece localmente. O servidor consulta as bases públicas da Anvisa e conversa com o seu modelo na própria máquina; nenhum dado seu é enviado a terceiros por esta ferramenta.