Skip to main content
Glama

Compras

consultar_compras
Read-only

Requisições, cotações, coletas de preço e pedidos de compra. Somente consulta: não aprova, não cria nem altera pedido. Cadeia: ORDEM DE MANUTENÇÃO > REQUISIÇÃO (a demanda) > COTAÇÃO (agrupa itens para pesquisar preço) > COLETA DE PREÇO (a resposta de um fornecedor para um item) > PEDIDO (a compra fechada). Um item pode ir da requisição direto ao pedido, sem cotação. Atraso: nunca compare datas. SITUACAO_ENTREGA do pedido já vem pronta ("Recebido", "Atrasado", "Pendente") e DIAS_ATRASO já vem calculado. "Pedidos atrasados": situacao_entrega ["Atrasado"]; "o que falta chegar": ["Atrasado", "Pendente"]. Aprovação é outra coisa e não entra na conta de atraso. Departamento: é o campo "Departamento" das telas de pedido e de requisição. "Pedidos do departamento X": visão pedidos, filtro departamento. Nos pedidos a coluna é DEPARTAMENTO; nas requisições o mesmo dado sai na coluna GRUPO_MANUTENCAO. Quantidades: QUANTIDADE_PENDENTE (requisição) e QUANTIDADE_RESTANTE (pedido) já vêm prontas — nunca subtraia colunas. QUANTIDADE_NOTA_FISCAL é a mesma coisa que a recebida: não some as duas. Item de requisição do tipo "Saída de estoque" não gera compra, sai direto do estoque. Não conte esses itens quando a pergunta for sobre compra, cotação ou pedido. Nome de fornecedor ou produto: filtre por trecho; se vierem nomes diferentes, pergunte qual e siga pelo identificador (id_fornecedor, id_pedido, id_cotacao, id_requisicao). Volume: para a fazenda inteira use "agrupar_por" em vez de listar requisição ou pedido um a um. "Quantas coletas teve o pedido" se responde com QTDE_COLETAS_PRECO da visão pedidos.

Visões disponíveis (parâmetro "visao"):

  • pedidos: Uma linha por pedido de compra: fornecedor, departamento, valores, aprovação, recebimento e atraso já resolvidos. Período pela data do pedido. Filtros: situacao_entrega (lista de valores exatos), status (lista de valores exatos), status_aprovacao (lista de valores exatos), departamento, fornecedor, id_fornecedor (valor exato), setor, centro_custo, safra, codigo_pedido, id_pedido (valor exato), codigo_cotacao, id_cotacao (valor exato), aceita período. Agrupa por: departamento, fornecedor, situacao_entrega, status, setor, centro_custo, safra.

  • itens_pedido: Uma linha por item de pedido: quantidade pedida, recebida e restante, valor e se a compra foi feita pelo menor preço coletado (COMPROU_MENOR_PRECO). Não aceita período — filtre pelo pedido. Filtros: id_pedido (valor exato), codigo_pedido, status (lista de valores exatos), fornecedor, produto, id_cotacao (valor exato), comprou_menor_preco. Agrupa por: fornecedor, produto, status.

  • requisicoes: Uma linha por item de requisição: quem pediu, para qual ordem de manutenção e equipamento, e o que ainda falta atender (QUANTIDADE_PENDENTE). "O que a ordem X ainda espera": id_ordem_manutencao e pendente true. Período pela data da requisição. Filtros: status (lista de valores exatos), situacao_item (lista de valores exatos), tipo_item (lista de valores exatos), prioridade (valor exato), pendente, departamento, produto, equipamento, solicitante, centro_custo, codigo_requisicao, id_requisicao (valor exato), id_ordem_manutencao (valor exato), aceita período. Agrupa por: departamento, status, situacao_item, tipo_item, equipamento, produto, solicitante, centro_custo.

  • cotacoes: Uma linha por item de cotação, com o resumo das coletas: quantas houve, quantas foram respondidas, menor, maior e médio preço e o fornecedor mais barato. Período pela data da cotação. Filtros: status (lista de valores exatos), produto, codigo_cotacao, id_cotacao (valor exato), aceita período.

  • coletas: Uma linha por coleta de preço (item da cotação x fornecedor): preço, desconto, prazo, se respondeu, em quantos dias e se foi a escolhida. Cresce rápido: para ver os preços de uma cotação, filtre id_cotacao; para comparar fornecedores, use agrupar_por fornecedor. Período pela data de envio ao fornecedor. Filtros: status (lista de valores exatos), fornecedor, id_fornecedor (valor exato), produto, codigo_cotacao, id_cotacao (valor exato), respondida, escolhida, aceita período. Agrupa por: fornecedor, produto, status.

  • trilha: Rastreabilidade de UM documento: cada caminho do item, da ordem de manutenção e da requisição até a cotação e o pedido, com o valor rateado. Exige id_pedido, id_cotacao, id_requisicao ou id_ordem_manutencao: sem o documento, liste antes pedidos, cotações ou requisições e pergunte qual. Filtros: id_pedido (valor exato), id_cotacao (valor exato), id_requisicao (valor exato), id_ordem_manutencao (valor exato).

