Skip to main content
Glama
mcp-legislacao-br

mcp-legislacao-br

buscar_legislacao

Search Brazilian federal legislation by number, nickname, or summary keywords and retrieve URN, name, summary, and revocation status from the Senate catalog.

Instructions

Busca normas federais no catálogo do Senado (base do normas.leg.br).

termo aceita número ("13105"), apelido ("Código de Processo Civil") ou palavras da ementa. Devolve URN, nome, ementa e se a norma consta como revogada.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "termo": "<termo>"
    },
    "name": "buscar_legislacao"
  }
}

Input Schema

NameRequiredDescriptionDefault
termoYes
limiteNo
ano_finalNo
ano_inicialNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It does disclose what comes back (URN, nome, ementa, revogada flag) and that the source is the Senado catalog, which is real value; however, it says nothing about rate limits, whether search is full-text or exact-match, or how the revogada field should be interpreted.

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

Conciseness4/5

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

The description is short and front-loaded: purpose first, then the accepted input forms for `termo`, then the returned fields. Every sentence carries information, with no redundant restatement of the tool name.

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?

There is no output schema, so the description correctly compensates by listing the returned fields. Combined with the concrete input formats for the single required parameter, an agent has enough to invoke this search correctly; the undocumented optional filters are a minor gap rather than a blocker.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It documents `termo` well with concrete examples ("13105", "Código de Processo Civil", trecho da ementa), but `limite`, `ano_inicial`, and `ano_final` are never mentioned — it is unclear whether the year filters refer to the norm's year or publication year, or how `limite` caps results.

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

Purpose4/5

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

The description names a specific verb and resource ("Busca normas federais") plus the authoritative source (catálogo do Senado / normas.leg.br), so an agent immediately knows this is a catalog search. It does not explicitly contrast itself with siblings such as metadados_norma or conferir_vigencia, though the search-versus-lookup distinction is implicit.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the entry point when it has a number, nickname, or ementa fragment rather than a known identifier. There is no explicit "use this first, then call metadados_norma for details" routing, no statement of when not to use it, and no prerequisites.

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