# Trinks — MCP server on mcp.ai > Use Claude or ChatGPT with your Trinks salon, barbershop or spa: schedule, open slots, clients, revenue and commissions. Book, reschedule and cancel appointments by chat. Connect with the official Trinks API or your panel login. By: mcp.ai · official Page: https://mcp.ai/trinks ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_trinks?ms=1794515220000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/trinks/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/trinks/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs Install guide (prompt + clients + REST), markdown: https://mcp.ai/trinks/index.md How to use (MCP or REST), markdown: https://mcp.ai/trinks/skill.md Postman collection (v2.1): https://mcp.ai/trinks/postman.json ## Tools - trinks_agendamento_cancelar(agendamento_ids: integer[], quem_cancelou: string, motivo: string, account?: string) — CANCELA agendamentos na agenda REAL do salão, até 50 por chamada. Não tem volta: cancelado não pode mais ser editado nem mudar de status. Agendamento já pago não pode ser cancelado. - trinks_agendamento_confirmar(agendamento_ids: integer[], account?: string) — CONFIRMA agendamentos na agenda REAL do salão (muda o status para confirmado), até 50 por chamada, com erro reportado por id. Já confirmado continua como está; agendamento já pago não muda de status. - trinks_agendamento_criar(agendamentos: object[], permitir_encaixe?: boolean, account?: string) — CRIA agendamentos na agenda REAL do salão no Trinks (até 10 por chamada). Isto altera a agenda que a equipe e o cliente veem. - trinks_agendamento_reagendar(agendamentos: object[], permitir_encaixe?: boolean, account?: string) — REAGENDA ou edita agendamentos existentes na agenda REAL do salão (até 10 por chamada): nova data e hora, outro profissional, outra duração, serviço, valor ou observação. Isto altera a agenda que a eq - trinks_agendamentos(data_inicio?: string, data_fim?: string, cliente_id?: integer, profissional_ids?: integer[], status?: string[], agendamento_ids?: integer[], max_paginas?: integer, account?: string) — Lê a agenda do salão no Trinks. - trinks_clientes(nome?: string, cpf?: string, email?: string, telefone?: string, cadastro_inicio?: string, cadastro_fim?: string, incluir_etiquetas?: boolean, pagina?: integer, cliente_ids?: integer[], account?: string) — Busca clientes do estabelecimento ou traz o cadastro completo. - trinks_clientes_sem_visita(dias_sem_visita?: integer, janela_dias?: integer, limite?: integer, max_paginas?: integer, account?: string) — Clientes sumidos: quem teve atendimento nos últimos janela_dias (padrão 180) mas não volta há pelo menos dias_sem_visita (padrão 60) e não tem nada marcado nos próximos 60 dias. Ordena pelos mais freq - trinks_comissoes(profissional_ids: integer[], data_inicio: string, data_fim: string, criterio_data?: string, status_pagamento?: string, detalhar?: boolean, account?: string) — Comissões dos profissionais no período, com os mesmos valores do Relatório de Comissões do Trinks: total por profissional, por dia, e (com detalhar) cada item com serviço ou produto, cliente, valor ba - trinks_conta_api(account?: string) — Mostra a situação da API Trinks desta chave: o consumo do mês (cota total, já usado, saldo restante) e os estabelecimentos que a chave acessa, com o id de cada um. - trinks_disponibilidade(datas: string[], servico_id?: integer, duracao_minutos?: integer, intervalo_minutos?: integer, profissional_ids?: integer[], incluir_sem_horario?: boolean, account?: string) — Horários livres dos profissionais em um ou mais dias (até 7). Para cada profissional: horarios_vagos (inícios possíveis, de intervalo_minutos em intervalo_minutos) e intervalos_vagos (faixas livres, j - trinks_estoque_movimentacoes(data_inicio: string, data_fim: string, produto_ids?: integer[], profissional_ids?: integer[], tipo?: integer, max_paginas?: integer, account?: string) — Movimentações de estoque no período (até 31 dias): entradas, vendas, uso interno, perdas, ajustes e a baixa automática de produto usado em atendimento. Quantidade negativa nas saídas. Traz produto, pr - trinks_lancamentos(data_inicio: string, data_fim: string, status_pagamento?: string, tipo?: string, max_paginas?: integer, account?: string) — Lançamentos financeiros (receitas e despesas lançadas no financeiro do Trinks, contas a pagar e a receber), filtrados pela data de VENCIMENTO: descrição, categoria, valor, status de pagamento, data de - trinks_list_accounts(account?: string) — Lista os estabelecimentos Trinks conectados a este install (id da conexão, apelido e nome). Não chama a API. - trinks_produtos(nome?: string, abaixo_do_minimo?: boolean, max_paginas?: integer, account?: string) — Produtos ativos com preço de venda e estoque (atual e mínimo, na unidade de medida do produto: um shampoo de 500 ml com 3 frascos aparece como 1500 ml). Estoque negativo = saída sem saldo. - trinks_profissionais(status?: string, profissional_ids?: integer[], account?: string) — Lista os profissionais do estabelecimento (padrão: só ativos). Cada um tem dois ids: id (o do estabelecimento, usado em agenda, comissões e disponibilidade) e idProfissional (o cadastro geral, que apa - trinks_resumo_faturamento(data_inicio: string, data_fim: string, max_paginas?: integer, account?: string) — Faturamento do período, já somado a partir das transações do caixa: total, número de transações, ticket médio, descontos, por forma de pagamento, por dia, serviços e produtos que mais faturaram e rece - trinks_resumo_ocupacao(data_inicio: string, data_fim: string, profissional_ids?: integer[], max_paginas?: integer, account?: string) — Taxa de ocupação da agenda no período (até 14 dias), no total e por profissional: minutos agendados ÷ (agendados + livres). Livres vem da disponibilidade de cada dia; agendados são os agendamentos não - trinks_servicos(nome?: string, categoria?: string, somente_visiveis_cliente?: boolean, account?: string) — Lista os serviços ativos do estabelecimento, em ordem de nome: id, nome, categoria, duração, preço de tabela, preço promocional de hoje e se o cliente vê no agendamento online. Filtros por trecho de n - trinks_transacoes(data_inicio: string, data_fim: string, incluir_estornos?: boolean, max_paginas?: integer, account?: string) — Transações do caixa no período (pela data e hora do pagamento): total pago, descontos, troco, formas de pagamento, cliente e os serviços, produtos e pacotes de cada uma. Os profissionais aparecem pelo - trinks_vendas(data_inicio: string, data_fim: string, incluir_estornos?: boolean, max_paginas?: integer, account?: string) — Vendas de PRODUTO no período (pela data da venda): itens, quantidade, valor unitário, desconto, valor líquido, cliente, profissional comissionado e as formas de pagamento da transação. Serviços não en ## Example prompts - "How much did the salon make in October, by payment method and by professional?" - "Which regular clients have not come back in over 60 days?" - "Is there an open slot tomorrow afternoon for a haircut with Ana? If so, book Maria at 3pm" ## Links Docs: https://mcp.ai/docs/mcps/trinks Website: https://mcp.ai/mcps/trinks