Quando "visao" não é informada, usa "pedidos". Filtro de texto casa por trecho, sem diferenciar maiúsculas nem acento ("aplicacao" acha "Aplicação") — exceto os marcados "(valor exato)", que exigem o valor inteiro, como código, placa e número. A resposta traz "total_disponivel": quantas linhas o filtro encontra ao todo. Chame uma vez só, já com o limite que a resposta vai usar — nunca repita a consulta mudando só o limite; se só o número interessa e o total pode ser grande, um limite baixo basta. Para totais e contagens use "agrupar_por"; a listagem é limitada e serve para ver itens. Com "agrupar_por", a resposta vem somada pelo banco: uma linha por grupo, com QTDE_LINHAS, as somas e os maiores e menores valores (MAIOR_*, MENOR_*). Use isso em vez de somar linhas por conta própria.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pularNoLinhas a pular, para ler um resultado grande em partes. Use com limite quando total_disponivel for maior que o que veio.
safraNoNome da safra, ex.: "2025/2026". Use listar_safras para ver as disponíveis. Vale nas visões: pedidos.
setorNoNome do setor. Vale nas visões: pedidos.
visaoNoQual recorte consultar. Padrão: pedidos.
limiteNoMáximo de linhas devolvidas. Padrão 100, teto 500.
statusNoUm ou mais valores exatos do status do documento da visão. Pedido: "Em digitação", "Aberto", "Aguardando aprovação", "Aprovado", "Rejeitado", "Finalizado", "Cancelado". Requisição: "Aberto", "Finalizado". Cotação: "Aberto", "Em processamento", "Finalizado". Coleta: "Aguardando preenchimento", "Preenchido pelo comprador", "Preenchido pelo fornecedor aguardando envio", "Enviado pelo fornecedor". Vale nas visões: pedidos, itens_pedido, requisicoes, cotacoes, coletas.
fazendaNoNome da fazenda. Omita para usar a fazenda corrente do usuário — é o padrão, e é o que o usuário espera quando não cita nenhuma. Informe apenas quando ele nomear outra fazenda. Cada consulta trata de uma fazenda por vez.
produtoNoNome do produto. Vale nas visões: itens_pedido, requisicoes, cotacoes, coletas.
pendenteNotrue: só itens com quantidade ainda por atender. false: só os já atendidos. Vale nas visões: requisicoes.
escolhidaNotrue: a coleta escolhida para a compra. Vale nas visões: coletas.
id_pedidoNoIdentificador do pedido, tirado de uma consulta anterior. Vale nas visões: pedidos, itens_pedido, trilha.
tipo_itemNoUm ou mais valores exatos: "Solicitar para comprar", "Solicitar para comprar p/ Estoque", "Saída de estoque". Para falar de compra, deixe "Saída de estoque" de fora. Vale nas visões: requisicoes.
data_finalNoFim do período, inclusive, em dd/mm/aaaa ou aaaa-mm-dd.
fornecedorNoNome do fornecedor (casa por trecho). Vale nas visões: pedidos, itens_pedido, coletas.
id_cotacaoNoIdentificador da cotação, tirado de uma consulta anterior. Vale nas visões: pedidos, itens_pedido, cotacoes, coletas, trilha.
prioridadeNo"Baixa", "Média" ou "Alta". Vale nas visões: requisicoes.
respondidaNotrue: o fornecedor respondeu. false: ainda não respondeu. Vale nas visões: coletas.
agrupar_porNoDimensões para somar no banco, em vez de listar linha a linha. Cada visão aceita só as dimensões listadas nela.
equipamentoNoEquipamento da ordem de manutenção. Vale nas visões: requisicoes.
solicitanteNoQuem fez a requisição. Vale nas visões: requisicoes.
centro_custoNoCentro de custo. Vale nas visões: pedidos, requisicoes.
data_inicialNoInício do período, em dd/mm/aaaa ou aaaa-mm-dd.
departamentoNoDepartamento responsável pela compra (casa por trecho). Vale nas visões: pedidos, requisicoes.
codigo_pedidoNoNúmero do pedido. Casa por trecho, porque o código vem com zeros à esquerda ("0006483"). Vale nas visões: pedidos, itens_pedido.
id_fornecedorNoIdentificador do fornecedor, tirado de uma consulta anterior. Vale nas visões: pedidos, coletas.
id_requisicaoNoIdentificador da requisição, tirado de uma consulta anterior. Vale nas visões: requisicoes, trilha.
situacao_itemNoUm ou mais valores exatos: "Aguardando cotação", "Em cotação", "Pedido emitido", "Atendido", "Baixa de estoque". Vale nas visões: requisicoes.
codigo_cotacaoNoNúmero da cotação (casa por trecho). Vale nas visões: pedidos, cotacoes, coletas.
situacao_entregaNoUm ou mais valores exatos: "Recebido", "Atrasado", "Pendente". Vale nas visões: pedidos.
status_aprovacaoNoUm ou mais valores exatos: "Aguardando aprovação", "Aprovado", "Rejeitado". Vale nas visões: pedidos.
codigo_requisicaoNoNúmero da requisição (casa por trecho). Vale nas visões: requisicoes.
comprou_menor_precoNotrue: comprou pelo menor preço coletado. false: comprou mais caro. Vale nas visões: itens_pedido.
id_ordem_manutencaoNoIdentificador da ordem de manutenção que originou a requisição, tirado de uma consulta anterior. Vale nas visões: requisicoes, trilha.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalYesLinhas devolvidas nesta resposta.
visaoYes
avisosNoO que o servidor aplicou sem ser pedido, como um período padrão.
linhasYes
fazendaYes
truncadoYestrue quando há mais linhas além das devolvidas.
total_disponivelYesQuantas linhas o filtro encontra ao todo, qualquer que seja o limite pedido.
filtros_ignoradosYesFiltros que não existem na visão escolhida e por isso não foram aplicados.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / total_disponivel / description
      Previous value: -"Quantas linhas o filtro encontra ao todo. Para contar sem trazer os dados, chame com limite 1 e leia este campo."New value: +"Quantas linhas o filtro encontra ao todo, qualquer que seja o limite pedido."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=false, and the description reinforces the read-only nature while adding rich behavior: never compare dates, use pre-computed SITUACAO_ENTREGA/DIAS_ATRASO, never subtract quantity columns, exclude 'Saída de estoque' items from purchase questions, call once with the final limit, and response totals via total_disponivel. This is well beyond what annotations supply.

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

