Skip to main content
Glama

consultar_resolucao_cfm

Find Brazilian Federal Council of Medicine resolutions on a topic, with validity status and source links, to support accurate medical regulation research.

Instructions

Consulta resoluções do CFM relacionadas a um tema.

Devolve as resoluções mais relevantes, com número, ano, data, ementa, o trecho em volta do termo buscado e sempre a URL de origem. Resoluções revogadas vêm com vigente=false e o número da que as substituiu.

A resposta traz total (quantas casam na base) e retornados (quantas vieram). Com truncado=true, não conclua "só existem N resoluções sobre isso": aumente limite.

trecho_relevante=null significa que o termo não aparece no texto, e não que a norma não trate do assunto. Nesse caso a resolução casou pela ementa ou pelo índice, então abra a URL antes de afirmar qualquer coisa.

Nunca trate um trecho como "a posição do CFM" sem abrir a fonte: a ementa e o link vêm justamente para isso.

Args: tema: assunto a buscar, por exemplo "telemedicina" ou "inteligência artificial". apenas_vigentes: quando True, omite as resoluções já revogadas. limite: quantas resoluções trazer, no máximo 100. Aumente para ver além das mais relevantes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
temaYes
limiteNo
apenas_vigentesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
temaYes
avisoNo
totalYesQuantas resoluções casam com o tema na base inteira, não quantas vieram nesta resposta. Temas amplos casam com dezenas.
truncadoNoTrue quando total > retornados. As que vieram são as mais relevantes; as demais existem e não estão aqui. Não conclua 'só existem N resoluções sobre isso' a partir da lista.
resultadosYes
retornadosNoQuantas vieram em 'resultados', no máximo 'limite'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / limite
      Added value: +{
      +  "default": 10,
      +  "maximum": 100,
      +  "minimum": 1,
      +  "title": "Limite",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ResolucaoCFM / properties / nota_vigencia
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "O texto da marcação, como o CFM escreveu",
      +  "title": "Nota Vigencia"
      +}
    • addedOutput schema / $defs / ResolucaoCFM / properties / revogada_por / description
      Added value: +"Identificador da resolução que revogou esta, como o portal do CFM publica. Confira 'revogada_por_confere' antes de citar: o portal erra o ano em alguns casos."
    • addedOutput schema / $defs / ResolucaoCFM / properties / revogada_por_confere
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "False quando o identificador acima não existe na base, ou seja, o portal publicou um ano que não bate. Nesse caso veja 'revogada_por_provavel'.",
      +  "title": "Revogada Por Confere"
      +}
    • addedOutput schema / $defs / ResolucaoCFM / properties / revogada_por_provavel
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Única resolução com aquele número, quando o identificador publicado não existe. É inferência nossa a partir do número, não o que o CFM publicou: confirme na URL de origem antes de citar.",
      +  "title": "Revogada Por Provavel"
      +}
    • addedOutput schema / $defs / ResolucaoCFM / properties / suspensa
      Added value: +{
      +  "default": false,
      +  "description": "A ementa traz marcação de suspensão. Para quem vai aplicar a norma, suspensa tem o mesmo efeito prático de revogada.",
      +  "title": "Suspensa",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / ResolucaoCFM / properties / suspensao_parcial
      Added value: +{
      +  "default": false,
      +  "description": "Só alguns dispositivos foram suspensos; o resto da norma segue valendo",
      +  "title": "Suspensao Parcial",
      +  "type": "boolean"
      +}
    • changedOutput schema / $defs / ResolucaoCFM / properties / trecho_relevante / description
      Previous value: -"Trecho do texto completo em volta do termo buscado"New value: +"Trecho do texto integral em volta do termo buscado. None por dois motivos diferentes, distinguidos por 'texto_completo_disponivel': se for false, o texto integral não foi baixado e a busca viu só a ementa; se for true, o termo não aparece no texto. Em nenhum dos casos conclua que a norma não trata do assunto, abra a URL de origem."
    • addedOutput schema / $defs / ResolucaoCFM / properties / vigente / description
      Added value: +"Só reflete revogação, que é o que o portal marca em campo próprio. Uma norma suspensa vem com vigente=true: veja 'suspensa' antes de concluir que ela está produzindo efeito."
    • addedOutput schema / properties / retornados
      Added value: +{
      +  "default": 0,
      +  "description": "Quantas vieram em 'resultados', no máximo 'limite'",
      +  "title": "Retornados",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / total / description
      Added value: +"Quantas resoluções casam com o tema na base inteira, não quantas vieram nesta resposta. Temas amplos casam com dezenas."
    • addedOutput schema / properties / truncado
      Added value: +{
      +  "default": false,
      +  "description": "True quando total > retornados. As que vieram são as mais relevantes; as demais existem e não estão aqui. Não conclua 'só existem N resoluções sobre isso' a partir da lista.",
      +  "title": "Truncado",
      +  "type": "boolean"
      +}
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations, the description carries the full burden and delivers richly: it discloses that revoked resolutions carry vigente=false plus the replacing number, explains the total vs retornados distinction, and defines the trecho_relevante=null semantics (no textual match, not irrelevance). It also warns against treating an excerpt as the CFM's official position without opening the source — a real hallucination risk the agent could not otherwise anticipate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: purpose, return format, revoked-flag behavior, total/retornados, truncation caveat, null-excerpt caveat, and an anti-overclaiming warning, followed by a structured Args block. Critical interpretation warnings are front-loaded right after the core description, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 params, no annotations, and 0% schema parameter coverage, the description covers invocation semantics, response interpretation, edge cases, and user-error prevention. The only omission is explicit sibling differentiation, which is minor and inferable from the sibling's name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the Args section fully compensates: tema gets domain examples ('telemedicina', 'inteligência artificial'), apenas_vigentes gets behavioral meaning (omits revoked resolutions), and limite gets usage guidance ('Aumente para ver além das mais relevantes'). This adds genuine value beyond the schema's bare types, defaults, and bounds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Consulta resoluções do CFM relacionadas a um tema' — search CFM resolutions by theme. The search-by-topic behavior distinguishes it from the sibling monitorar_novas_resolucoes, which by name concerns monitoring new resolutions rather than searching historical ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear operational context: search by theme, raise limite when truncado=true, and open the URL when trecho_relevante=null. However, it never explicitly names the sibling tool or the condition that would select monitorar_novas_resolucoes instead; that differentiation is left to inference from the sibling's name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.