Skip to main content
Glama

Dados Abertos Senado BR MCP

Suprimento de fundos

senado_suprimento_fundos
Read-onlyIdempotent

Suprimento de fundos do Senado (adiantamentos a supridos): relação anual de supridos, atos de concessão, empenhos, movimentações ou transações de cartão corporativo, conforme tipo. Retorna { ano, tipo, count, total, registros } (snake_case da API administrativa), filtrável por filtro textual e limitado por limite (padrão 100, máx 500); ao truncar, inclui aviso. Para maior/menor/média/mediana/distribuição/ranking ('quem mais recebeu', 'fornecedor com maior gasto', 'valor mediano') use estatisticas=true (só nos tipos transacoes, empenhos, atos-concessao — os demais não têm coluna de valor): SEM agruparPor = distribuição das linhas (min/máx/média/mediana/percentis) + top/bottom; COM agruparPor = grupos ranqueados por soma decrescente (grupos[0]=maior). A coluna de valor analisada é escolhida automaticamente conforme o tipo; o resultado já traz o rótulo legível dela em campoAnalisado. Registros sem valor são excluídos das estatísticas. Em atos de concessão, cada beneficiário é identificado pelo NOME (cruzado com o cadastro de supridos) e pode-se usar agruparPor='suprido' para ranquear por beneficiário. Informe o ano (>=2010); use os mesmos códigos administrativos vistos em senado_contratacoes_lista ou senado_execucao_orcamentaria para cruzar gastos.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
anoYesAno de referência
tipoNoQual relação consultar (padrão: supridos)supridos
topNNoTamanho do top/bottom nas estatísticas (padrão: 10)
campoNoOpcional: força a coluna de valor analisada; por padrão ela é escolhida conforme o tipo. Se a opção não se aplicar ao tipo, o padrão é usado automaticamente.
filtroNoFiltro textual (nome, unidade...)
limiteNoMáximo de resultados (padrão: 100)
agruparPorNoOpcional: agrupa e ranqueia os resultados por esta dimensão (as opções válidas dependem do tipo; em atos de concessão, `suprido` agrupa por beneficiário, com o nome).
estatisticasNoDistribuição/ranking sobre as linhas: min/máx/média/mediana/percentis + top/bottom, ou grupos ranqueados por soma via agruparPor. Só para tipo transacoes/empenhos/atos-concessao

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
    • changedInput schema / properties / agruparPor / description
      Previous value: -"Opcional: agrupa e ranqueia os resultados por esta dimensão (as opções válidas dependem do tipo)."New value: +"Opcional: agrupa e ranqueia os resultados por esta dimensão (as opções válidas dependem do tipo; em atos de concessão, `suprido` agrupa por beneficiário, com o nome)."
    • changedInput schema / properties / agruparPor / enum
      Previous value: -[
      -  "fornecedor",
      -  "tipo",
      -  "tipoInscricao",
      -  "rubricas",
      -  "rubrica",
      -  "descricao",
      -  "elementoDespesa",
      -  "regimeEspecial"
      -]New value: +[
      +  "fornecedor",
      +  "tipo",
      +  "tipoInscricao",
      +  "rubricas",
      +  "rubrica",
      +  "descricao",
      +  "elementoDespesa",
      +  "regimeEspecial",
      +  "suprido"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / agruparPor / description
      Previous value: -"Ranquear grupos por soma do campo (transacoes: fornecedor/tipo/tipoInscricao/rubricas; empenhos: rubrica/descricao; atos-concessao: elementoDespesa/regimeEspecial)"New value: +"Opcional: agrupa e ranqueia os resultados por esta dimensão (as opções válidas dependem do tipo)."
    • changedInput schema / properties / campo / description
      Previous value: -"Coluna de valor para estatísticas (transacoes: valor; empenhos padrão valorExecutado; atos-concessao padrão valorTotalTransacoes)"New value: +"Opcional: força a coluna de valor analisada; por padrão ela é escolhida conforme o tipo. Se a opção não se aplicar ao tipo, o padrão é usado automaticamente."
  5. Changed4 schema fields changed
    • addedInput schema / properties / agruparPor
      Added value: +{
      +  "description": "Ranquear grupos por soma do campo (transacoes: fornecedor/tipo/tipoInscricao/rubricas; empenhos: rubrica/descricao; atos-concessao: elementoDespesa/regimeEspecial)",
      +  "enum": [
      +    "fornecedor",
      +    "tipo",
      +    "tipoInscricao",
      +    "rubricas",
      +    "rubrica",
      +    "descricao",
      +    "elementoDespesa",
      +    "regimeEspecial"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / campo
      Added value: +{
      +  "description": "Coluna de valor para estatísticas (transacoes: valor; empenhos padrão valorExecutado; atos-concessao padrão valorTotalTransacoes)",
      +  "enum": [
      +    "valor",
      +    "valorExecutado",
      +    "valorConcedido",
      +    "valorTotalTransacoes",
      +    "valorTotalEmpenhos",
      +    "valorTotalElementosDespesa",
      +    "valorTotalMovimentacoes"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / estatisticas
      Added value: +{
      +  "default": false,
      +  "description": "Distribuição/ranking sobre as linhas: min/máx/média/mediana/percentis + top/bottom, ou grupos ranqueados por soma via agruparPor. Só para tipo transacoes/empenhos/atos-concessao",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / topN
      Added value: +{
      +  "default": 10,
      +  "description": "Tamanho do top/bottom nas estatísticas (padrão: 10)",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  6. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
  7. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {},
      +  "type": "object"
      +}
  8. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds real behavioral context beyond them: truncation surfaces an `aviso`, default limit 100 / max 500, rows without a value are excluded from statistics, and the analyzed value column is auto-selected per `tipo` with its label returned in `campoAnalisado`. It does not mention permissions, auth, or rate limits.

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

Conciseness3/5

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

Purpose is front-loaded, but the body is a dense run-on of semicolons, parentheses, and nested conditionals that is hard to scan. It also restates content already present in the schema descriptions for `estatisticas`, `campo`, and `agruparPor`, so not every sentence earns new information.

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

Completeness4/5

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

With 8 parameters, 1 required, three enums, and an output schema present, the description covers the key constraints an agent needs: required `ano` (>=2010), limit bounds, statistics eligibility, and grouping behavior. The distinctions between similar `tipo` values (movimentacoes vs transacoes) and the exact meaning of each `agruparPor` option are left partly implicit.

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 coverage is 100%, but the description still adds meaning the schema does not: `agruparPor` groups are ranked by descending sum with groups[0] as largest, `suprido` groups atos-concessao by beneficiary name, `campo` falls back to the type default when inapplicable, and `estatisticas` toggles between row distribution and grouped ranking. This is genuine semantic enrichment rather than restating field docs.

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+resource (annual fund-advance data) and enumerates the exact sub-relations available via `tipo` (supridos, atos de concessão, empenhos, movimentações, transações), so an agent can tell what data comes back. It also names the sibling tools (`senado_contratacoes_lista`, `senado_execucao_orcamentaria`) whose administrative codes can be joined, distinguishing its role in the family.

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?

Gives explicit routing rules for aggregates: use `estatisticas=true` for max/min/mean/median/percentiles/ranking, and it states that statistics only apply to `transacoes`, `empenhos`, and `atos-concessao` because the others lack a value column. It also explains when to add `agruparPor`. It stops short of saying when to choose this tool over adjacent budget tools like `senado_ceaps` or `senado_execucao_orcamentaria`, so not a full 5.

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.