readOnlyHint: true e nenhuma pode criar, alterar ou aprovar nada. tools/list as devolve nesta ordem. O título é entregue no idioma solicitado.
Como ler esta página
- Escopo. A descrição de cada ferramenta, como um cliente a mostra, termina com uma frase como “Requires the
inventory.readscope granted to this connection.” Esse nome é a permissão interna. A tabela acima a relaciona ao escopo da conexão OAuth que você deve pedir. A verificação acontece quando a ferramenta é chamada, antes de qualquer leitura; se o escopo faltar, a resposta écommon.forbidden. - Argumentos. Todos os argumentos são opcionais, exceto os marcados como obrigatórios. Os argumentos são estritos: um nome que a ferramenta não declara (por exemplo
tenantIdouclinicId) é recusado, assim como um valor fora dos limites indicados. Nenhuma ferramenta aceita um seletor de espaço de trabalho: ele sempre vem da conexão. - Resultados. Um resultado é um insumo de texto com um documento JSON. As tabelas de campos abaixo descrevem esse documento. Um campo marcado “só com” não aparece quando a conexão não tem o escopo; nunca chega como
null. - Ids. Os ids são textos opacos. O mesmo id funciona na barra de endereços do console, na API
/v1e em outras ferramentas. Os nomes das pessoas não estão disponíveis pelo MCP: um campo comorequesterIdé um id. - Idioma. Na conexão OAuth, títulos, descrições, textos de erro e rótulos chegam no idioma solicitado. Os nomes de ferramentas e campos nunca mudam.
- As perguntas de exemplo são o que um gestor poderia escrever para um assistente conectado ao muveya. O assistente decide qual ferramenta chamar.
clinics.list
List clinics and warehouses. Lista as unidades e os depósitos aos quais sua associação tem acesso, com o id, o nome e o status de cada um. Os assistentes a usam para descobrir os ids de que outras ferramentas precisam.
O resultado traz duas listas completas, em ordem de criação, incluindo unidades e depósitos inativos:
Perguntas de exemplo:
- “Quais depósitos a Clínica Norte tem?”
- “Liste as nossas unidades inativas.”
catalog.search
Search the catalog. Busca no catálogo por nome do insumo ou SKU e devolve os insumos correspondentes, com unidade, categoria e status. O custo só aparece quando a conexão pode vê-lo.
string
Texto procurado no nome do insumo ou no SKU. Não diferencia maiúsculas de minúsculas e corresponde em qualquer parte do valor. De 1 a 120 caracteres. Sem ele, a ferramenta devolve os insumos do status escolhido.
string
padrão:"active"
Status do ciclo de vida a buscar:
active, inactive ou draft.{ items, truncated }. Traz no máximo 50 insumos, os mais antigos primeiro. Quando truncated é true, mais insumos corresponderam: pergunte de novo com um term mais específico.
Perguntas de exemplo:
- “Busque luvas de nitrilo no catálogo.”
- “Quais insumos do catálogo ainda estão em rascunho?”
- “Quanto custa uma caixa de GLV-NIT-M?” (só responde se a conexão tiver
catalog.cost:read)
inventory.check
Check stock availability. Devolve quanto há de um insumo do catálogo em mãos, reservado e disponível em cada depósito, com opção de restringir a um só depósito.
string
obrigatório
Id do insumo do catálogo, de 1 a 64 caracteres. Normalmente o assistente o encontra antes com
catalog.search.string
Id de um depósito, de 1 a 64 caracteres, para restringir a resposta a ele.
Resultado de exemplo
warehouses vazia, não um erro.
Perguntas de exemplo:
- “Quantas caixas de GLV-NIT-M estão disponíveis em cada depósito?”
- “Ainda tem estoque desse insumo no Depósito Central?”
orders.get
Get an order. Devolve um pedido pelo id, com suas linhas, seu status e seu plano de aprovação.
string
obrigatório
Id do pedido, de 1 a 64 caracteres. É o id opaco, não o número do pedido. No console, você pode copiá-lo do endereço da página do pedido,
console.muveya.com/orders/ seguido do id.
Se não existir pedido com esse id na sua clínica odontológica, ou se o id estiver malformado ou pertencer a outra clínica odontológica, o resultado é
isError com code orders.not_found. O MCP não tem ferramenta para listar ou buscar pedidos; para listá-los, use GET /v1/orders ou a tela Pedidos do console (veja Criar e acompanhar pedidos).
Perguntas de exemplo:
- “Qual é o status do pedido 6650cc00000000000000c001 e de quais etapas de aprovação ele precisa?”
- “Quais insumos e quantidades estão nesse pedido?”
approvals.list_pending
List pending approvals. Devolve os pedidos que aguardam a decisão de aprovação da própria pessoa conectada.
Esta ferramenta lê a caixa de aprovações de uma pessoa. A conexão atua como o membro da clínica odontológica que fez login, mas os escopos OAuth atuais de somente leitura não incluem
approvals.decide. Por isso, a chamada é recusada antes de qualquer leitura.
Para revisar e decidir aprovações hoje, use Aprovação de pedidos no console: veja Aprovar ou rejeitar pedidos. Para saber quantas aprovações estão pendentes, use management.briefing, cujos números incluem as aprovações pendentes por idade.
Pergunta de exemplo: “O que está aguardando a minha aprovação?” (com OAuth, o assistente informará que a ferramenta não é permitida)
management.pending_decisions
Pending management decisions. A mesma caixa de aprovações de approvals.list_pending, apresentada para a gestão: cada pedido com o horário de envio (para medir a idade frente a um nível de serviço), suas etapas e o valor oculto, a menos que quem lê possa vê-lo.
Devolve exatamente o mesmo que
approvals.list_pending e é recusada pelo mesmo motivo. Use Aprovação de pedidos no console, ou management.briefing para os números de aprovações pendentes.
Pergunta de exemplo: “Quais decisões estão me aguardando há mais de dois dias?”
fulfillment.get_pick_list
Get a pick list. Devolve as caixas a separar para um pedido, com a validade mais próxima primeiro (FEFO), só caixas que continuam ativas.
string
obrigatório
Id do pedido a separar, de 1 a 64 caracteres.
fulfillment.pick (fulfillment:read também não). Para uma pessoa, cada linha traria lineId, catalogItemId, sku, boxId, boxCode, warehouseId, quantity, picked, requiresSeparation e, quando registrados, lotNumber e expiryDate; nunca custo, valor ou referência de paciente.
Para separar pedidos hoje, use Entregas no console: veja Preparar e despachar um pedido.
Pergunta de exemplo: “Quais caixas eu separo para este pedido?”
analytics.consumption
Consumption per supply. Devolve quanto foi consumido de cada insumo ao longo do tempo, cada um na sua própria unidade de medida, como um relatório com evidências. Nunca soma insumos ou unidades de medida diferentes.
string
Início da janela, em ISO-8601 (por exemplo
2026-08-01T00:00:00Z), incluído. De 1 a 40 caracteres. O padrão é 30 dias antes de to.string
Fim da janela, em ISO-8601, excluído. De 1 a 40 caracteres. O padrão é agora.
string
padrão:"day"
Tamanho de cada intervalo:
day ou week. Os intervalos seguem o horário UTC.string
Id de um insumo do catálogo, de 1 a 64 caracteres, para restringir o relatório a ele.
from deve ser anterior a to, e a janela pode ter no máximo 366 dias. Uma data que não pode ser lida, uma janela invertida ou uma mais longa devolve isError com code common.invalid_request.
usedQuantity é o estoque registrado onde foi usado; issuedQuantity é o estoque entregue a salas que não contam seu estoque, um consumo estimado. Os dois somam a quantidade consumida. Análises gerenciais explica cada número.
Perguntas de exemplo:
- “Quantas unidades de cada insumo usamos por semana em agosto?”
- “Mostre o consumo diário de GLV-NIT-M nos últimos 30 dias.”
management.briefing
Management briefing. Devolve o resumo gerencial reproduzível (um compêndio em que cada número se liga à sua métrica de origem e ao seu id de evidência) junto com a lista priorizada de exceções operacionais.
string
padrão:"daily"
daily ou weekly. Define se os números de consumo dentro do resumo são agrupados por dia ou por semana; os demais números não mudam.{ briefing, exceptions }.
O
drillDownId de uma exceção é o id de um pedido, de um movimento de estoque ou de um insumo do catálogo. Um id order é aberto com orders.get; um id item, com inventory.check. Análises gerenciais define cada número.
Perguntas de exemplo:
- “Me dê o resumo de hoje e as três exceções mais urgentes.”
- “O que mudou nesta semana? Use o resumo semanal.”
management.compare_clinics
Compare clinics. Ordena as suas unidades por volume de pedidos, com a definição da métrica à vista. Cada valor é uma contagem.
Todas as unidades aparecem, inclusive as que não têm pedidos. A lista é ordenada por
totalOrders, do maior para o menor; os empates são ordenados por clinicId.
Perguntas de exemplo:
- “Qual unidade fez mais pedidos?”
- “Compare as nossas unidades por aprovações pendentes.”
Páginas relacionadas
Servidor MCP
Escopos, omissão de dados, auditoria e erros.
Conectar um cliente
Configure o Claude Code, o Claude Desktop, o Cursor ou o seu próprio cliente.
Recursos MCP
Documentos de referência que ajudam um assistente a ler estes resultados.
Análises gerenciais
A definição de cada número gerencial.