MCP Server

Dados Abertos Senado BR MCP

io.github.SidneyBissoli/senado-br-mcp-cloudflare

What this MCP does

Searches and retrieves Brazilian Federal Senate legislative, administrative, budgetary, contracting, speech, committee, and e-Cidadania open data.

fetch
Documento para Deep Research
Returns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite. Companion of `search` in the OpenAI Deep Research contract, over the Brazilian Federal Senate open data (senators in office and active committees of the Senate and the National Congress) catalog. Only ids returned by `search` are valid; an unknown id returns an error. The `senado_*` tools remain the tools for data queries. Behavior: read-only and idempotent — a live GET against the public source when the document needs it.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Identificador de um documento devolvido por `search`'}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
search
Busca para Deep Research
Searches the Brazilian Federal Senate open data (senators in office and active committees of the Senate and the National Congress) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched). This tool exists for the OpenAI Deep Research contract: ChatGPT deep research, company knowledge and research workflows over the Responses API require exactly the tools `search` and `fetch`. Pass one of the returned ids to `fetch` to read the document. For direct questions and for data (values, series, rankings) prefer the `senado_*` tools, which return the actual data with provenance — this is a catalog index, not a data query. Query: natural language or keywords, Portuguese or English; accents and case are ignored. Behavior: read-only and idempotent — the catalog comes from the public source and is cached in memory.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Termos de busca em linguagem natural ou palavras-chave (acentos e caixa são ignorados)'}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_agenda_comissoes
Agenda das comissões
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data especÃ\xadfica (YYYYMMDD)'}, 'siglaComissao': {'type': 'string', 'minLength': 2, 'description': 'Filtrar por comissão especÃ\xadfica'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_agenda_plenario
Agenda do plenário
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data especÃ\xadfica (YYYYMMDD; padrão: hoje)'}, 'escopo': {'enum': ['dia', 'mes', 'cn'], 'type': 'string', 'default': 'dia', 'description': 'dia = SF+CN no dia; mes = mês inteiro; cn = plenário do Congresso'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim para perÃ\xadodo do CN (YYYYMMDD; apenas escopo=cn)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_autores_atuais
Autores em exercício
Lista parlamentares autores de processos em tramitação, ordenados por produção (maior número de matérias primeiro). Atenção à semântica: 'atual' significa 'com processo AINDA EM TRAMITAÇÃO', não 'mandato vigente' — a lista mistura senadores, deputados e ex-parlamentares, e a mesma pessoa pode aparecer 2× com códigos distintos (ex.: como 'Senador' e como 'Deputado', pelo `tratamento`); não use como lista de senadores em exercício (para isso, `senado_listar_senadores`). 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).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'maxLength': 2, 'description': 'Filtrar por UF (ex: SP)'}, 'nome': {'type': 'string', 'description': 'Filtrar por nome (busca parcial)'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_buscar_legislacao
Buscar legislação federal
Busca normas jurídicas federais **já promulgadas** (leis, decretos, leis complementares, emendas constitucionais etc.) combinando os filtros `tipo`, `numero`, `ano` e `data` em modo AND; informe ao menos um: uma chamada sem nenhum filtro retorna erro determinístico, não uma lista vazia. Somente leitura, sem efeitos colaterais; consulta ao vivo à base oficial de dados abertos, cujos resultados podem variar entre chamadas. Retorna `{ count, normas }` sem paginação: `count` é o total de normas que casam (0, sem erro, quando nenhuma casa) e cada item traz `codigo`, `tipo`, `descricaoTipo`, `numero`, `ano`, `data` (ISO AAAA-MM-DD), `norma`, `ementa` e `apelido`, com `null` nos campos ausentes. Passe o `codigo` a `senado_obter_legislacao` para obter a indexação temática e a URL do texto integral. Para **proposições ainda em tramitação** (PEC, PL, PLP, MPV) use `senado_buscar_materias`; esta ferramenta cobre apenas normas já promulgadas.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Ano de assinatura/promulgação da norma, entre 1900 e 2100; ex.: 2021.'}, 'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data exata de assinatura no formato compacto AAAAMMDD (8 dÃ\xadgitos, sem separadores), ex.: 20210401. Atenção: difere do campo `data` retornado, que vem em ISO AAAA-MM-DD.'}, 'tipo': {'type': 'string', 'description': 'Sigla oficial da espécie normativa: LEI, DEC (decreto), LCP (lei complementar), EMC (emenda constitucional), entre outras; catálogo completo em senado_tabelas_referencia (tabela=tipos-norma). Omitir alarga a busca a todas as espécies.'}, 'numero': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Número sequencial da norma (inteiro > 0), ex.: 14133 para a Lei n. 14.133/2021. Combina com `tipo` e `ano` em modo AND.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_buscar_materias
Buscar matérias legislativas
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`. Ex.: `{ palavraChave: 'inteligência artificial', ano: 2025, limite: 10 }` ou `{ sigla: 'PEC', numero: 45, ano: 2019 }` (datas em YYYYMMDD ou ISO).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Ano da matéria'}, 'ordem': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Direção da ordenação quando ordenarPor=dataApresentacao'}, 'sigla': {'type': 'string', 'description': 'Tipo: PEC, PL, PLP, MPV, PDL, PRS, etc.'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 100)'}, 'numero': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Número da matéria', 'exclusiveMinimum': 0}, 'autorNome': {'type': 'string', 'description': 'Nome do autor'}, 'ordenarPor': {'enum': ['relevancia', 'dataApresentacao'], 'type': 'string', 'default': 'dataApresentacao', 'description': 'Ordenação local; padrão dataApresentacao para favorecer pedidos recentes'}, 'tramitando': {'type': 'boolean', 'description': 'Apenas em tramitação'}, 'palavraChave': {'type': 'string', 'description': 'Termo livre buscado nas palavras-chave do processo'}, 'dataFimApresentacao': {'type': 'string', 'pattern': '^(\\d{8}|\\d{4}-\\d{2}-\\d{2})$', 'description': 'Data final de apresentação (YYYYMMDD ou YYYY-MM-DD)'}, 'dataInicioApresentacao': {'type': 'string', 'pattern': '^(\\d{8}|\\d{4}-\\d{2}-\\d{2})$', 'description': 'Data inicial de apresentação (YYYYMMDD ou YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ceaps
Gastos CEAPS (cota parlamentar)
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ano'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 2008, 'description': 'Ano das despesas'}, 'mes': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Filtrar por mês'}, 'modo': {'enum': ['por-senador', 'por-tipo', 'por-mes', 'por-fornecedor', 'detalhe'], 'type': 'string', 'default': 'por-senador', 'description': 'Agregação ou detalhe (padrão: por-senador). Ignorado quando estatisticas=true'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de linhas no resultado (padrão: 100)'}, 'agruparPor': {'enum': ['senador', 'tipo', 'mes', 'fornecedor'], 'type': 'string', 'description': 'Quando estatisticas=true, ranqueia os grupos por soma decrescente (grupos[0] = maior gastador), cada grupo com sua mini-distribuição'}, 'codSenador': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Filtrar por código do senador'}, 'fornecedor': {'type': 'string', 'description': 'Filtrar por fornecedor (busca parcial)'}, 'nomeSenador': {'type': 'string', 'description': 'Filtrar por nome do senador (busca parcial)'}, 'tipoDespesa': {'type': 'string', 'description': 'Filtrar por tipo de despesa (busca parcial)'}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (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'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_contratacao_detalhe
Detalhar contratação
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 (o `id` é conferido na lista-pai antes, então `count` 0 significa mesmo seção vazia, não contratação inexistente); `id` que não existe e combinações `secao`×`tipo` inválidas (ex.: `aditivos` fora de contratos) retornam erro. Atenção: a fonte NÃO publica o valor do contrato em nenhuma seção; apenas `aditivos` traz `valor`, referente ao termo aditivo (às vezes nulo) — não procure valor monetário em itens/pagamentos/garantias. Obtenha o `id` via `senado_contratos` ou `senado_contratacoes_lista` — para localizar a contratação (não detalhá-la) use aquelas ferramentas.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'secao'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "ID da contratação (campo 'id' das listas de contratos/atas/empenhos)", 'exclusiveMinimum': 0}, 'tipo': {'enum': ['contratos', 'atas_registro_preco', 'notas_empenho'], 'type': 'string', 'default': 'contratos', 'description': 'contratos = contrato firmado (padrão); atas_registro_preco = compromisso de preços p/ compras futuras; notas_empenho = reserva orçamentária do gasto'}, 'secao': {'enum': ['itens', 'pagamentos', 'garantias', 'aditivos', 'acionamentos'], 'type': 'string', 'description': 'Aspecto a detalhar: itens/pagamentos/garantias (qualquer tipo); aditivos (só contratos); acionamentos (só atas_registro_preco)'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de itens (padrão 100, máx 500); count < total sinaliza corte'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_contratacoes_lista
Listar contratações
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). Ordenação por `ordem` sobre a sequência de id do upstream: `desc` (padrão) = mais recentes primeiro, `asc` = mais antigos primeiro; `offset` pula registros para paginar a cauda. 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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo'], 'properties': {'tipo': {'enum': ['atas_registro_preco', 'notas_empenho', 'menores_aprendizes'], 'type': 'string', 'description': 'Qual lista consultar'}, 'ordem': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'desc = mais recentes primeiro (padrão); asc = mais antigos primeiro (ordem de id do upstream)'}, 'filtro': {'type': 'string', 'description': 'Filtro textual (empresa, objeto, etc.)'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Registros a pular após a ordenação (paginação; padrão: 0)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_contratos
Contratos do Senado
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1990, 'description': 'Ano do contrato'}, 'cnpj': {'type': 'string', 'description': 'CNPJ/CPF exato do fornecedor'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}, 'numero': {'type': 'string', 'description': 'Número do contrato (busca parcial)'}, 'objeto': {'type': 'string', 'description': 'Texto no objeto do contrato'}, 'maoDeObra': {'type': 'boolean', 'description': 'Apenas contratos com mão de obra residente'}, 'fornecedor': {'type': 'string', 'description': 'Nome do fornecedor (busca parcial)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_discursos_plenario
Discursos no plenário
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dataInicio', 'dataFim'], 'properties': {'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim (YYYYMMDD)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio (YYYYMMDD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_discursos_senador
Discursos de um senador
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. ATENÇÃO: para `tipo=discursos`, omitir `dataInicio`/`dataFim` faz a fonte retornar SOMENTE os últimos 30 dias (frequentemente vazio) — para o histórico, informe o período explícito (ex.: desde o início do mandato); apenas `apartes` traz o histórico completo sem período. 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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoSenador'], 'properties': {'casa': {'type': 'string', 'description': 'Restringe Ã\xa0 casa: SF (Senado Federal) ou CN (Congresso Nacional); vazio traz ambas'}, 'tipo': {'enum': ['discursos', 'apartes'], 'type': 'string', 'default': 'discursos', 'description': 'discursos = pronunciamentos próprios (padrão); apartes = intervenções em discursos de outros â\x80\x94 altera a fonte e o conteúdo retornado'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Fim do perÃ\xadodo (YYYYMMDD); para tipo=discursos, omitir o perÃ\xadodo limita a resposta aos últimos 30 dias'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'InÃ\xadcio do perÃ\xadodo (YYYYMMDD); use junto com dataFim. Para tipo=discursos, sem perÃ\xadodo a fonte retorna só os últimos 30 dias'}, 'codigoSenador': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único do senador', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_discurso_texto
Texto de um discurso
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoPronunciamento'], 'properties': {'codigoPronunciamento': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código do pronunciamento (campo `codigo` de senado_discursos_senador ou senado_discursos_plenario); um por discurso', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_distribuicao_materias
Ranking de autoria/relatoria por comissão
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['siglaComissao'], 'properties': {'tipo': {'enum': ['autoria', 'relatoria'], 'type': 'string', 'default': 'autoria', 'description': 'autoria = matérias de autoria por parlamentar (padrão); relatoria = matérias relatadas'}, 'siglaComissao': {'type': 'string', 'minLength': 2, 'description': 'Sigla da comissão (ex: CCJ, CAE)'}, 'codigoParlamentar': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restringe a um parlamentar â\x80\x94 efetivo apenas em tipo=autoria (ignorado em relatoria)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_consultas_analise
Análise de consultas públicas
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 }`. É esta a ferramenta para 'consultas mais votadas', ranking ou panorama ATUAL da votação das consultas em tramitação — não confundir com `senado_ecidadania_consultas_votos`, que é o acervo HISTÓRICO (matérias já arquivadas) com quebra por UF. Para o detalhe de uma consulta use `senado_ecidadania_obter_consulta`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'modo': {'enum': ['consenso', 'polarizada'], 'type': 'string', 'default': 'consenso', 'description': 'consenso (alta concordância) ou polarizada (~50/50)'}, 'limite': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Número máximo de resultados'}, 'status': {'enum': ['aberta', 'encerrada', 'todas'], 'type': 'string', 'default': 'aberta', 'description': 'Recorte do conjunto (padrão: aberta = opinião atual). encerrada cobre consultas que saÃ\xadram de tramitação desde a ingestão (cresce com o tempo); fechadas antes da 1ª carga não são capturadas.'}, 'minimoVotos': {'type': 'integer', 'default': 1000, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'MÃ\xadnimo de votos para considerar'}, 'percentualMinimo': {'type': 'integer', 'default': 85, 'maximum': 100, 'minimum': 50, 'description': 'Modo consenso: percentual mÃ\xadnimo numa direção'}, 'margemPolarizacao': {'type': 'integer', 'default': 15, 'maximum': 50, 'minimum': 0, 'description': 'Modo polarizada: considera polarizado se diferença â\x89¤ este percentual'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_consultas_votos
Votos em consultas por UF
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). Use apenas quando o pedido for pelo acervo/arquivo histórico ou por votos por estado (UF); para 'consultas mais votadas', ranking ou opinião ATUAL das consultas em tramitação use `senado_ecidadania_consultas_analise`. 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).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Sigla da UF (ex.: SP) â\x80\x94 filtra e ranqueia por votos daquele estado'}, 'ordem': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Ordem (padrão desc)'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Número máximo de resultados'}, 'materia': {'type': 'string', 'description': 'Filtro por código da matéria (numérico) ou trecho do nome/ementa'}, 'ordenarPor': {'enum': ['total', 'sim', 'nao'], 'type': 'string', 'default': 'total', 'description': 'Métrica do ranking (padrão: total de votos)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_listar_consultas
Listar consultas públicas
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Número máximo de resultados'}, 'pagina': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Página de resultados'}, 'status': {'enum': ['aberta', 'encerrada', 'todas'], 'type': 'string', 'default': 'aberta', 'description': 'Filtrar 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.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_listar_eventos
Listar eventos interativos
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ordem': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Ordem (padrão desc)'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Número máximo de resultados'}, 'status': {'enum': ['agendado', 'encerrado', 'todos'], 'type': 'string', 'description': 'Filtrar por status'}, 'comissao': {'type': 'string', 'description': 'Sigla da comissão'}, 'ordenarPor': {'enum': ['data', 'comentarios'], 'type': 'string', 'description': 'Ordenar por data ou número de comentários'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_listar_ideias
Listar ideias legislativas
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ordem': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Ordem de ordenação'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Número máximo de resultados'}, 'pagina': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Página de resultados'}, 'status': {'enum': ['aberta', 'encerrada', 'convertida', 'todas'], 'type': 'string', 'description': 'Filtrar por status'}, 'ordenarPor': {'enum': ['apoios', 'data', 'comentarios'], 'type': 'string', 'description': 'Campo para ordenação (apoios é o disponÃ\xadvel no corpus; data/comentarios só no detalhe)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_obter_consulta
Detalhar consulta pública
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`. O portal não publica o período da consulta: `dataAbertura`/`dataEncerramento` (e `comissao`/`linkMateria`) vêm sempre `null` — a consulta abre quando a matéria entra em tramitação e encerra quando sai, refletido em `status`. 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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID da consulta pública', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_obter_evento
Detalhar evento interativo
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Identificador do evento (campo `id` de senado_ecidadania_listar_eventos)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_obter_ideia
Detalhar ideia legislativa
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID da ideia legislativa', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_ecidadania_sugerir_tema_enquete
Sugerir tema de enquete
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'criterios': {'type': 'object', 'properties': {'evitarConsenso': {'type': 'boolean', 'default': True, 'description': 'Evita temas com >85%'}, 'evitarPolarizacao': {'type': 'boolean', 'default': True, 'description': 'Evita temas com ~50/50'}, 'apenasEmTramitacao': {'type': 'boolean', 'default': True, 'description': 'Apenas matérias em tramitação'}, 'minimoParticipacao': {'type': 'integer', 'default': 500, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'MÃ\xadnimo de votos/apoios'}}, 'description': 'Critérios de seleção do tema (polarização, consenso, participação mÃ\xadnima, tramitação)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_empresas_contratadas
Empresas contratadas
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ/CPF (busca parcial)'}, 'nome': {'type': 'string', 'minLength': 3, 'description': 'Nome da empresa (busca parcial, mÃ\xadn. 3 caracteres)'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Máximo de empresas (padrão: 20)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_encontro_plenario
Sessões do plenário
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo'], 'properties': {'secao': {'enum': ['detalhes', 'pauta', 'resultado', 'resumo'], 'type': 'string', 'default': 'detalhes', 'description': 'Qual seção do encontro consultar'}, 'codigo': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código do encontro/sessão', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_estrutura_organizacional
Estrutura organizacional
Estrutura organizacional (organograma) do Senado Federal até o nível de serviço. Dada uma `unidade` (sigla como 'DGER' ou nome como 'Diretoria-Geral'), retorna `{ unidade, caminho[], totalSubordinadas, subordinadas[] }`: `caminho` são os órgãos superiores (da cúpula até o superior imediato) e `subordinadas` são TODAS as unidades da subárvore (secretarias, coordenações, serviços e núcleos), cada uma com `sigla`, `nome` e `nivel` (profundidade relativa). Use para responder 'o que está sob a DGER', 'quais secretarias/serviços pertencem a X' ou para entender a hierarquia administrativa. Para CONTAR ou LISTAR servidores sob uma unidade, use `senado_servidores` com `subordinadasA`. Fonte: portal institucional (a API de dados abertos não publica a árvore completa).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['unidade'], 'properties': {'limite': {'type': 'integer', 'default': 200, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de subordinadas listadas (padrão: 200)'}, 'unidade': {'type': 'string', 'description': "Sigla (ex.: 'DGER', 'SEGRAF') ou nome (ex.: 'Diretoria-Geral') da unidade"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_execucao_orcamentaria
Execução orçamentária do Senado
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 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`. 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).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 2012, 'description': 'Filtrar por exercÃ\xadcio financeiro'}, 'modo': {'enum': ['por-ano', 'por-acao', 'por-grupo', 'por-fonte', 'por-origem', 'detalhe'], 'type': 'string', 'default': 'por-ano', 'description': 'Agregação (por-acao/por-grupo/por-fonte: despesas; por-origem: receitas) ou detalhe. Ignorado quando estatisticas=true'}, 'tipo': {'enum': ['despesas', 'receitas'], 'type': 'string', 'default': 'despesas', 'description': 'despesas = dotação e execução; receitas = receitas próprias'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho do top/bottom nas estatÃ\xadsticas (padrão: 10)'}, 'campo': {'enum': ['pago', 'liquidado', 'empenhado', 'dotacaoInicial', 'dotacaoAtualizada', 'arrecadada', 'prevista'], 'type': 'string', 'description': '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.'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de linhas (padrão: 100)'}, 'agruparPor': {'enum': ['ano', 'acao', 'grupo', 'fonte', 'modalidade', 'resultadoLei', 'plano', 'origem', 'categoria', 'especie', 'natureza'], 'type': 'string', 'description': 'Opcional: agrupa e ranqueia os resultados por esta dimensão (as opções válidas dependem do tipo).'}, 'estatisticas': {'type': 'boolean', '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'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_horas_extras
Horas extras de servidores
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ano', 'mes'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 2013, 'description': 'Ano de referência'}, 'mes': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Mês de referência'}, 'nome': {'type': 'string', 'description': 'Nome do servidor (busca parcial)'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true sem agruparPor (padrão: 10, máx: 100)'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 100; ignorado quando estatisticas=true)'}, 'agruparPor': {'enum': ['nome', 'competencia'], 'type': 'string', 'description': 'Quando 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 grupo traz sua mini-distribuição'}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (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'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_licitacoes
Licitações do Senado
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}, 'numero': {'type': 'string', 'description': 'Número exato da licitação (ex: 19/2018)'}, 'objeto': {'type': 'string', 'description': 'Texto no objeto da licitação'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_liderancas
Lideranças partidárias
Lista as lideranças do Senado, da Câmara e do Congresso Nacional (líderes, vice-líderes etc.). Retorna `{ count, liderancas }`, cada item com `tipo`, `descricao`, `unidadeLideranca`, `casa`, `dataDesignacao`, `dataTermino`, `numeroOrdemViceLider`, `bloco` (`codigo`/`nome`/`sigla` — preenchido quando a liderança é de bloco; o `codigo` serve em `senado_obter_bloco`), `partido` (`codigo`/`sigla`/`nome` — a unidade liderada, quando liderança de partido) e `parlamentar` (`codigo`, `nome`, `partido` de filiação, `uf`). A fonte NÃO publica a UF do parlamentar (vem sempre `null`) — obtenha-a via `senado_obter_senador` pelo `codigo`. Filtre por `casa` (SF/CN/CD), `codigoParlamentar`, `vigente` (S/N) ou `siglaTipoLideranca`; sem filtros retorna todas as casas. Para a composição de blocos use `senado_listar_blocos`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'casa': {'type': 'string', 'description': 'Casa legislativa (SF=Senado, CN=Congresso, CD=Câmara dos Deputados)'}, 'vigente': {'type': 'string', 'description': 'Apenas vigentes (S/N)'}, 'codigoParlamentar': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Código do parlamentar'}, 'siglaTipoLideranca': {'type': 'string', 'description': 'Tipo de liderança (ex: LIDER, VICE-LIDER)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_listar_blocos
Listar blocos parlamentares
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`, `dataDesligamento`). A lista inclui a composição HISTÓRICA de cada bloco: partido com `dataDesligamento` preenchida já saiu (a composição atual são os com `dataDesligamento` null) e o mesmo partido pode repetir com períodos de adesão distintos — sem esse filtro um partido parece estar em 2 blocos ao mesmo tempo. Use para descobrir o `codigo` de um bloco e depois detalhá-lo via `senado_obter_bloco`; para lideranças use `senado_liderancas`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_listar_comissoes
Listar comissões
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'tipo': {'enum': ['permanente', 'temporaria', 'cpi', 'mista'], 'type': 'string', 'description': 'Tipo: permanente, temporaria, cpi, mista'}, 'ativa': {'type': 'boolean', 'description': 'Apenas comissões ativas'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_listar_senadores
Listar senadores
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uf': {'type': 'string', 'maxLength': 2, 'description': 'Sigla do estado (ex: SP, RJ, MG)'}, 'nome': {'type': 'string', 'description': 'Nome ou parte do nome (busca parcial, sem acento)'}, 'partido': {'type': 'string', 'description': 'Sigla do partido (ex: PT, PL, MDB); tolera formas curtas como PODEâ\x86\x92PODEMOS'}, 'emExercicio': {'type': 'boolean', 'default': True, 'description': 'Filtrar apenas senadores em exercÃ\xadcio'}, 'legislatura': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Número da legislatura (ex: 57 para 2023-2027)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_mesa
Mesa Diretora
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'casa': {'enum': ['senado', 'congresso'], 'type': 'string', 'default': 'senado', 'description': 'senado (Mesa do SF) ou congresso (Mesa do CN)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_notas_taquigraficas
Notas taquigráficas
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 sem transcrição no acervo retorna `totalBlocos` 0 com `aviso` explicando. Cobertura: sessões plenárias do SF (deliberativas, não deliberativas, especiais) são transcritas em poucos dias; sessões CONJUNTAS do Congresso, canceladas/não realizadas e algumas solenes NÃO têm notas (a mídia pode existir em `senado_videos_taquigrafia`). `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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código da sessão plenária ou da reunião de comissão', 'exclusiveMinimum': 0}, 'modo': {'enum': ['resumo', 'texto'], 'type': 'string', 'default': 'resumo', 'description': 'resumo = blocos com trecho inicial; texto = transcrição integral dos blocos selecionados'}, 'tipo': {'enum': ['sessao', 'reuniao'], 'type': 'string', 'default': 'sessao', 'description': 'sessao = plenário (padrão); reuniao = comissão'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'modo=resumo: máximo de blocos por chamada (padrão 20); o excedente é sinalizado em aviso'}, 'orador': {'type': 'string', 'description': 'Retorna só blocos cujo texto menciona este nome (busca parcial no conteúdo)'}, 'sequenciaFim': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Ã\x9altimo bloco no modo texto (ignorado no modo resumo); a janela é capada em 20 blocos por chamada'}, 'sequenciaInicio': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Primeiro bloco a retornar (base 1); pagina o modo resumo e abre a janela do modo texto (padrão: 1)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_bloco
Detalhar bloco parlamentar
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`, `dataDesligamento`); `dataExtincao` é `null` para blocos vigentes. `partidos` é a composição HISTÓRICA: quem tem `dataDesligamento` preenchida já saiu do bloco (composição atual = `dataDesligamento` null). Obtenha o parâmetro `codigo` primeiro via `senado_listar_blocos`; código inexistente retorna erro ("Bloco parlamentar não encontrado").
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo'], 'properties': {'codigo': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código do bloco parlamentar', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_comissao
Detalhar comissão
Obtém dados de uma comissão pela `sigla`, conforme `secao` (padrão `resumo`): `resumo` → `{ codigo, sigla, nome, tipo, finalidade, presidente, vicePresidente, totalMembros, titulares, suplentes }` (presidente/vice com `nome`/`codigo`/`bancada`). `finalidade` só vem preenchida para colegiados temporários (CPIs, comissões temporárias e de medida provisória); para comissões permanentes (CCJ, CAE etc.) a fonte não a publica e o campo vem nulo com um `aviso` — as competências estão no Regimento Interno. `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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sigla'], 'properties': {'secao': {'enum': ['resumo', 'membros'], 'type': 'string', 'default': 'resumo', 'description': 'resumo (mesa/totais) ou membros (composição completa)'}, 'sigla': {'type': 'string', 'minLength': 2, 'description': 'Sigla da comissão (ex: CCJ, CAE)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_legislacao
Detalhar norma legal
Obtém o detalhe de uma norma federal já promulgada pelo seu `codigo` interno. Somente leitura, sem efeitos colaterais; consulta ao vivo à base oficial de dados abertos. Retorna um objeto com `codigo`, `tipo`, `descricaoTipo`, `numero`, `ano`, `data` (ISO AAAA-MM-DD), `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", não um objeto vazio. 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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo'], 'properties': {'codigo': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Identificador interno da norma no acervo do Senado (inteiro > 0) â\x80\x94 o campo `codigo` retornado por senado_buscar_legislacao. Não confundir com o número da lei: a Lei n. 14.133/2021 tem numero=14133, mas seu codigo interno é outro valor.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_materia
Detalhar matéria legislativa
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoMateria'], 'properties': {'secao': {'enum': ['detalhe', 'tramitacao', 'textos'], 'type': 'string', 'default': 'detalhe', 'description': 'detalhe (situação/relator), tramitacao (histórico) ou textos (documentos)'}, 'limite': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de itens em tramitacao/textos (padrão: 100 tramitacao, 50 textos)'}, 'codigoMateria': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único da matéria', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_processo
Detalhar processo
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`).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idProcesso'], 'properties': {'idProcesso': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID do processo legislativo', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_senador
Detalhar senador
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`, `emExercicio` e a lista `mandatos` (`legislatura`, `uf`, `participacao`, `dataInicio`, `dataFim`). `emExercicio` é derivado dos exercícios do mandato (aberto = em exercício) e vem `null` — nunca afirmado — quando os mandatos não puderam ser lidos. Código inexistente retorna erro ("Senador com código N não encontrado"), nunca um registro vazio. 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`).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoSenador'], 'properties': {'codigoSenador': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único do senador no sistema do Senado', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_obter_votacao
Detalhar votação
Obtém detalhes de uma votação de **plenário**, incluindo votos nominais. `codigoVotacao` aceita OS DOIS códigos que a fonte publica para a mesma votação: o `codigoVotacao` de 4 dígitos (ex.: 7101 — o que `senado_search_votacoes` e `senado_votacoes_senador` devolvem nesse campo) ou o `codigoSessao` de 6 dígitos da sessão plenária (ex.: 581816). Com o código da votação retorna aquela votação; com o da sessão retorna `{ codigoSessao, count, votacoes }` com todas as votações da sessão. Cada votação traz placar, `resultado` legível + `resultadoCodigo` bruto, `secreta` e `votos[]` (`codigoSenador`, `nomeSenador`, `partido`, `uf`, `voto`). Resolver o código de 4 dígitos exige varrer uma janela temporal: por padrão a janela recente da fonte (~12 meses); para votação mais antiga informe `ano`. Código que não existe em nenhum dos dois espaços retorna erro — nunca lista vazia. Atenção: códigos de `senado_votacao_comissao` e o `codigoVotacao` de `senado_orientacao_bancada` pertencem a OUTROS espaços de numeração e não são válidos aqui.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoVotacao'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1990, 'description': 'Só para código de votação de 4 dÃ\xadgitos ANTERIOR aos últimos ~12 meses: o ano em que a votação ocorreu, para abrir a janela de busca'}, 'codigoVotacao': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código da votação (4 dÃ\xadgitos, ex. 7101) OU o codigoSessao da sessão plenária (6 dÃ\xadgitos, ex. 581816) â\x80\x94 os dois são aceitos', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_orcamento_parlamentar
Orçamento parlamentar (emendas)
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1990, 'description': 'Ano do orçamento da emenda (filtra tipo=oficios pelo ano das emendas)'}, 'tipo': {'enum': ['emendas', 'oficios'], 'type': 'string', 'default': 'emendas', 'description': 'emendas (lotes de emendas propostas) ou oficios (ofÃ\xadcios de indicação de destino)'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de ofÃ\xadcios por página (tipo=oficios; padrão 50)'}, 'pagina': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Página de ofÃ\xadcios (tipo=oficios; padrão 1)'}, 'incluirEmendas': {'type': 'boolean', 'default': False, 'description': 'tipo=oficios: incluir o detalhe das emendas (favorecido, CNPJ, nota de empenho)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_orientacao_bancada
Orientação de bancada
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 `codigoVotacaoSve`, `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`. O `codigoVotacaoSve` é o identificador interno do sistema de votação eletrônica e pertence a um espaço de numeração próprio: NÃO serve como entrada de `senado_obter_votacao` (use a `data` com `senado_search_votacoes` para chegar ao código da votação). Para o resultado das sessões use `senado_resultado_plenario`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data da sessão (YYYYMMDD)'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim do perÃ\xadodo (YYYYMMDD)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio do perÃ\xadodo (YYYYMMDD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_pessoal_tabelas
Tabelas de gestão de pessoas
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'filtro': {'type': 'string', 'description': 'Filtro textual (nome, curso, setor...)'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 2000, 'minimum': 1, 'description': 'Máximo de registros (padrão: 100)'}, 'tabela': {'enum': ['pessoal', 'cargos-funcoes', 'previsao-aposentadoria', 'senadores', 'estagiarios', 'pensionistas', 'lotacoes', 'cargos'], 'type': 'string', 'description': 'Qual tabela de pessoal consultar (quantitativo agregado ou lista nominal)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_processo_detalhe
Detalhes do processo
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`. Ex.: `{ secao: 'emendas', codigoMateria: 137999 }` ou `{ secao: 'relatorias', codigoParlamentar: 4994, dataReferencia: '2025-06-01' }`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['secao'], 'properties': {'secao': {'enum': ['emendas', 'relatorias', 'prazos'], 'type': 'string', 'description': 'Qual aspecto detalhar: emendas, relatorias ou prazos'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 100)'}, 'dataFim': {'type': 'string', 'description': 'Até esta data (YYYYMMDD ou YYYY-MM-DD)'}, 'dataInicio': {'type': 'string', 'description': 'A partir desta data (YYYYMMDD ou YYYY-MM-DD)'}, 'idProcesso': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID do processo', 'exclusiveMinimum': 0}, 'codigoMateria': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código legado da matéria', 'exclusiveMinimum': 0}, 'dataReferencia': {'type': 'string', 'description': 'secao=relatorias/prazos: vigentes nesta data (YYYYMMDD ou YYYY-MM-DD)'}, 'codigoColegiado': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'secao=relatorias: código do colegiado'}, 'codigoParlamentar': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'secao=relatorias: código do parlamentar relator'}, 'codigoParlamentarAutor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'secao=emendas: código do parlamentar autor'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_remuneracoes_servidores
Remuneração de servidores
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) identificados por `nome` (com `idInternoFolha` só para desambiguar homônimos, não para citar) — o modo `resumo`/`detalhe` só vê uma fatia e não acha o extremo real. Cada percentil vem com um `rotulo` legível e a coluna analisada tem rótulo legível em `campoAnalisado`. `campo` escolhe a verba analisada (padrão: remuneração bruta); `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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ano', 'mes'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 2013, 'description': 'Ano de referência'}, 'mes': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Mês de referência'}, 'modo': {'enum': ['resumo', 'detalhe'], 'type': 'string', 'default': 'resumo', 'description': 'resumo = totais por tipo de folha (padrão); detalhe = composição individual. Ignorado quando estatisticas=true'}, 'nome': {'type': 'string', 'description': 'Nome do servidor (busca parcial)'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho das listas top/bottom quando estatisticas=true (padrão: 10, máx: 100)'}, 'campo': {'enum': ['bruto', 'liquida', 'remuneracaoBasica', 'vantagensPessoais', 'funcaoComissionada', 'gratificacaoNatalina', 'horasExtras', 'outrasEventuais', 'abonoPermanencia'], 'type': 'string', 'default': 'bruto', 'description': 'Verba analisada quando estatisticas=true (padrão: remuneração bruta). O resultado traz o rótulo legÃ\xadvel em campoAnalisado.'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de linhas no modo detalhe (padrão: 50)'}, 'tipoFolha': {'type': 'string', 'description': 'Filtrar por tipo de folha (busca parcial)'}, 'agruparPor': {'enum': ['tipoFolha'], 'type': 'string', 'description': 'Quando estatisticas=true, devolve estatÃ\xadsticas por grupo (só `tipoFolha`); implica dados por linha (não consolidados)'}, 'estatisticas': {'type': 'boolean', 'default': False, 'description': "Computa estatÃ\xadsticas (min/máx/média/mediana/percentis) + ranking top/bottom sobre a folha inteira. Use para 'quem ganhou mais/menos', 'média', 'ranking'"}, 'consolidarPorServidor': {'type': 'boolean', 'default': True, 'description': 'Soma as linhas (Normal+Suplementar) do mesmo servidor antes das estatÃ\xadsticas (padrão: true). Ignorado â\x80\x94 forçado a false â\x80\x94 quando agruparPor está definido'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_requerimentos_cpi
Requerimentos de CPI
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['siglaCpi'], 'properties': {'pagina': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Página da lista (padrão: 0)'}, 'siglaCpi': {'type': 'string', 'minLength': 3, 'description': 'Sigla da CPI (ex: CPIVD, CPIPED)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_resultado_plenario
Resultados do plenário
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['data'], 'properties': {'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data da sessão (YYYYMMDD); para escopo=mes, qualquer dia do mês'}, 'escopo': {'enum': ['sf', 'cn', 'mes'], 'type': 'string', 'default': 'sf', 'description': 'sf = Senado no dia; cn = Congresso no dia; mes = resumo do mês'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_resultado_veto
Resultado de veto
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`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigo'], 'properties': {'tipo': {'enum': ['veto', 'materia', 'dispositivo'], 'type': 'string', 'default': 'veto', 'description': 'Define a chave em codigo: veto = código do veto (padrão); materia = código do projeto vetado; dispositivo = dispositivo de veto parcial'}, 'codigo': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código do veto, da matéria vetada ou do dispositivo â\x80\x94 qual deles depende de `tipo`', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_reuniao_comissao
Detalhar reunião de comissão
Detalha uma reunião de comissão. Aceita DOIS caminhos: o `codigoReuniao` direto, ou `sigla` da comissão mais `data` (YYYYMMDD) — neste segundo caso a ferramenta resolve o código sozinha, e devolve as candidatas quando o dia tem mais de uma reunião. Retorna um objeto com `codigo`, `titulo`, `comissao`, `data`, `hora`, `local`, `situacao`, `realizada`, `secreta`, `tipoPresenca` (presencial/semipresencial), `presidente`, links `urlPauta`/`urlResultado`/`urlAta` e `partes` (cada parte com `evento` e `itens` apreciados: `identificacao`, `ementa`, `autoria`, `relatoria`, `resultado`, `codigoMateria`). A API NÃO publica lista de presença da reunião (só presidente e eventuais convidados): reconstrua a presença pelos votos nominais (`senado_votacao_comissao`), por quem falou na transcrição (`senado_notas_taquigraficas` com `tipo=reuniao`) ou pela ata oficial (`urlAta`, quando publicada). Sem código à mão, prefira `sigla` + `data`; o `codigoReuniao` também sai de `senado_agenda_comissoes` ou `senado_reunioes_comissao`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'data': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data da reunião (YYYYMMDD) â\x80\x94 usada com `sigla`; sem ela, os últimos 14 dias'}, 'sigla': {'type': 'string', 'minLength': 2, 'description': 'Sigla da comissão (ex.: CAE) â\x80\x94 alternativa ao código'}, 'codigoReuniao': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Código da reunião (campo 'codigo' na agenda). Sem ele, informe sigla e data.", 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_reunioes_comissao
Reuniões de comissão
Lista reuniões de uma comissão (pela `sigla`) num intervalo `dataInicio`/`dataFim` (YYYYMMDD); sem datas, usa os últimos 14 dias. Atenção: o upstream devolve a agenda de TODAS as comissões do período (o filtro por sigla é local), então janelas amplas (mensais/anuais) podem estourar o limite de tamanho da resposta (erro de payload): prefira janelas de até 2 semanas e divida períodos maiores em chamadas sucessivas. 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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sigla'], 'properties': {'sigla': {'type': 'string', 'minLength': 2, 'description': 'Sigla da comissão'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim (YYYYMMDD)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio (YYYYMMDD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_search_processos
Pesquisar processos
Busca processos legislativos no endpoint v3 `/processo` (parâmetros complementares ao `senado_buscar_materias`). Retorna `{ count, total, aviso?, processos }`, cada item com `id`, `codigoMateria`, `identificacao`, `ementa`, `tipoDocumento`, `dataApresentacao`, `autoria` (compactada: primeiros autores + total), `totalAutores`, `tramitando` (boolean) e `normaGerada`. É obrigatório ao menos um filtro (sigla, número, ano, autor ou período). Limitado a `limite` (padrão 20, máx. 200), com `aviso` ao truncar. Use o `id` retornado em `senado_obter_processo` para detalhes. Ex.: `{ sigla: 'PL', ano: 2025, dataInicioApresentacao: '2025-03-01' }` (datas em YYYYMMDD ou ISO).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Ano do processo'}, 'autor': {'type': 'string', 'description': 'Nome do autor'}, 'sigla': {'type': 'string', 'description': 'Sigla do tipo de processo (ex: PL, PEC)'}, 'limite': {'type': 'integer', 'default': 20, 'maximum': 200, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 20)'}, 'numero': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Número do processo'}, 'tramitando': {'enum': ['S', 'N'], 'type': 'string', 'description': 'Em tramitação (S/N)'}, 'dataFimApresentacao': {'type': 'string', 'description': 'Data fim da apresentação (YYYYMMDD ou YYYY-MM-DD)'}, 'codigoParlamentarAutor': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Código do parlamentar autor'}, 'dataInicioApresentacao': {'type': 'string', 'description': 'Data inÃ\xadcio da apresentação (YYYYMMDD ou YYYY-MM-DD)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_search_votacoes
Pesquisar votações
Busca e lista votações do plenário combinando critérios opcionais. Janela temporal: informe `dias` (últimos N dias, 1-365) para atividade recente, OU `dataInicio`/`dataFim` (YYYYMMDD) para um período arbitrário — para um ano inteiro use `dataInicio: "AAAA0101"` e `dataFim: "AAAA1231"`. Demais filtros: `idProcesso`, `codigoMateria`, `sigla`/`numero`/`ano` da matéria, `codigoParlamentar` e `siglaVotoParlamentar`. Retorna `{ count, votacoes }` ordenadas da mais recente para a mais antiga; cada item traz `codigoSessao`, `data`, `materia`, `codigoMateria`, `resultado` e placar (`totalSim`/`totalNao`/`totalAbstencao`), sem votos nominais. Use `senado_obter_votacao` com o `codigoSessao` para os votos de cada senador.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Ano da matéria'}, 'dias': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Janela: votações dos últimos N dias (ignorado se dataInicio/dataFim forem informados)'}, 'sigla': {'type': 'string', 'description': 'Sigla do tipo de matéria'}, 'numero': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Número da matéria'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim (YYYYMMDD)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio (YYYYMMDD)'}, 'idProcesso': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'ID do processo legislativo'}, 'codigoMateria': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Código da matéria'}, 'codigoParlamentar': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Código do parlamentar'}, 'siglaVotoParlamentar': {'type': 'string', 'description': 'Tipo de voto do parlamentar'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_senadores_admin
Senadores (dados administrativos)
Dados administrativos dos senadores conforme o parâmetro `tipo`: `auxilio-moradia` → `{ tipo, count, senadores }` (`nome`, `uf`, `partido`, `auxilioMoradia`, `imovelFuncional`; legislatura atual). `escritorios-apoio` → `{ tipo, count, escritorios }` (`senador`, `uf`, `partido`, `setor`, `endereco`, `telefone`). `aposentados` → `{ tipo, count, aposentados }` ex-senadores aposentados pelos planos de previdência do Congresso (IPC e PSSC), com `nome`, `tipo` do plano, `dataInicial`, `remuneracao`. Filtros opcionais `uf` e `nome` (busca parcial) aplicam-se a auxilio-moradia e escritorios-apoio; `nome` também filtra aposentados. Cada `tipo` retorna `count` 0 e lista vazia quando não há registros. Para gastos de cota parlamentar use `senado_ceaps`. Ex.: `{ tipo: 'auxilio-moradia', uf: 'SP' }` ou `{ tipo: 'aposentados' }`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tipo'], 'properties': {'uf': {'type': 'string', 'maxLength': 2, 'description': 'Filtrar por estado (auxilio-moradia/escritorios-apoio)'}, 'nome': {'type': 'string', 'description': 'Filtrar por nome do senador (busca parcial)'}, 'tipo': {'enum': ['auxilio-moradia', 'escritorios-apoio', 'aposentados'], 'type': 'string', 'description': 'Qual dado administrativo consultar'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_senadores_afastados
Senadores afastados
Lista os senadores atualmente afastados (fora de exercício). Retorna `{ count, senadores }`, cada item com `codigo`, `nome`, `nomeCompleto`, `partido`, `uf`, `foto` e `emExercicio` (sempre `false`). Não requer parâmetros. Atenção: é a lista BRUTA do upstream, sem recorte de legislatura — pode conter registros históricos (ex.: senadores falecidos) e inconsistências pontuais com o detalhe do parlamentar; também não traz o vínculo titular↔suplente (para saber quem assumiu a vaga, consulte os mandatos em `senado_obter_senador`). Use `codigo` em `senado_obter_senador` para o detalhe; para os senadores em exercício (e busca por nome) use `senado_listar_senadores`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_senador_historico
Histórico do senador
Histórico funcional de um senador conforme o parâmetro `tipo`. Valores: `licencas` (itens com `dataInicio`/`dataFim`/`descricao`), `comissoes` (`sigla`/`nome`/`casa`/`participacao`/datas), `cargos` (`comissao`/`cargo`/datas), `historico-academico` (cursos, registros brutos da API), `filiacoes` (`partido`/`nomePartido`/`dataFiliacao`/`dataDesfiliacao`) e `profissoes` (`nome`). Retorna `{ codigoSenador, tipo, count, itens }`, com a forma de cada item dependente do `tipo`; tipos sem registros para o senador retornam `count` 0 e `itens` vazio. Requer `codigoSenador` (obtenha via `senado_listar_senadores`). Para dados biográficos e mandatos use `senado_obter_senador`. Ex.: `{ codigoSenador: 4994, tipo: 'filiacoes' }` → histórico de partidos do senador.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoSenador', 'tipo'], 'properties': {'tipo': {'enum': ['licencas', 'comissoes', 'cargos', 'historico-academico', 'filiacoes', 'profissoes'], 'type': 'string', 'description': 'Qual histórico consultar'}, 'codigoSenador': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único do senador', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_servidores
Servidores do Senado
Lista servidores do Senado por `situacao` (ativos, efetivos, comissionados ou inativos), com filtros opcionais por `nome`, `lotacao` e `cargo`. Retorna `{ situacao, count, total, servidores[] }`, cada item com `nome`, `vinculo`, `situacao`, `cargo`, `funcao`, `lotacao`, `anoAdmissao` etc. Aplica `limite` (padrão 50, máx 500) e inclui `aviso` quando há truncamento — refine os filtros. Também conta e lista TODOS os servidores de TODA a estrutura subordinada a uma diretoria/secretaria (não só a lotação direta), cruzando a lotação de cada servidor com o organograma até o nível de serviço: informe a unidade (sigla ou nome, ex.: 'DGER') em `subordinadasA` — use isso para 'quantas pessoas estão sob a Diretoria-Geral', pois filtrar `lotacao` pela sigla-mãe retorna 0 (os servidores ficam em serviços/núcleos subordinados). Nesse modo o retorno traz a unidade resolvida, o total (um piso), os servidores, as unidades não reconhecidas no organograma (`naoClassificados`, com nota explicativa) e os afastados/em trânsito (`afastadosOuEmTransito`); ao responder, verbalize esses conceitos em português corrente — não cite nomes de parâmetros ou campos. Para o organograma em si use `senado_estrutura_organizacional`; para remuneração use `senado_remuneracoes_servidores`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'nome': {'type': 'string', 'description': 'Nome do servidor (busca parcial)'}, 'cargo': {'type': 'string', 'description': 'Cargo (busca parcial)'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}, 'lotacao': {'type': 'string', 'description': 'Lotação/setor imediato (busca parcial, ex: SEGRAF). Para toda a estrutura subordinada a uma diretoria/secretaria, use `subordinadasA`.'}, 'situacao': {'enum': ['ativos', 'efetivos', 'comissionados', 'inativos'], 'type': 'string', 'default': 'ativos', 'description': 'Qual lista consultar (padrão: ativos)'}, 'subordinadasA': {'type': 'string', 'description': "Sigla ou nome de uma unidade (ex.: 'DGER', 'Diretoria-Geral'): conta/lista servidores de TODA a estrutura subordinada a ela (organograma até o nÃ\xadvel de serviço), não só a lotação direta."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_suprimento_fundos
Suprimento de fundos
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` (a fonte publica de 2013 em diante); use os mesmos códigos administrativos vistos em `senado_contratacoes_lista` ou `senado_execucao_orcamentaria` para cruzar gastos.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ano'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 2013, 'description': 'Ano de referência (a fonte publica de 2013 em diante)'}, 'tipo': {'enum': ['supridos', 'atos-concessao', 'empenhos', 'movimentacoes', 'transacoes'], 'type': 'string', 'default': 'supridos', 'description': 'Qual relação consultar (padrão: supridos)'}, 'topN': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Tamanho do top/bottom nas estatÃ\xadsticas (padrão: 10)'}, 'campo': {'enum': ['valor', 'valorExecutado', 'valorConcedido', 'valorTotalTransacoes', 'valorTotalEmpenhos', 'valorTotalElementosDespesa', 'valorTotalMovimentacoes'], 'type': 'string', 'description': '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.'}, 'filtro': {'type': 'string', 'description': 'Filtro textual (nome, unidade...)'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 100)'}, 'agruparPor': {'enum': ['fornecedor', 'tipo', 'tipoInscricao', 'rubricas', 'rubrica', 'descricao', 'elementoDespesa', 'regimeEspecial', 'suprido'], 'type': 'string', 'description': '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).'}, 'estatisticas': {'type': 'boolean', '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'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_tabelas_plenario
Tabelas de referência do plenário
Consulta tabelas de referência do plenário para resolver códigos/domínios, conforme `tabela`: `tipos-sessao` (espécies de sessão plenária), `tipos-comparecimento` (situações de presença) ou `legislaturas` (períodos legislativos com datas). Retorna `{ tabela, count, total, linhas }` — `count` é o nº após o corte por `limite` e `total` o disponível; `count < total` indica truncagem (aumente `limite`); `count` 0 quando o `filtro` não casa. Cada linha traz o código/sigla e a descrição do domínio (campos conforme a API). Use para interpretar campos como `tipo` de `senado_agenda_plenario`/`senado_resultado_plenario`. Para tabelas do processo legislativo (assuntos, classes, situações) use `senado_tabelas_processo`. Ex.: `{ tabela: 'legislaturas' }` ou `{ tabela: 'tipos-sessao', filtro: 'deliberativa' }`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'filtro': {'type': 'string', 'description': 'Busca textual sobre qualquer campo da linha; count 0 se nada casar'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de linhas (padrão 100, máx 500); count < total sinaliza corte'}, 'tabela': {'enum': ['tipos-sessao', 'tipos-comparecimento', 'legislaturas'], 'type': 'string', 'description': 'DomÃ\xadnio a consultar: tipos-sessao (espécies de sessão); tipos-comparecimento (situações de presença); legislaturas (perÃ\xadodos com datas)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_tabelas_processo
Tabelas de referência de processos
Consulta tabelas de referência do processo legislativo para resolver códigos/siglas, conforme `tabela`. Domínios de entidade: `siglas` (siglas de proposição), `assuntos`, `classes`, `destinos`, `entes`. Domínios de tipo (código→descrição): `tipos-situacao`, `tipos-decisao`, `tipos-autor`, `tipos-atualizacao`, `tipos-documento`, `tipos-conteudo-documento`, `tipos-prazo`. Retorna `{ tabela, count, total, linhas }` — `count` é o nº após o corte por `limite` e `total` o disponível; `count < total` indica truncagem (aumente `limite`); `count` 0 quando o `filtro` não casa. Cada linha traz código/sigla e descrição (campos conforme a API). Use antes de filtrar em `senado_search_processos`/`senado_processo_detalhe`. Para as tabelas do plenário (tipos de sessão, legislaturas) use `senado_tabelas_plenario`. Ex.: `{ tabela: 'tipos-prazo' }` ou `{ tabela: 'siglas', filtro: 'PEC' }`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'filtro': {'type': 'string', 'description': 'Busca textual sobre sigla/descrição; count 0 se nada casar'}, 'limite': {'type': 'integer', 'default': 200, 'maximum': 1000, 'minimum': 1, 'description': 'Máximo de linhas (padrão 200, máx 1000); count < total sinaliza corte'}, 'tabela': {'enum': ['siglas', 'assuntos', 'classes', 'destinos', 'entes', 'tipos-situacao', 'tipos-decisao', 'tipos-autor', 'tipos-atualizacao', 'tipos-documento', 'tipos-conteudo-documento', 'tipos-prazo'], 'type': 'string', 'description': 'Tabela a consultar â\x80\x94 entidades (siglas, assuntos, classes, destinos, entes) ou tipos (tipos-situacao, tipos-decisao, tipos-autor, tipos-atualizacao, tipos-documento, tipos-conteudo-documento, tipos-prazo)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_tabelas_referencia
Tabelas de referência
Consulta tabelas de referência do Senado pelo parâmetro `tabela`. Valores: `tipos-materia` → `{ count, tipos }` (sigla/nome/descricao dos tipos de proposição, p.ex. PEC, PL, MPV) — **catálogo curado mantido neste servidor** (12 tipos mais comuns, não é a lista viva do upstream `processo/siglas`, que tem ~184 siglas); use para achar a `sigla` correta antes de `senado_buscar_materias`/`senado_search_processos`; `partidos` → `{ count, totalSenadores, partidos }` (partidos com bancada atual, ordenados por nº de senadores); `ufs` → `{ count, totalSenadores, ufs }` (as 27 UFs com a contagem de senadores em exercício); `legislatura-atual` → `{ numero, periodo, dataInicio, dataFim }` da legislatura vigente; `tipos-norma` → `{ count, tipos }` (sigla/descricao dos tipos de norma para `senado_buscar_legislacao`); `tipos-uso-palavra` → `{ count, tipos }` (codigo/descricao para interpretar `tipoUsoPalavra` em `senado_discursos_senador`). Toda resposta inclui o campo `tabela`. Para a relação nominal de parlamentares use `senado_listar_senadores`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tabela'], 'properties': {'tabela': {'enum': ['tipos-materia', 'partidos', 'ufs', 'legislatura-atual', 'tipos-norma', 'tipos-uso-palavra'], 'type': 'string', 'description': 'Qual tabela de referência consultar: tipos-materia, partidos, ufs, legislatura-atual, tipos-norma ou tipos-uso-palavra'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_terceirizados
Terceirizados
Lista colaboradores terceirizados do Senado, filtráveis (busca parcial, sem acento) por nome, empresa contratada ou lotação. Retorna `{ count, total, terceirizados }`, cada item com `nome`, `cpf`, `situacao`, `empresa`, `lotacao` e `numeroContrato`. A lista completa é baixada e filtrada no Worker; resultados limitados a `limite` (padrão 50, máx 500), com `aviso` ao truncar. Para a empresa contratante e seus contratos, use `senado_empresas_contratadas`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'nome': {'type': 'string', 'description': 'Nome do colaborador (busca parcial)'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 50)'}, 'empresa': {'type': 'string', 'description': 'Nome da empresa contratada (busca parcial)'}, 'lotacao': {'type': 'string', 'description': 'Lotação/setor (busca parcial)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_vetos
Vetos presidenciais
Lista vetos presidenciais em apreciação pelo Congresso Nacional, por ano ou por status de tramitação. Retorna `{ count, total, aviso?, vetos }`, com cada veto trazendo `codigo`, `identificacao`, `ementa`, `emTramitacao`, `materiaVetada`, `tipo` (total/parcial), `assunto` e `dataLimiteVotacao` (prazo de sobrestamento de pauta). `limite` controla o corte (padrão 100; `aviso` indica truncagem). Informe `ano` OU `status` (tramitando/antes-rcn/encerrados). Para o resultado da votação de um veto use `senado_resultado_veto`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1990, 'description': 'Vetos do ano informado'}, 'limite': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Máximo de resultados (padrão: 100)'}, 'status': {'enum': ['tramitando', 'antes-rcn', 'encerrados'], 'type': 'string', 'description': 'tramitando = pós-RCN 1/2013 em tramitação (padrão); antes-rcn = anteriores Ã\xa0 RCN; encerrados = tramitação encerrada'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_videos_taquigrafia
Vídeos da taquigrafia
Lista os vídeos e áudios (unidades descritivas) de uma sessão plenária ou reunião de comissão. Retorna `{ id, tipo, count, total, aviso?, videos }` (sessão sem mídia no acervo → `count`/`total` 0 com `aviso`; ao passar de `limite` inclui `aviso`). A cobertura de mídia é mais ampla que a das notas: sessões conjuntas do Congresso costumam ter vídeos mesmo sem transcrição, cada item com `codigo`, `data`, `descricao`, `orador`, `duracaoSegundos` e os links `urlVideo`, `urlAudio`, `urlThumbnail`. Obtenha o `id` via `senado_agenda_plenario`/`senado_resultado_plenario` (sessão) ou `senado_reuniao_comissao` (reunião). Para a transcrição textual correspondente use `senado_notas_taquigraficas`, não esta.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código da sessão plenária ou da reunião de comissão, conforme `tipo`', 'exclusiveMinimum': 0}, 'tipo': {'enum': ['sessao', 'reuniao'], 'type': 'string', 'default': 'sessao', 'description': 'sessao = plenário (padrão); reuniao = comissão'}, 'limite': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Máximo de unidades (padrão 50, máx 200); o excedente é sinalizado em aviso'}, 'orador': {'type': 'string', 'description': 'Retorna só unidades cujo orador contém este nome (busca parcial)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_votacao_comissao
Votações em comissão
Lista votações em comissões. O parâmetro `por` (padrão `comissao`) define o eixo da consulta: `por: comissao` → exige `siglaComissao`; lista as votações daquela comissão. `por: senador` → exige `codigoSenador`; lista os votos do senador em comissões (filtro opcional `comissao`). `por: materia` → exige `sigla`, `numero` e `ano` (ex.: PL 2630/2020); lista as votações da proposição em comissões (filtro opcional `comissao`). Em todos os casos aceita período opcional `dataInicio`/`dataFim` (YYYYMMDD, filtrado pela data da reunião) e retorna `{ por, ...contexto, count, votacoes }`, cada votação com `codigo`, `data`, `comissao`, `reuniao`, `materia`, `descricao`, totais computados dos votos (`totalSim`/`totalNao`/`totalAbstencao`) e `votos` (senador, partido, voto). Sem paginação. Períodos amplos podem estourar o tempo-limite da consulta (erro de timeout): prefira janelas de até 3 meses e divida períodos maiores em chamadas sucessivas. Obtenha siglas via `senado_listar_comissoes`, `codigoSenador` via `senado_listar_senadores`; para votações no plenário use `senado_votos_materia`. Atenção: o `codigo` de cada votação de comissão pertence a um espaço de numeração próprio e NÃO é válido em `senado_obter_votacao` (que é exclusivo de plenário) — podem coincidir numericamente, mas apontam para votações diferentes.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Ano da proposição (obrigatório quando por=materia)'}, 'por': {'enum': ['comissao', 'senador', 'materia'], 'type': 'string', 'default': 'comissao', 'description': 'Eixo da consulta: comissao, senador ou materia'}, 'sigla': {'type': 'string', 'minLength': 2, 'description': 'Sigla do tipo da proposição (obrigatório quando por=materia; ex: PL, PEC)'}, 'numero': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Número da proposição (obrigatório quando por=materia)', 'exclusiveMinimum': 0}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim (YYYYMMDD)'}, 'comissao': {'type': 'string', 'description': 'Sigla da comissão para filtrar (por=senador ou por=materia)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio (YYYYMMDD)'}, 'codigoSenador': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código do senador (obrigatório quando por=senador)', 'exclusiveMinimum': 0}, 'siglaComissao': {'type': 'string', 'minLength': 2, 'description': 'Sigla da comissão (obrigatório quando por=comissao; ex: CCJ, CAE)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_votacoes_senador
Votações de um senador
Lista as votações nominais de um senador, mostrando como votou em cada matéria. Retorna `{ periodo, count, votos }`, cada voto com `codigoSessao`, `codigoVotacao`, `data`, `materia`, `descricao`, `voto` e `resultado`, ordenados da mais recente para a mais antiga. Sem período usa o ano corrente; informe `ano` ou o par `dataInicio`/`dataFim` (YYYYMMDD). Requer `codigoSenador` (obtenha via `senado_listar_senadores`); para detalhes de uma votação específica (votos de todos os senadores) use `senado_obter_votacao` — os dois códigos são aceitos, e `codigoSessao` resolve direto.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoSenador'], 'properties': {'ano': {'type': 'integer', 'maximum': 2100, 'minimum': 1900, 'description': 'Ano das votações'}, 'dataFim': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data fim (YYYYMMDD)'}, 'dataInicio': {'type': 'string', 'pattern': '^\\d{8}$', 'description': 'Data inÃ\xadcio (YYYYMMDD)'}, 'codigoSenador': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único do senador', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
senado_votos_materia
Votos de uma matéria
Obtém as votações de uma matéria pelo `codigoMateria`. Retorna `{ codigoMateria, count, votacoes }`, cada item com `data`, `descricao`, `resultado` e placar (`totalSim`/`totalNao`/`totalAbstencao`); com `incluirVotos: true` (padrão false) acrescenta `votos[]` (nome, partido, uf e voto de cada senador). Obtenha o `codigoMateria` via `senado_buscar_materias` ou `senado_obter_materia`.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['codigoMateria'], 'properties': {'incluirVotos': {'type': 'boolean', 'default': False, 'description': 'Incluir votos nominais de cada senador'}, 'codigoMateria': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Código único da matéria', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': {}}
Changed
senado_suprimento_fundos
Sept. 27, 2026, 2:49 a.m.
Changed
senado_contratacao_detalhe
Sept. 27, 2026, 2:49 a.m.
Changed
senado_orientacao_bancada
Sept. 27, 2026, 2:49 a.m.
Changed
senado_obter_votacao
Sept. 27, 2026, 2:49 a.m.
Changed
senado_votacoes_senador
Sept. 27, 2026, 2:49 a.m.
Changed
senado_obter_senador
Sept. 25, 2026, 2:58 a.m.
Added
fetch
Sept. 17, 2026, 12:52 p.m.
Added
search
Sept. 17, 2026, 12:52 p.m.
Added
senado_estrutura_organizacional
Sept. 17, 2026, 12:52 p.m.
Added
senado_execucao_orcamentaria
Sept. 17, 2026, 12:52 p.m.
Added
senado_suprimento_fundos
Sept. 17, 2026, 12:52 p.m.
Added
senado_contratacoes_lista
Sept. 17, 2026, 12:52 p.m.
Added
senado_empresas_contratadas
Sept. 17, 2026, 12:52 p.m.
Added
senado_terceirizados
Sept. 17, 2026, 12:52 p.m.
Added
senado_licitacoes
Sept. 17, 2026, 12:52 p.m.
Added
senado_contratacao_detalhe
Sept. 17, 2026, 12:52 p.m.
Added
senado_contratos
Sept. 17, 2026, 12:52 p.m.
Added
senado_pessoal_tabelas
Sept. 17, 2026, 12:52 p.m.
Added
senado_horas_extras
Sept. 17, 2026, 12:52 p.m.
Added
senado_remuneracoes_servidores
Sept. 17, 2026, 12:52 p.m.
Added
senado_servidores
Sept. 17, 2026, 12:52 p.m.
Added
senado_senadores_admin
Sept. 17, 2026, 12:52 p.m.
Added
senado_ceaps
Sept. 17, 2026, 12:52 p.m.
Added
senado_videos_taquigrafia
Sept. 17, 2026, 12:52 p.m.
Added
senado_notas_taquigraficas
Sept. 17, 2026, 12:52 p.m.
Added
senado_votacao_comissao
Sept. 17, 2026, 12:52 p.m.
Added
senado_obter_legislacao
Sept. 17, 2026, 12:52 p.m.
Added
senado_buscar_legislacao
Sept. 17, 2026, 12:52 p.m.
Added
senado_orcamento_parlamentar
Sept. 17, 2026, 12:52 p.m.
Added
senado_mesa
Sept. 17, 2026, 12:52 p.m.