Conciseness4/5

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

Structurally strong: a front-loaded purpose sentence, a chains section, business-rule paragraphs, then a per-visão bullet list. It is long, but the length is justified by 33 parameters and 6 views. Minor redundancy exists (restating defaults and filter behavior in multiple places), keeping it off a full 5.

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

Completeness5/5

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

Given 33 parameters, 6 views, and an output schema that already covers return values, the description covers everything needed: default visão (pedidos), filter semantics per view, agrupamento behavior, pagination guidance (pular/limite/total_disponivel), and the domain rules an agent would otherwise get wrong.

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

Parameters4/5

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

Schema coverage is 100%, so the schema baseline already documents each parameter. The description nevertheless adds meaning beyond the schema by mapping each visão to its filters/group-by dimensions, defining the cadeia relationships between requisicao/cotacao/coleta/pedido, and clarifying exact-value vs partial-match filters. It stops short of some per-parameter detail the schema already carries, so a 4 rather than 5.

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

Purpose5/5

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

Opens with a specific verb+resource ('Requisições, cotações, coletas de preço e pedidos de compra') and immediately states the negative scope ('Somente consulta: não aprova, não cria nem altera pedido'). This distinguishes it from sibling read tools and from any approval action, so an agent can route without opening the schema.

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

Usage Guidelines5/5

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

The description explicitly says when to use each visão, when to use agrupar_por instead of listing, when trilha requires a prior document lookup, and how to select or exclude item types. It also gives concrete routing rules ('Pedidos atrasados' → situacao_entrega ['Atrasado']) and exclusion rules, leaving little to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources