Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
QWEN_MODELNoModel name to use with the LLM.local-model
DUCKDB_PATHNoPath to the local DuckDB database file../data/anvisa.duckdb
QWEN_ENDPOINTNoEndpoint for the OpenAI-compatible LLM API (llama.cpp, Ollama, LM Studio).http://127.0.0.1:8080/v1
SYNC_HORA_LOCALNoScheduled local time for the sync.03:20
QWEN_TIMEOUT_SEGUNDOSNoTimeout in seconds for LLM calls.120

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
consultar_status_medicamentoA

Consulta o status do registro de um medicamento na Anvisa.

Busca por nome comercial, princípio ativo ou número de registro e devolve os registros que casam, com situação ('Ativo' ou 'Inativo', como o arquivo aberto da Anvisa publica), número de registro, data de vencimento do registro, empresa detentora e categoria.

Um princípio ativo comum tem centenas de registros, um por detentor e apresentação: "dipirona" casa com 557. A resposta traz total (quantos casam na base inteira) e retornados (quantos vieram aqui). Quando truncado é True, não conte os resultados para dizer quantos existem, use total.

coletado_em diz quando a base foi atualizada pela última vez a partir do arquivo da Anvisa; acima de 48 horas a resposta traz aviso.

Termo sem correspondência devolve lista vazia. Só quando a base local não existe, está vazia ou não pôde ser aberta a resposta vem com dados de exemplo e fonte='mock': nesse caso, não trate como informação regulatória.

Args: termo: nome comercial ou princípio ativo (trecho, sem precisar de acento), ex.: "dipirona", ou número de registro, com ou sem pontos, ex.: "1.0582.0010". O número de 13 dígitos da apresentação também serve. limite: quantos registros trazer, de 1 a 200. Aumente para ver além dos primeiros.

buscar_samd_recentesA

Lista dispositivos médicos Classe III/IV registrados recentemente na Anvisa.

Cada registro traz um veredito sobre uso de IA ou aprendizado de máquina. A Anvisa não publica esse campo: a classificação é heurística, feita por um LLM local lendo o texto do registro, e cada item traz confiança, justificativa e origem do veredito. Não apresente o veredito como fato regulatório.

O servidor não grava vereditos. No modo connector ele nem chama o LLM: serve só o que a coleta diária já classificou (no deploy oficial, os registros dos últimos 10 anos que passam no filtro de software). O que não está no cache vem com origem='nao_classificado', que quer dizer "não se sabe", não "sem IA". coletado_em diz quando a base foi atualizada pela última vez.

Args: dias: tamanho da janela, em dias, a contar de hoje (1 a 3650). apenas_com_ia: quando True, devolve só os classificados como usando IA. limite: quantos registros analisar nesta chamada (1 a 200), dos mais recentes para trás. Com truncado=true na resposta, sobraram registros no período que nem foram olhados: a contagem da lista não serve para dizer quantos existem. apenas_software: quando True, analisa só registros cujo texto sugere software. SaMD é raro no registro (13 de 1.832 registros Classe III/IV do último ano mencionam software), então sem esse filtro a busca gasta as chamadas de LLM em cânulas e parafusos. Desligue para varrer tudo, ao custo de ser lento.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are clearly separated by target entity: one queries medicine registrations, the other lists recent Class III/IV medical devices with AI classification. There is no functional overlap or plausible confusion between them.

Naming Consistency5/5

Both tool names follow a consistent Portuguese snake_case verb-first pattern: 'consultar_' and 'buscar_'. The structure is predictable and matches the action each tool performs.

Tool Count3/5

With only two tools, the server feels thin for a domain as broad as Anvisa regulatory data. The tools are meaningful and well-scoped, but the count sits at the low end of the borderline range.

Completeness2/5

The server covers only two narrow queries: medicine status lookup and recent device listings. It lacks many obvious operations for a regulatory database, such as querying devices by name/registration, retrieving full registration details, or tracking changes over time.

Maintenance

ActivityMaintained
ResponsivenessNo issues