Skip to main content
Glama

Dados Abertos Senado BR MCP

Contratos do Senado

senado_contratos
Read-onlyIdempotent

Busca contratos administrativos do Senado por fornecedor, CNPJ, ano, número, objeto ou mão de obra (base completa baixada e filtrada no Worker; busca parcial sem acento em objeto/fornecedor/número). Retorna { count, total, contratos }, onde cada item traz id, numero, objeto, empresa {nome, cnpj}, subEspecie, dataAssinatura, vigencia e unidadeGestora. Atenção: a fonte NÃO publica o valor do contrato (nenhum campo monetário aqui nem nas seções de detalhe; apenas a seção aditivos de senado_contratacao_detalhe traz valor, referente ao termo aditivo) — não gaste chamadas procurando valor. A lista mistura subespécies (CT = contratos, AC = acordos de cooperação, TD = termos de doação etc.); distinga pelo campo subEspecie retornado. Limitado a limite itens (padrão 50, máx 500), com aviso quando há truncamento. Use o id retornado em senado_contratacao_detalhe para itens, pagamentos, garantias ou aditivos.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
anoNoAno do contrato
cnpjNoCNPJ/CPF exato do fornecedor
limiteNoMáximo de resultados (padrão: 50)
numeroNoNúmero do contrato (busca parcial)
objetoNoTexto no objeto do contrato
maoDeObraNoApenas contratos com mão de obra residente
fornecedorNoNome do fornecedor (busca parcial)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {},
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial non-obvious behavior: the full base is downloaded and filtered in the Worker, search is accent-insensitive partial on objeto/fornecedor/numero, results are truncated at `limite` with an `aviso`, and the source publishes no monetary value (only `aditivos` in the detail tool does). These are real gotchas an agent could not infer from structured fields.

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?

It is dense and front-loads the search capability before the detail-routing and the 'valor' caveat. Most sentences earn their place, though the description is long and the return-shape enumeration is partly redundant with the existing output schema.

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 7-parameter, read-only search tool with an output schema, the definition is more than sufficient: it covers filters, matching semantics, pagination limit, subespécie ambiguity, the missing-value trap, and the follow-up tool. An agent has everything needed to call it correctly without additional context.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond it: partial and accent-insensitive matching for objeto/fornecedor/numero versus the exact-match cnpj, and the default/max behavior of `limite` with truncation warning. This clarifies matching semantics the schema alone does not convey.

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?

The description states a specific verb and resource ('busca contratos administrativos do Senado') and enumerates the filters (fornecedor, CNPJ, ano, número, objeto, mão de obra). It also differentiates from siblings by naming senado_contratacao_detalhe as the drill-down target and warning that the list mixes subespécies. An agent can tell what this returns and how it differs from the licitações/contratações tools.

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?

It gives clear operational guidance: use the returned `id` in `senado_contratacao_detalhe` for items, payments, guarantees or aditivos, and explicitly says not to spend calls hunting for the contract 'valor'. However it does not explicitly contrast with close siblings like senado_contratacoes_lista, senado_licitacoes or senado_empresas_contratadas, so the when-to-use routing is strong but incomplete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.