Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Dados Abertos Senado BR MCP

NPM · SENADO-BR-MCP · 2 COMPONENTS · SCANNED AUG 3

MCP server for Brazilian Federal Senate open data (legislative, administrative, e-Cidadania).

+18 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security86
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability70
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 20070 tokens (~282/item across 71 items; 66 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · senado-br-mcp

# add to Claude Code
claude mcp add sidneybissoli-senado-br-mcp-cloudflare -- npx -y senado-br-mcp
# add to Codex CLI
codex mcp add sidneybissoli-senado-br-mcp-cloudflare -- npx -y senado-br-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sidneybissoli-senado-br-mcp-cloudflare": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "senado-br-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add sidneybissoli-senado-br-mcp-cloudflare --command npx --arg -y --arg senado-br-mcp
# ~/.hermes/config.yaml
mcp_servers:
  sidneybissoli-senado-br-mcp-cloudflare:
    command: "npx"
    args: ["-y", "senado-br-mcp"]
// mcp.json
{
  "mcpServers": {
    "sidneybissoli-senado-br-mcp-cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "senado-br-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +40
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Schema quality: unverified → good functional
    • MCP protocol: unverified → pass functional
    • License: unverified → pass functional
    • Licence: MIT functional
  • 1 Aug 26 +19
    • Schema quality: unverified → 100 functional
    • Tool coverage: unverified → 100 functional
  • 31 Jul 26 −45
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 50

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 94 packages

94 packages in the resolved dependency tree · 94 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 66 exposed · ~19,183 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
senado_agenda_comissoes ~170

Obtém a agenda de reuniões de todas as comissões numa data (`data` YYYYMMDD; padrão: hoje), com filtro opcional `siglaComissao`. Retorna `{ data, siglaComissao, count, reunioes }`, cada reunião com `codigo`, `comissao` (`sigla`, `nome`), `descricao`, `data`, `hora`, `local`, `tipo` e `situacao`. Para o histórico de uma única comissão por período use `senado_reunioes_comissao`; para detalhes de uma reunião use `senado_reuniao_comissao` com o `codigo`.

NameTypeReqDescription
datastringData específica (YYYYMMDD)
siglaComissaostringFiltrar por comissão específica

Structured output declared, but exposes no named fields.

No examples provided.

senado_agenda_plenario ~206

Obtém a agenda de sessões de plenário (Senado ou Congresso Nacional), por dia ou mês, com a pauta de matérias a votar. Retorna `{ data, escopo, count, sessoes }`, onde cada sessão traz `codigo`, `data`, `hora`, `tipo`, `situacao` e `pauta` (matéria, ementa, autor, parecer). Use `escopo` dia/mes/cn; sem `data` assume hoje. Para o resultado já apreciado use `senado_resultado_plenario`; detalhes de uma sessão via `senado_encontro_plenario`.

NameTypeReqDescription
datastringData específica (YYYYMMDD; padrão: hoje)
dataFimstringData fim para período do CN (YYYYMMDD; apenas escopo=cn)
escopostringdia = SF+CN no dia; mes = mês inteiro; cn = plenário do Congresso

Structured output declared, but exposes no named fields.

No examples provided.

senado_autores_atuais ~181

Lista parlamentares autores de processos em tramitação, ordenados por produção (maior número de matérias primeiro). Retorna `{ count, total, autores }`, cada autor com `codigo`, `nome`, `tratamento`, `uf` e `quantidadeMaterias`. Filtros opcionais `uf` e `nome` (busca parcial sem acento); `limite` padrão 50 (máx. 1000). Use o `codigo` em `senado_obter_senador` ou `senado_search_processos` (codigoParlamentarAutor).

NameTypeReqDescription
limiteintegerMáximo de resultados (padrão: 50)
nomestringFiltrar por nome (busca parcial)
ufstringFiltrar por UF (ex: SP)

Structured output declared, but exposes no named fields.

No examples provided.

senado_buscar_legislacao ~294

Busca normas jurídicas federais **já promulgadas** (leis, decretos, emendas etc.) por `tipo`, `numero`, `ano` e/ou `data`, combinados como filtros AND — informe ao menos um, senão retorna erro. Retorna `{ count, normas }` sem paginação (`count` cobre todas as normas que casam; 0 quando nada casa), cada norma com `codigo`, `tipo`, `descricaoTipo`, `numero`, `ano`, `data` (ISO), `norma`, `ementa` e `apelido`. Use o `codigo` em `senado_obter_legislacao` para indexação e URL do texto integral. Para **proposições em tramitação** (PEC, PL, MPV) use `senado_buscar_materias` — esta cobre apenas normas já sancionadas.

NameTypeReqDescription
anointegerAno de assinatura/promulgação da norma
datastringData exata de assinatura, formato YYYYMMDD
numerointegerNúmero da norma; combina com tipo e ano como filtro AND
tipostringSigla oficial da espécie: LEI, DEC (decreto), LCP (lei complementar), EMC (emenda constitucional) etc.; lista completa em senado_tabelas_referencia (tabela=tipos-norma)

Structured output declared, but exposes no named fields.

No examples provided.

senado_buscar_materias ~430

Busca matérias legislativas por tipo (PEC, PL, PLP, MPV), número, ano, palavras-chave, autor, período de apresentação ou situação de tramitação; informe ao menos um critério. Para pedidos como 'matérias recentes sobre X', use `palavraChave`, `ano` ou `dataInicioApresentacao`/`dataFimApresentacao`, `ordenarPor: 'dataApresentacao'`, `ordem: 'desc'` e `limite` baixo (ex: 10); não é necessário chamar detalhes para listar resultados. Retorna `{ count, total, materias[] }`, cada item com `codigo` (codigoMateria), `sigla`, `numero`, `ano`, `ementa`, `autor`, `situacao`, `dataApresentacao`, `url` e `tramitando`. Use `codigo` em `senado_obter_materia` apenas quando o usuário pedir detalhe/tramitação/textos. `limite` padrão 100 (máx. 500); ao truncar inclui `aviso`.

NameTypeReqDescription
anointegerAno da matéria
autorNomestringNome do autor
dataFimApresentacaostringData final de apresentação (YYYYMMDD ou YYYY-MM-DD)
dataInicioApresentacaostringData inicial de apresentação (YYYYMMDD ou YYYY-MM-DD)
limiteintegerMáximo de resultados (padrão: 100)
numerointegerNúmero da matéria
ordemstringDireção da ordenação quando ordenarPor=dataApresentacao
ordenarPorstringOrdenação local; padrão dataApresentacao para favorecer pedidos recentes
palavraChavestringTermo livre buscado nas palavras-chave do processo
siglastringTipo: PEC, PL, PLP, MPV, PDL, PRS, etc.
tramitandobooleanApenas em tramitação

Structured output declared, but exposes no named fields.

No examples provided.

senado_ceaps ~679

Despesas da Cota para Exercício da Atividade Parlamentar (CEAPS) dos senadores em um ano. Para perguntas de **maior/menor/média/mediana/distribuição/ranking** ('quem gastou mais CEAPS', 'gasto mediano', 'distribuição das despesas') use `estatisticas=true`: computa min/máx/média/mediana/desvio/percentis sobre TODAS as despesas filtradas e devolve `top`/`bottom` (padrão 10) com identificadores — os modos agregados só somam por grupo e não revelam a distribuição nem o extremo individual. Sem `agruparPor` → `distribuicao` das despesas individuais + `top`/`bottom`; com `agruparPor` (`senador`/`tipo`/`mes`/`fornecedor`) → `grupos[]` ranqueados por soma decrescente (`grupos[0]` = maior gastador), cada um com sua mini-distribuição. Sem `estatisticas`: nos modos agregados (`por-senador`/`por-tipo`/`por-mes`/`por-fornecedor`, padrão `por-senador`) traz `agregado[]` ordenado por `total` desc com `chave`, `total` e `despesas` (contagem); em `modo='detalhe'` traz `despesas[]` (mês, data, senador, tipoDespesa, fornecedor, cnpjCpf, valor). Filtre por `mes`, `codSenador`, `nomeSenador`, `tipoDespesa` ou `fornecedor` (busca parcial); `limite` cap 100 com `aviso` ao truncar. Obtenha `codSenador` via `senado_listar_senadores`.

NameTypeReqDescription
agruparPorstringQuando estatisticas=true, ranqueia os grupos por soma decrescente (grupos[0] = maior gastador), cada grupo com sua mini-distribuição
anointegeryesAno das despesas
codSenadorintegerFiltrar por código do senador
estatisticasbooleanComputa estatísticas (min/máx/média/mediana/percentis) + ranking top/bottom sobre todas as despesas filtradas. Use para 'quem gastou mais/menos', 'gasto médio/mediano', 'distribuição', 'ranking'
fornecedorstringFiltrar por fornecedor (busca parcial)
limiteintegerMáximo de linhas no resultado (padrão: 100)
mesintegerFiltrar por mês
modostringAgregação ou detalhe (padrão: por-senador). Ignorado quando estatisticas=true
nomeSenadorstringFiltrar por nome do senador (busca parcial)
tipoDespesastringFiltrar por tipo de despesa (busca parcial)
topNintegerTamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)

Structured output declared, but exposes no named fields.

No examples provided.

senado_contratacao_detalhe ~420

Detalha uma seção específica de uma contratação já identificada pelo `id`. `tipo` indica a natureza do registro: `contratos` (contrato firmado; padrão), `atas_registro_preco` (compromisso de preços para compras futuras) ou `notas_empenho` (reserva orçamentária do gasto). `secao` escolhe o aspecto: `itens`, `pagamentos`, `garantias` (qualquer `tipo`), `aditivos` (só `contratos`) ou `acionamentos` (só `atas_registro_preco`). Retorna `{ id, tipo, secao, count, total, itens }` com os registros brutos da seção (campos conforme a API administrativa), limitados a `limite` (padrão 100, máx 500) — `count < total` indica truncagem; seção sem registros retorna `count` 0 e `itens` vazio; combinações `secao`×`tipo` inválidas (ex.: `aditivos` fora de contratos) retornam erro. Obtenha o `id` via `senado_contratos` ou `senado_contratacoes_lista` — para localizar a contratação (não detalhá-la) use aquelas ferramentas.

NameTypeReqDescription
idintegeryesID da contratação (campo 'id' das listas de contratos/atas/empenhos)
limiteintegerMáximo de itens (padrão 100, máx 500); count < total sinaliza corte
secaostringyesAspecto a detalhar: itens/pagamentos/garantias (qualquer tipo); aditivos (só contratos); acionamentos (só atas_registro_preco)
tipostringcontratos = contrato firmado (padrão); atas_registro_preco = compromisso de preços p/ compras futuras; notas_empenho = reserva orçamentária do gasto

Structured output declared, but exposes no named fields.

No examples provided.

senado_contratacoes_lista ~236

Lista, conforme `tipo`, atas de registro de preço, notas de empenho ou menores aprendizes do Senado, com filtro textual opcional aplicado no Worker sobre todos os campos. Retorna `{ tipo, count, total, registros }`; para `atas_registro_preco`/`notas_empenho` cada registro segue o formato de contrato (`id`, `numero`, `objeto`, `empresa`, `subEspecie`, `vigencia`...), enquanto `menores_aprendizes` vêm como registros brutos da API (campos não normalizados). Limitado a `limite` (padrão 50, máx 500), com `aviso` ao truncar; `tipo` sem registros retorna lista vazia. Para aprofundar uma ata/empenho, use o `id` em `senado_contratacao_detalhe`.

NameTypeReqDescription
filtrostringFiltro textual (empresa, objeto, etc.)
limiteintegerMáximo de resultados (padrão: 50)
tipostringyesQual lista consultar

Structured output declared, but exposes no named fields.

No examples provided.

senado_contratos ~270

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`. 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.

NameTypeReqDescription
anointegerAno do contrato
cnpjstringCNPJ/CPF exato do fornecedor
fornecedorstringNome do fornecedor (busca parcial)
limiteintegerMáximo de resultados (padrão: 50)
maoDeObrabooleanApenas contratos com mão de obra residente
numerostringNúmero do contrato (busca parcial)
objetostringTexto no objeto do contrato

Structured output declared, but exposes no named fields.

No examples provided.

senado_discurso_texto ~181

Obtém o texto integral de um único pronunciamento pelo `codigoPronunciamento`. Retorna `{ codigoPronunciamento, texto }`, onde `texto` é a transcrição completa (string, podendo ter dezenas de KB — não é truncada nem paginada); `codigo` inexistente ou discurso sem texto retorna erro. Obtenha o `codigoPronunciamento` antes via `senado_discursos_senador` ou `senado_discursos_plenario` (campo `codigo`). Para apenas listar/filtrar discursos (resumo, data, autor) use aquelas ferramentas; esta traz o texto de um discurso já identificado.

NameTypeReqDescription
codigoPronunciamentointegeryesCódigo do pronunciamento (campo `codigo` de senado_discursos_senador ou senado_discursos_plenario); um por discurso

Structured output declared, but exposes no named fields.

No examples provided.

senado_discursos_plenario ~159

Lista todos os discursos realizados em plenário num período de datas (`dataInicio`/`dataFim` obrigatórias, formato YYYYMMDD). Retorna `{ periodo, count, discursos }`, cada item com `codigo`, `data`, `casa`, `tipoUsoPalavra`, `resumo`, `indexacao`, `url`, `nomeParlamentar`, `codigoParlamentar`, `partido` e `uf`. Para discursos de um parlamentar específico use `senado_discursos_senador`; obtenha o texto integral com `senado_discurso_texto`.

NameTypeReqDescription
dataFimstringyesData fim (YYYYMMDD)
dataIniciostringyesData início (YYYYMMDD)

Structured output declared, but exposes no named fields.

No examples provided.

senado_discursos_senador ~357

Lista pronunciamentos de um senador, filtráveis por período e casa. `tipo` (padrão `discursos`) alterna entre `discursos` (falas próprias) e `apartes` (intervenções em falas de outros) — muda a fonte upstream e o conteúdo, mantendo a mesma estrutura. Retorna `{ codigoSenador, tipo, count, discursos }` sem paginação (`count` 0 e lista vazia quando não há pronunciamentos no período), cada item com `codigo`, `data`, `casa`, `tipoUsoPalavra`, `resumo`, `indexacao`, `url` e `nomeParlamentar` — sem o texto integral. Sem `dataInicio`/`dataFim` traz todo o histórico do senador. Obtenha o `codigoSenador` via `senado_listar_senadores` e o texto completo em `senado_discurso_texto` (campo `codigo`). Para discursos de todos os senadores num período use `senado_discursos_plenario`, não esta.

NameTypeReqDescription
casastringRestringe à casa: SF (Senado Federal) ou CN (Congresso Nacional); vazio traz ambas
codigoSenadorintegeryesCódigo único do senador
dataFimstringFim do período (YYYYMMDD); omitir dataInicio/dataFim traz todo o histórico
dataIniciostringInício do período (YYYYMMDD); use junto com dataFim
tipostringdiscursos = pronunciamentos próprios (padrão); apartes = intervenções em discursos de outros — altera a fonte e o conteúdo retornado

Structured output declared, but exposes no named fields.

No examples provided.

senado_distribuicao_materias ~300

Ranqueia parlamentares pela quantidade de matérias numa comissão (`siglaComissao`), medindo carga de trabalho legislativo. `tipo` escolhe o eixo: `autoria` (matérias de autoria; padrão) ou `relatoria` (matérias relatadas). Retorna `{ siglaComissao, tipo, count, parlamentares }` ordenado por `quantidade` desc, sem paginação (`count` 0 quando a comissão não tem registros), cada item com `codigo`, `nome`, `partido`, `uf` e `quantidade`. `codigoParlamentar` restringe a um parlamentar e **só tem efeito em `tipo=autoria`** (ignorado em relatoria). Descubra a `sigla` via `senado_listar_comissoes`; use o `codigo` do parlamentar em `senado_obter_senador`. Para a lista das matérias em si (não a contagem) use `senado_buscar_materias`.

NameTypeReqDescription
codigoParlamentarintegerRestringe a um parlamentar — efetivo apenas em tipo=autoria (ignorado em relatoria)
siglaComissaostringyesSigla da comissão (ex: CCJ, CAE)
tipostringautoria = matérias de autoria por parlamentar (padrão); relatoria = matérias relatadas

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_consultas_analise ~415

Analisa o conjunto completo de consultas públicas **abertas** (matérias em tramitação) do e-Cidadania por grau de concordância cidadã, conforme `modo`: `consenso` → consultas com alta concentração de votos numa direção, ordenadas da maior para a menor concentração; usa `percentualMinimo` (padrão 85%). `polarizada` → consultas com votação equilibrada (~50/50), ordenadas da menor para a maior diferença sim/não; usa `margemPolarizacao` (padrão 15 pontos). Analisa por padrão consultas `aberta` (opinião pública atual). Quando a matéria sai de tramitação a consulta passa a `encerrada`, então `status: "encerrada"`/`"todas"` cobrem o conjunto que foi encerrado desde a ingestão (cresce com o tempo); fechadas antes da 1ª carga não são capturadas. Todos os modos aceitam `minimoVotos` (padrão 1000) e `limite` (padrão 10). Retorna `{ modo, criterio, count, consultas }`. Para o detalhe de uma consulta use `senado_ecidadania_obter_consulta`.

NameTypeReqDescription
limiteintegerNúmero máximo de resultados
margemPolarizacaointegerModo polarizada: considera polarizado se diferença ≤ este percentual
minimoVotosintegerMínimo de votos para considerar
modostringconsenso (alta concordância) ou polarizada (~50/50)
percentualMinimointegerModo consenso: percentual mínimo numa direção
statusstringRecorte do conjunto (padrão: aberta = opinião atual). encerrada cobre consultas que saíram de tramitação desde a ingestão (cresce com o tempo); fechadas antes da 1ª carga não são capturadas.

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_consultas_votos ~379

Acervo **histórico** de votos das consultas públicas do e-Cidadania, com **quebra por UF** (fonte: CSV Arquimedes; ~15 mil matérias, atualizado semanalmente). Diferente de `senado_ecidadania_listar_consultas` (consultas em tramitação): aqui o conjunto é o **arquivo** de matérias já consultadas — `status` vem como `Descontinuado` no arquivo de origem, por isso é tratado como acervo, não como opinião atual. Retorna `{ count, referencePeriod, consultas }`, cada item com `id`, `materia`, `ementa`, `autoria`, `votosSim`/`votosNao`/`totalVotos`, `votosPorUf` (`{ UF: { sim, nao } }`) e `url`. Use `ordenarPor` (`total`/`sim`/`nao`, padrão `total`) e `ordem` para ranking; `uf` para recortar e **ranquear por aquele estado** (só matérias com votos na UF, e cada item ganha `recorteUf`); `materia` para filtrar por código (numérico) ou trecho do nome/ementa; `limite` (padrão 20).

NameTypeReqDescription
limiteintegerNúmero máximo de resultados
materiastringFiltro por código da matéria (numérico) ou trecho do nome/ementa
ordemstringOrdem (padrão desc)
ordenarPorstringMétrica do ranking (padrão: total de votos)
ufstringSigla da UF (ex.: SP) — filtra e ranqueia por votos daquele estado

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_listar_consultas ~307

Lista consultas públicas do e-Cidadania (conjunto completo das **abertas** — toda matéria em tramitação, ~7,7 mil), em que cidadãos votam sim/não. Retorna `{ count, consultas }`, cada consulta com `id`, `materia`, `ementa`, `votosSim`/`votosNao`/`totalVotos`, `percentualSim`/`percentualNao`, `status` e `url`. Toda consulta entra como `aberta`; quando a matéria sai de tramitação ela passa a `encerrada` (o conjunto `encerrada`/`todas` cresce com o tempo). Consultas encerradas antes da 1ª ingestão não são capturadas. Aceita `limite` (padrão 20). Para o detalhe de uma consulta chame `senado_ecidadania_obter_consulta` com o `id`; para recortes analíticos (consenso/polarização) use `senado_ecidadania_consultas_analise`.

NameTypeReqDescription
limiteintegerNúmero máximo de resultados
paginaintegerPágina de resultados
statusstringFiltrar por status (padrão: aberta). encerrada lista consultas cuja matéria saiu de tramitação desde a ingestão (cresce com o tempo); fechadas antes da 1ª carga não são capturadas.

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_listar_eventos ~259

Lista eventos interativos do e-Cidadania (audiências públicas, sabatinas, lives) — conjunto completo (corpus persistido em D1, atualizado semanalmente; ~milhares de eventos, incluindo encerrados). Retorna `{ count, eventos }`, cada evento com `id`, `titulo`, `data`, `hora`, `comissao` (sigla), `comentarios`, `status` (`agendado`/`encerrado`/`cancelado`) e `url`; aceita filtro por `status`, por `comissao` (sigla) e `limite` (padrão 20). Para um ranking dos mais comentados, ordene por comentários (`ordenarPor: "comentarios"`, `ordem: "desc"`). Para o detalhe completo de um evento use `senado_ecidadania_obter_evento`.

NameTypeReqDescription
comissaostringSigla da comissão
limiteintegerNúmero máximo de resultados
ordemstringOrdem (padrão desc)
ordenarPorstringOrdenar por data ou número de comentários
statusstringFiltrar por status

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_listar_ideias ~283

Lista ideias legislativas propostas por cidadãos no e-Cidadania — **conjunto completo** (corpus persistido em D1, atualizado semanalmente; ~114 mil ideias, incluindo encerradas e convertidas em proposição). Retorna `{ count, ideias }`, cada ideia com `id`, `titulo`, `apoios`, `status` (`aberta`/`encerrada`/`convertida`) e `url` (`autor` e `dataPublicacao` só aparecem no detalhe, vêm `null` aqui). Aceita filtro por `status` e `limite` (padrão 20). Para um ranking das mais apoiadas, ordene por apoios (`ordenarPor: "apoios"`, `ordem: "desc"`). Para o detalhe completo de uma ideia (texto, autor, se virou projeto de lei) chame `senado_ecidadania_obter_ideia` com o `id`.

NameTypeReqDescription
limiteintegerNúmero máximo de resultados
ordemstringOrdem de ordenação
ordenarPorstringCampo para ordenação (apoios é o disponível no corpus; data/comentarios só no detalhe)
paginaintegerPágina de resultados
statusstringFiltrar por status

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_obter_consulta ~168

Obtém o detalhe de uma consulta pública específica do e-Cidadania. Retorna um objeto com `id`, `materia`, `ementa`, `votosSim`/`votosNao`/`totalVotos`, `percentualSim`/`percentualNao`, `status`, `autor`, `relator`, `url` (campos como `comissao` e datas podem vir `null`). O campo `comentarios` vem `null`: a página de consulta não possui recurso de comentários. Obtenha o `id` antes via `senado_ecidadania_listar_consultas` ou `senado_ecidadania_consultas_analise`.

NameTypeReqDescription
idintegeryesID da consulta pública

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_obter_evento ~231

Obtém o detalhe completo de um evento interativo do e-Cidadania (audiência, sabatina, live). Retorna um objeto com `id`, `titulo`, `descricao`, `data`, `hora`, `comissao` e `comissaoNomeCompleto`, `local`, `status` (`agendado`/`encerrado`/`cancelado`), `comentarios`, `url`, mais `pauta` (até 15 itens), `convidados` e `videoUrl` (embed do YouTube quando houver, senão `null`) — campos não preenchidos vêm `null` e `id` inexistente retorna erro. Obtenha o `id` antes via `senado_ecidadania_listar_eventos`. Para apenas listar/rankear eventos (sem descrição/pauta/convidados) use `senado_ecidadania_listar_eventos`, não esta.

NameTypeReqDescription
idintegeryesIdentificador do evento (campo `id` de senado_ecidadania_listar_eventos)

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_obter_ideia ~145

Obtém o detalhe de uma ideia legislativa do e-Cidadania. Retorna um objeto com `id`, `titulo`, `descricao` (texto completo, truncado em ~2000 caracteres), `apoios`, `dataPublicacao`, `status`, `autor`, `url` e `plConvertido` (sigla/número quando virou projeto de lei). O campo `comentarios` vem `null`: a página de ideia não possui recurso de comentários. Obtenha o `id` antes via `senado_ecidadania_listar_ideias`.

NameTypeReqDescription
idintegeryesID da ideia legislativa

Structured output declared, but exposes no named fields.

No examples provided.

senado_ecidadania_sugerir_tema_enquete ~301

Sugere temas para uma enquete pública mensal (seleção de pauta): analisa o conjunto completo de consultas (abertas) e as ideias do e-Cidadania e elege as de maior engajamento cidadão, filtrando por polarização/consenso e participação mínima. Retorna `{ criteriosAplicados, totalAnalisados, count, totalQualificados, sugestoes }` (até 10), cada sugestão com `tipo` (`consulta`/`ideia`), `id`, `titulo`, `motivo`, `metricas` (participação/polarização) e `url`, ordenadas por participação. `count` é o número de sugestões retornadas (≤10) e `totalQualificados` é quantas passaram nos critérios. Critérios opcionais em `criterios`: `evitarPolarizacao`/`evitarConsenso` (padrão true), `minimoParticipacao` (padrão 500), `apenasEmTramitacao` (padrão true → considera só consultas abertas, com base no status real). Para investigar uma sugestão, use `senado_ecidadania_obter_consulta` ou `senado_ecidadania_obter_ideia` conforme o `tipo`.

NameTypeReqDescription
criteriosobjectCritérios de seleção do tema (polarização, consenso, participação mínima, tramitação)

Structured output declared, but exposes no named fields.

No examples provided.

senado_empresas_contratadas ~202

Busca empresas que contratam com o Senado por nome (mín. 3 caracteres) ou CNPJ/CPF (busca parcial). Retorna `{ count, total, empresas }`, cada item com `id`, `nome`, `cnpj`, `contratos` (até 30 números) e `totalContratos`. Exige `nome` ou `cnpj` (a base completa é grande); limitado a `limite` (padrão 20, máx 100). Use o `id`/número de contrato em `senado_contratos` ou `senado_contratacao_detalhe` para o detalhamento.

NameTypeReqDescription
cnpjstringCNPJ/CPF (busca parcial)
limiteintegerMáximo de empresas (padrão: 20)
nomestringNome da empresa (busca parcial, mín. 3 caracteres)

Structured output declared, but exposes no named fields.

No examples provided.

senado_encontro_plenario ~205

Detalhes de um encontro legislativo (sessão de plenário). Retorna `{ codigo, secao, encontro }`, onde `encontro` é o objeto bruto da API (ou array, quando o upstream traz vários) cujos campos variam conforme a `secao` escolhida: `detalhes` (padrão) traz dados gerais da sessão (tipo, data, situação, presença); `pauta` traz as matérias previstas; `resultado` traz os itens apreciados e seus resultados; `resumo` traz uma síntese. `encontro` pode vir vazio se a seção não tiver dados, e a chamada retorna erro se o `codigo` não existir. Obtenha o `codigo` via `senado_agenda_plenario` ou `senado_resultado_plenario`.

NameTypeReqDescription
codigointegeryesCódigo do encontro/sessão
secaostringQual seção do encontro consultar

Structured output declared, but exposes no named fields.

No examples provided.

senado_execucao_orcamentaria ~607

Execução orçamentária do Senado: despesas (dotação, empenhado, liquidado, pago; desde 2013) ou receitas próprias (previstas e arrecadadas; desde 2012). Para maior/menor/média/mediana/distribuição/ranking ('quanto o Senado pagou/arrecadou com X', 'maior grupo de despesa') use `estatisticas=true`: SEM `agruparPor` = distribuição das linhas (min/máx/média/mediana/percentis) + top/bottom; COM `agruparPor` = grupos ranqueados por soma do `campo` (grupos[0]=maior). `campo` escolhe a coluna (despesas padrão `pago`; receitas padrão `arrecadada`); `campo`/`agruparPor` inválidos para o `tipo` caem no default com `aviso`. Retorna `{ tipo, modo, ano, totalLinhas, ... }`: nos modos agregados, `agregado[]` com `{ chave, ...valores }` ordenado por valor; em `detalhe`, `despesas[]`/`receitas[]` limitado por `limite` (padrão 100, com `aviso` ao truncar). Use `tipo=despesas` com `modo` por-ano/por-acao/por-grupo/por-fonte e `tipo=receitas` com por-origem; filtre por `ano` para reduzir o volume antes de pedir `detalhe`. Única ferramenta de orçamento interno do Senado; não confundir com `senado_orcamento_parlamentar` (emendas/ofícios parlamentares ao orçamento da União).

NameTypeReqDescription
agruparPorstringRanquear grupos por soma do campo (despesas: ano/acao/grupo/fonte/modalidade/resultadoLei/plano; receitas: origem/ano/categoria/especie/natureza)
anointegerFiltrar por exercício financeiro
campostringColuna de valor para estatísticas (despesas padrão `pago`; receitas padrão `arrecadada`)
estatisticasbooleanDistribuição/ranking sobre as linhas: min/máx/média/mediana/percentis + top/bottom, ou grupos ranqueados por soma via agruparPor
limiteintegerMáximo de linhas (padrão: 100)
modostringAgregação (por-acao/por-grupo/por-fonte: despesas; por-origem: receitas) ou detalhe. Ignorado quando estatisticas=true
tipostringdespesas = dotação e execução; receitas = receitas próprias
topNintegerTamanho do top/bottom nas estatísticas (padrão: 10)

Structured output declared, but exposes no named fields.

No examples provided.

senado_horas_extras ~555

Horas extras pagas a servidores do Senado em `ano`/`mes` de referência (a partir de 2013). Para perguntas de **maior/menor/média/mediana/distribuição/ranking** ('quem recebeu mais horas extras', 'valor mediano de hora extra', 'distribuição dos pagamentos') use `estatisticas=true`: computa min/máx/média/mediana/desvio/percentis sobre TODAS as linhas filtradas (`valorTotal`) e devolve `top`/`bottom` (padrão 10) com identificadores. Sem `agruparPor` → `distribuicao` das linhas individuais + `top`/`bottom`; com `agruparPor` (`nome`/`competencia`) → `grupos[]` ranqueados por soma decrescente (`grupos[0]` = quem mais recebeu; por `nome` soma as linhas do mesmo servidor no mês), cada um com sua mini-distribuição. Sem `estatisticas`: retorna `{ ano, mes, count, total, valorTotal, horasExtras[] }`, onde `valorTotal` soma o gasto do mês e cada item traz `nome`, `valorTotal`, `horasExtras`, `competencia` e `pagamento`. Filtro opcional por `nome` (busca parcial) e `limite` (padrão 100, máx 500; ignorado quando estatisticas=true). Para a remuneração completa do servidor use `senado_remuneracoes_servidores`.

NameTypeReqDescription
agruparPorstringQuando estatisticas=true, ranqueia os grupos por soma decrescente (grupos[0] = quem mais recebeu): `nome` soma as linhas do mesmo servidor no mês, `competencia` agrupa por mês de prestação. Cada grup…
anointegeryesAno de referência
estatisticasbooleanComputa estatísticas (min/máx/média/mediana/percentis) + ranking top/bottom sobre todas as linhas filtradas. Use para 'quem recebeu mais/menos', 'média', 'mediana', 'ranking'
limiteintegerMáximo de resultados (padrão: 100; ignorado quando estatisticas=true)
mesintegeryesMês de referência
nomestringNome do servidor (busca parcial)
topNintegerTamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)

Structured output declared, but exposes no named fields.

No examples provided.

senado_licitacoes ~162

Busca licitações do Senado por número exato (ex: `19/2018`) ou texto do objeto. Retorna `{ count, total, licitacoes }` com os registros brutos da API administrativa, limitados a `limite` (padrão 50, máx 500). Exige ao menos `numero` ou `objeto` (sem filtro retorna erro). Para o contrato resultante de uma licitação, use `senado_contratos`.

NameTypeReqDescription
limiteintegerMáximo de resultados (padrão: 50)
numerostringNúmero exato da licitação (ex: 19/2018)
objetostringTexto no objeto da licitação

Structured output declared, but exposes no named fields.

No examples provided.

senado_liderancas ~203

Lista as lideranças do Senado e do Congresso Nacional (líderes, vice-líderes etc.). Retorna `{ count, liderancas }`, cada item com `tipo`, `descricao`, `unidadeLideranca` e `parlamentar` (`codigo`, `nome`, `partido`, `uf`). Filtre por `casa` (SF/CN), `codigoParlamentar`, `vigente` (S/N) ou `siglaTipoLideranca`; sem filtros retorna todas. Para a composição de blocos use `senado_listar_blocos`.

NameTypeReqDescription
casastringCasa legislativa (SF=Senado, CN=Congresso)
codigoParlamentarintegerCódigo do parlamentar
siglaTipoLiderancastringTipo de liderança (ex: LIDER, VICE-LIDER)
vigentestringApenas vigentes (S/N)

Structured output declared, but exposes no named fields.

No examples provided.

senado_listar_blocos ~121

Lista todos os blocos parlamentares do Senado e seus partidos membros. Retorna `{ count, blocos }`, onde cada bloco traz `codigo`, `nome`, `nomeApelido`, `dataCriacao`, `dataExtincao` e a lista `partidos` (cada um com `sigla`, `nome`, `dataAdesao`). Use para descobrir o `codigo` de um bloco e depois detalhá-lo via `senado_obter_bloco`; para lideranças use `senado_liderancas`.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

senado_listar_comissoes ~165

Lista comissões (colegiados) ativas do Senado, com filtros por `tipo` (permanente, temporaria, cpi, mista) e `ativa`. Retorna `{ count, comissoes }`, cada item com `codigo`, `sigla`, `nome`, `tipo`, `casa` e `ativa`. O endpoint só traz comissões ativas, logo `ativa=false` resulta em lista vazia. Use para descobrir a `sigla` exigida por `senado_obter_comissao` e `senado_reunioes_comissao`.

NameTypeReqDescription
ativabooleanApenas comissões ativas
tipostringTipo: permanente, temporaria, cpi, mista

Structured output declared, but exposes no named fields.

No examples provided.

senado_listar_senadores ~348

Use para pedidos como 'liste os senadores em exercício', 'senadores atuais', 'lista atual de senadores' ou filtros por UF/partido. Lista senadores em exercício ou de uma legislatura específica, com filtros opcionais por `nome`, `uf` e `partido`. Retorna `{ count, senadores }`, cada item com `codigo`, `nome`, `nomeCompleto`, `partido`, `uf`, `foto` e `emExercicio`, mais proveniência oficial do endpoint `/senador/lista/atual`. Use `emExercicio` (padrão `true`) ou `legislatura` para escolher o conjunto; `nome` faz correspondência parcial ignorando acentos/maiúsculas (use quando você só tem o nome e precisa do `codigo`); `uf`/`partido` filtram localmente. Use o `codigo` em `senado_obter_senador` ou `senado_votacoes_senador`. Para senadores fora de exercício veja `senado_senadores_afastados`.

NameTypeReqDescription
emExerciciobooleanFiltrar apenas senadores em exercício
legislaturaintegerNúmero da legislatura (ex: 57 para 2023-2027)
nomestringNome ou parte do nome (busca parcial, sem acento)
partidostringSigla do partido (ex: PT, PL, MDB); tolera formas curtas como PODE→PODEMOS
ufstringSigla do estado (ex: SP, RJ, MG)

Structured output declared, but exposes no named fields.

No examples provided.

senado_mesa ~134

Lista os membros da Mesa Diretora (presidente, vice-presidentes, secretários). O parâmetro `casa` (padrão `senado`) escolhe entre `senado` (Mesa do Senado Federal) e `congresso` (Mesa do Congresso Nacional). Retorna `{ casa, mesa, count, membros }`, cada membro com `cargo`, `codigo`, `nome`, `partido` e `uf`. Para lideranças partidárias use `senado_liderancas`.

NameTypeReqDescription
casastringsenado (Mesa do SF) ou congresso (Mesa do CN)

Structured output declared, but exposes no named fields.

No examples provided.

senado_notas_taquigraficas ~486

Transcrição oficial (notas taquigráficas) de uma sessão plenária ou reunião de comissão, em blocos sequenciais. Retorna `{ id, tipo, sessao, data, totalBlocos, aviso?, blocos }`; `id` inexistente ou sessão sem transcrição retorna `totalBlocos` 0 e `blocos` vazio. `modo` governa o payload: `resumo` (padrão) traz por bloco `sequencia`, `dataInicio/Fim`, `trecho` (200 chars), `caracteres` e `linkAudio`, limitado a `limite` (padrão 20; pagine com `sequenciaInicio`, `aviso` sinaliza corte); `texto` traz o conteúdo integral de até 20 blocos por chamada (janela `sequenciaInicio`→`sequenciaFim`) e inclui `intervalo`. `sequenciaFim` só atua em `modo=texto`. Obtenha o `id` via `senado_agenda_plenario`/`senado_resultado_plenario` (sessão) ou `senado_reuniao_comissao` (reunião); `orador` filtra blocos pelo nome citado. Para a mídia (vídeo/áudio) use `senado_videos_taquigrafia`, não esta.

NameTypeReqDescription
idintegeryesCódigo da sessão plenária ou da reunião de comissão
limiteintegermodo=resumo: máximo de blocos por chamada (padrão 20); o excedente é sinalizado em aviso
modostringresumo = blocos com trecho inicial; texto = transcrição integral dos blocos selecionados
oradorstringRetorna só blocos cujo texto menciona este nome (busca parcial no conteúdo)
sequenciaFimintegerÚltimo bloco no modo texto (ignorado no modo resumo); a janela é capada em 20 blocos por chamada
sequenciaIniciointegerPrimeiro bloco a retornar (base 1); pagina o modo resumo e abre a janela do modo texto (padrão: 1)
tipostringsessao = plenário (padrão); reuniao = comissão

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_bloco ~132

Obtém detalhes de um bloco parlamentar específico pelo seu código. Retorna um objeto com `codigo`, `nome`, `nomeApelido`, `dataCriacao`, `dataExtincao` e `partidos` (array com `sigla`, `nome`, `dataAdesao`); `dataExtincao` é `null` para blocos vigentes. Obtenha o parâmetro `codigo` primeiro via `senado_listar_blocos`; código inexistente retorna erro ("Bloco parlamentar não encontrado").

NameTypeReqDescription
codigointegeryesCódigo do bloco parlamentar

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_comissao ~200

Obtém dados de uma comissão pela `sigla`, conforme `secao` (padrão `resumo`): `resumo` → `{ codigo, sigla, nome, finalidade, presidente, vicePresidente, totalMembros, titulares, suplentes }` (presidente/vice com `nome`/`codigo`/`bancada`). `membros` → `{ sigla, secao, count, membros }`, cada membro com `codigo`, `nome`, `tipoVaga` (titular/suplente), `ativo` e `dataInicio`. A sigla é resolvida internamente para código numérico; descubra-a via `senado_listar_comissoes`.

NameTypeReqDescription
secaostringresumo (mesa/totais) ou membros (composição completa)
siglastringyesSigla da comissão (ex: CCJ, CAE)

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_legislacao ~209

Obtém o detalhe de uma norma federal já promulgada pelo seu `codigo` interno. Retorna um objeto com `codigo`, `tipo`, `descricaoTipo`, `numero`, `ano`, `data` (ISO), `norma`, `apelido`, `ementa`, `indexacao` (termos temáticos) e `url` do texto integral — campos ausentes na norma vêm `null`, e `codigo` inexistente retorna erro "Norma não encontrada". Obtenha o `codigo` antes via `senado_buscar_legislacao` (é o identificador interno da norma, não o número da lei). Para localizar normas por tipo/número/ano use `senado_buscar_legislacao`; esta serve só para o detalhe de uma norma já identificada.

NameTypeReqDescription
codigointegeryesIdentificador interno da norma (campo `codigo` retornado por senado_buscar_legislacao; ≠ número da lei)

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_materia ~325

Obtém dados de uma matéria pelo `codigoMateria`, conforme `secao` (padrão `detalhe`): `detalhe` → objeto com `identificacao`, `apelido`, `ementa`, `autor`, `situacao`, `localAtual`, `dataApresentacao`, `indexacao`, `classificacoes[]`, `tramitando`, `relator` (nome/partido/uf/comissão), `deliberacao` e `normaGerada`. `tramitacao` → histórico de tramitação cronológico em `tramitacoes[]` (`data`, `local`, `descricao`), com `count`/`total` (mantém os mais recentes ao truncar). `textos` → documentos da matéria em `textos[]` (`tipo`, `formato`, `identificacao`, `data`, `autoria`, `url`), do mais recente ao mais antigo. `limite` aplica-se a tramitacao/textos (padrão 100 e 50; ao truncar inclui `aviso`). Obtenha o `codigoMateria` via `senado_buscar_materias`.

NameTypeReqDescription
codigoMateriaintegeryesCódigo único da matéria
limiteintegerMáximo de itens em tramitacao/textos (padrão: 100 tramitacao, 50 textos)
secaostringdetalhe (situação/relator), tramitacao (histórico) ou textos (documentos)

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_processo ~216

Obtém detalhes completos de um processo legislativo específico pelo seu `id`. Retorna um objeto com `id`, `codigoMateria`, `identificacao`, `sigla`, `numero`, `ano`, `objetivo`, `ementa`, `tipoConteudo`, `dataApresentacao`, `autoria`, `indexacao`, `urlDocumento`, `tramitando` (boolean) e o estado atual do processo: `situacaoAtual` (+`siglaSituacaoAtual`/`dataSituacaoAtual`), `deliberacao` (data, tipo, destino) e `normaGerada` (quando o processo virou norma). Obtenha o `idProcesso` antes via `senado_search_processos` ou `senado_buscar_materias`; para emendas, relatorias ou prazos use `senado_processo_detalhe` (parâmetro `secao`).

NameTypeReqDescription
idProcessointegeryesID do processo legislativo

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_senador ~179

Obtém o detalhe biográfico de um senador específico. Retorna um objeto com `codigo`, `nome`, `nomeCompleto`, `nomeCivil`, `sexo`, `dataNascimento`, `naturalidade`/`ufNaturalidade`, `partido`, `uf`, `foto`, `email` e a lista `mandatos` (`legislatura`, `uf`, `participacao`, `dataInicio`, `dataFim`). Requer `codigoSenador` — obtenha-o via `senado_listar_senadores` (filtro `nome`). Para filiações, profissões, licenças, comissões ou cargos use `senado_senador_historico` (parâmetro `tipo`).

NameTypeReqDescription
codigoSenadorintegeryesCódigo único do senador no sistema do Senado

Structured output declared, but exposes no named fields.

No examples provided.

senado_obter_votacao ~225

Obtém detalhes de uma votação de **plenário** pelo `codigoVotacao` (que é o `codigoSessao` da sessão plenária), incluindo votos nominais. Retorna o objeto da votação (placar, `resultado` legível + `resultadoCodigo` bruto, `secreta`) com `votos[]` (`codigoSenador`, `nomeSenador`, `partido`, `uf`, `voto`); se a sessão tiver várias votações, retorna `{ codigoSessao, count, votacoes }`. Obtenha o `codigoSessao` via `senado_search_votacoes` antes de chamar. Atenção: este endpoint só aceita códigos de votação de **plenário** — códigos de `senado_votacao_comissao` pertencem a outro espaço de numeração e NÃO são válidos aqui (podem coincidir numericamente, mas apontam para outra votação).

NameTypeReqDescription
codigoVotacaointegeryesCódigo único da votação (codigoSessao da sessão plenária)

Structured output declared, but exposes no named fields.

No examples provided.

senado_orcamento_parlamentar ~451

Emendas parlamentares ao orçamento da União, conforme `tipo` (padrão `emendas`). `tipo: emendas` (proposição) → `{ tipo, count, emendas }`, cada item (lote de emendas de um autor) com `autor`, `codigoAutor`, `quantidadeEmendas`, `anoExecucao`, `materia` (peça orçamentária, p.ex. `LOA 29/2023`), `tipoPl`, `dataOperacao` e `ativo`. `tipo: oficios` (execução — indicação de destino de emendas já aprovadas) → `{ tipo, ano, count, total, aviso?, oficios }`, cada ofício com `id`, `autor`, `protocolo`, `dataInclusao` e `quantidadeEmendas`; filtre pelo `ano` do orçamento da emenda (recomendado — a base cobre vários anos), pagine com `limite`/`pagina`, e use `incluirEmendas: true` para o detalhe de cada emenda (favorecido, CNPJ, órgão, nota de empenho). Nota: no modo oficios, o ofício é o documento de execução que indica o destino do recurso de uma emenda já aprovada (posterior à proposição); a data do ofício difere do ano do orçamento. Para a execução do orçamento interno do próprio Senado (despesas/receitas) use `senado_execucao_orcamentaria`.

NameTypeReqDescription
anointegerAno do orçamento da emenda (filtra tipo=oficios pelo ano das emendas)
incluirEmendasbooleantipo=oficios: incluir o detalhe das emendas (favorecido, CNPJ, nota de empenho)
limiteintegerMáximo de ofícios por página (tipo=oficios; padrão 50)
paginaintegerPágina de ofícios (tipo=oficios; padrão 1)
tipostringemendas (lotes de emendas propostas) ou oficios (ofícios de indicação de destino)

Structured output declared, but exposes no named fields.

No examples provided.

senado_orientacao_bancada ~213

Orientação de bancada nas votações de plenário: como cada liderança partidária orientou o voto, com placar — essencial para análise de disciplina partidária. Retorna `{ count, votacoes }`, com cada votação trazendo `codigoVotacao`, `descricao`, `materia`, `dataInicio`, `dataTermino`, `sessao`, totais (`totalSim`, `totalNao`, `totalAbstencao`, `obstrucoes`), `quorumInicial`/`quorumFinal` e `orientacoes` (`partido`, `voto`). Informe `data` (um dia) ou o período `dataInicio`/`dataFim`. Para o resultado das sessões use `senado_resultado_plenario`.

NameTypeReqDescription
datastringData da sessão (YYYYMMDD)
dataFimstringData fim do período (YYYYMMDD)
dataIniciostringData início do período (YYYYMMDD)

Structured output declared, but exposes no named fields.

No examples provided.

senado_pessoal_tabelas ~276

Tabelas de pessoal do Senado conforme o parâmetro `tabela`. Quantitativos agregados: `pessoal` (força de trabalho por classe/escolaridade), `cargos-funcoes` (cargos em comissão e funções de confiança), `previsao-aposentadoria`, `senadores`. Listas nominais: `estagiarios` (ativos), `pensionistas`, `lotacoes` (setores), `cargos` (nomes de cargos). Retorna `{ tabela, count, total, aviso?, registros[] }` — registros agregados (nos quantitativos) ou nominais (nas listas), conforme a `tabela`, limitados por `limite` (padrão 100, máx 2000); `count` 0 e lista vazia quando a tabela não tem registros. O `filtro` textual opcional casa contra qualquer campo do registro. Para o cadastro nominal de servidores efetivos/comissionados use `senado_servidores`.

NameTypeReqDescription
filtrostringFiltro textual (nome, curso, setor...)
limiteintegerMáximo de registros (padrão: 100)
tabelastringyesQual tabela de pessoal consultar (quantitativo agregado ou lista nominal)

Structured output declared, but exposes no named fields.

No examples provided.

senado_processo_detalhe ~512

Detalha um aspecto de processos legislativos conforme o parâmetro `secao`: `emendas` → emendas apresentadas (`id`, `identificacao`, `numero`, `tipo`, `autoria`, `data`, `colegiado`, `descricao`, `decisoes` (objetos com `casa`/`data`/`tipo`/`comissao`/`nomeComissao`), `url`; aceita filtro `codigoParlamentarAutor`); `relatorias` → relatorias designadas (`idProcesso`, `processo`, `relator`, `partido`, `uf`, `tipoRelator`, `comissao`, `dataDesignacao`, `dataDestituicao`, `motivoEncerramento`; aceita `codigoParlamentar`/`codigoColegiado`/`dataReferencia`); `prazos` → prazos regimentais/constitucionais (registros brutos da API; aceita `dataReferencia`). Todos aceitam `idProcesso` e/ou `codigoMateria` e período `dataInicio`/`dataFim` (YYYYMMDD ou ISO) — informe pelo menos um filtro. Retorna `{ secao, count, total, aviso?, itens }`, limitado a `limite` (padrão 100, máx. 500). Obtenha o `idProcesso` via `senado_search_processos`; tipos de prazo via `senado_tabelas_processo`.

NameTypeReqDescription
codigoColegiadointegersecao=relatorias: código do colegiado
codigoMateriaintegerCódigo legado da matéria
codigoParlamentarintegersecao=relatorias: código do parlamentar relator
codigoParlamentarAutorintegersecao=emendas: código do parlamentar autor
dataFimstringAté esta data (YYYYMMDD ou YYYY-MM-DD)
dataIniciostringA partir desta data (YYYYMMDD ou YYYY-MM-DD)
dataReferenciastringsecao=relatorias/prazos: vigentes nesta data (YYYYMMDD ou YYYY-MM-DD)
idProcessointegerID do processo
limiteintegerMáximo de resultados (padrão: 100)
secaostringyesQual aspecto detalhar: emendas, relatorias ou prazos

Structured output declared, but exposes no named fields.

No examples provided.

senado_remuneracoes_servidores ~684

Remunerações dos servidores do Senado em `ano`/`mes` de referência (a partir de 2013). Para perguntas de **maior/menor/média/mediana/ranking** ('quem ganhou mais em junho/2026', 'remuneração média') use `estatisticas=true`: computa min/máx/média/mediana/desvio/percentis sobre a folha INTEIRA e devolve `top`/`bottom` (padrão 10) com `nome` e `sequencial` — o modo `resumo`/`detalhe` só vê uma fatia e não acha o extremo real. `campo` escolhe a coluna (padrão `bruto`; ex.: `liquida`, `horasExtras`); `consolidarPorServidor` (padrão true) soma as linhas Normal+Suplementar da mesma pessoa antes das estatísticas; `agruparPor='tipoFolha'` devolve estatísticas por grupo (implica não-consolidado). Sem `estatisticas`: `modo=resumo` (padrão) retorna `{ ano, mes, totalRegistros, resumo[] }` agregado por `tipoFolha`; `modo=detalhe` retorna `{ count, total, remuneracoes[] }` com a composição individual, limitada por `limite` (padrão 50, máx 500). Filtros `nome`/`tipoFolha` aplicam antes de tudo. Para o cadastro de servidores use `senado_servidores`.

NameTypeReqDescription
agruparPorstringQuando estatisticas=true, devolve estatísticas por grupo (só `tipoFolha`); implica dados por linha (não consolidados)
anointegeryesAno de referência
campostringColuna sob análise quando estatisticas=true (padrão: bruto). Opções: bruto, liquida, remuneracaoBasica, vantagensPessoais, funcaoComissionada, gratificacaoNatalina, horasExtras, outrasEventuais, abon…
consolidarPorServidorbooleanSoma as linhas (Normal+Suplementar) do mesmo servidor por `sequencial` antes das estatísticas (padrão: true). Ignorado — forçado a false — quando agruparPor está definido
estatisticasbooleanComputa estatísticas (min/máx/média/mediana/percentis) + ranking top/bottom sobre a folha inteira. Use para 'quem ganhou mais/menos', 'média', 'ranking'
limiteintegerMáximo de linhas no modo detalhe (padrão: 50)
mesintegeryesMês de referência
modostringresumo = totais por tipo de folha (padrão); detalhe = composição individual. Ignorado quando estatisticas=true
nomestringNome do servidor (busca parcial)
tipoFolhastringFiltrar por tipo de folha (busca parcial)
topNintegerTamanho das listas top/bottom quando estatisticas=true (padrão: 10, máx: 100)

Structured output declared, but exposes no named fields.

No examples provided.

senado_requerimentos_cpi ~269

Lista requerimentos de uma CPI (Comissão Parlamentar de Inquérito) em atividade, pela `siglaCpi`, com paginação por `pagina` (índice baseado em 0, definido pelo upstream). Retorna `{ siglaCpi, pagina, count, requerimentos }`, onde `requerimentos` é a lista de registros brutos da página (campos conforme a API: tipicamente número, data, ementa, autor e situação do requerimento). `count` é o tamanho da página; uma página além do total retorna `count` 0 — use isso para saber que as páginas acabaram. Descubra as siglas via `senado_listar_comissoes` com `tipo=cpi`. Limitação conhecida: o endpoint upstream costuma responder vazio mesmo para CPIs em atividade, e não há fonte alternativa limpa na API; nesses casos o retorno traz `count` 0 e um campo `aviso` explicando — não interprete lista vazia como certeza de que a CPI não possui requerimentos.

NameTypeReqDescription
paginaintegerPágina da lista (padrão: 0)
siglaCpistringyesSigla da CPI (ex: CPIVD, CPIPED)

Structured output declared, but exposes no named fields.

No examples provided.

senado_resultado_plenario ~249

Resultado das sessões plenárias numa data: itens de pauta apreciados, pareceres e resultados. Retorna `{ data, escopo, count, sessoes }` (todas as sessões da data, sem paginação), com cada sessão trazendo `codigoSessao`, `numeroSessao`, `data`, `hora`, `tipo`, `casa` e `itens` (`codigoMateria`, `identificacao`, `ementa`, `resultado`, `parecer` — `resultado`/`parecer` podem vir `null` em itens ainda não deliberados). Sem sessão na data, `count` é 0 e `sessoes` vem vazio. `escopo`: sf (Senado), cn (Congresso) ou mes (resumo do mês). Para a pauta prévia use `senado_agenda_plenario`; orientação de bancada via `senado_orientacao_bancada`.

NameTypeReqDescription
datastringyesData da sessão (YYYYMMDD); para escopo=mes, qualquer dia do mês
escopostringsf = Senado no dia; cn = Congresso no dia; mes = resumo do mês

Structured output declared, but exposes no named fields.

No examples provided.

senado_resultado_veto ~295

Obtém o resultado da apreciação de um veto presidencial. Retorna `{ codigo, tipo, resultado }`, onde `resultado` é o objeto bruto da API (sem wrappers), com campos variáveis — tipicamente identificação do veto, situação por dispositivo (ex.: "Rejeitado"/"Mantido") e link do PDF do resultado nominal (`PdfsResultadoVotacao`). A API **não** fornece placar numérico (sim/não) aqui — o detalhamento nominal está no PDF; vem **objeto vazio** quando o veto ainda não foi votado e **retorna erro** se o `codigo` não existir. `tipo` define o que `codigo` representa: `veto` (código do veto, padrão), `materia` (código do projeto vetado) ou `dispositivo` (dispositivo de veto parcial) — as três chaves apontam para o mesmo veto. Obtenha o código via `senado_vetos`. Para **listar** vetos (não o resultado de um) use `senado_vetos`.

NameTypeReqDescription
codigointegeryesCódigo do veto, da matéria vetada ou do dispositivo — qual deles depende de `tipo`
tipostringDefine a chave em codigo: veto = código do veto (padrão); materia = código do projeto vetado; dispositivo = dispositivo de veto parcial

Structured output declared, but exposes no named fields.

No examples provided.

senado_reuniao_comissao ~181

Detalha uma reunião de comissão pelo `codigoReuniao`. Retorna um objeto com `codigo`, `titulo`, `comissao`, `data`, `hora`, `local`, `situacao`, `realizada`, `secreta`, `presidente`, links `urlPauta`/`urlResultado`/`urlAta` e `partes` (cada parte com `evento` e `itens` apreciados: `identificacao`, `ementa`, `autoria`, `relatoria`, `resultado`, `codigoMateria`). Obtenha o `codigoReuniao` em `senado_agenda_comissoes` ou `senado_reunioes_comissao`.

NameTypeReqDescription
codigoReuniaointegeryesCódigo da reunião (campo 'codigo' na agenda de comissões)

Structured output declared, but exposes no named fields.

No examples provided.

senado_reunioes_comissao ~184

Lista reuniões de uma comissão (pela `sigla`) num intervalo `dataInicio`/`dataFim` (YYYYMMDD); sem datas, usa os últimos 30 dias. Retorna `{ sigla, periodo, count, reunioes }`, cada reunião com `codigo`, `descricao`, `data`, `hora`, `local`, `tipo` e `situacao`. Intervalos entre anos são divididos por ano internamente. Descubra a `sigla` via `senado_listar_comissoes`; use o `codigo` retornado em `senado_reuniao_comissao` para os detalhes da pauta.

NameTypeReqDescription
dataFimstringData fim (YYYYMMDD)
dataIniciostringData início (YYYYMMDD)
siglastringyesSigla da comissão

Structured output declared, but exposes no named fields.

No examples provided.