Ferramentas

Cada ferramenta do servidor MCP, com a rota REST equivalente, parâmetros e escopo.

O assistente descobre estas ferramentas sozinho. Cada uma é a mesma operação de uma rota da API REST, com o mesmo escopo e as mesmas regras; os parâmetros são os da rota: os ids do caminho (id, tag_id…), limit e cursor nas listas, os filtros e os campos do corpo em snake_case. Toda lista devolve { data, next_cursor }. O servidor não oferece prompts nem recursos, só ferramentas.

Contatos

FerramentaRESTParâmetrosEscopoO que faz
list_contactsGET /v1/contactslimit, cursorcontacts:readOs contatos do workspace, do mais novo ao mais antigo.
create_contactPOST /v1/contactsname, phone, emailcontacts:writeCria um contato pelo telefone (E.164, ex.: +5511999990000).
get_contactGET /v1/contacts/{id}idcontacts:readUm contato, com suas tags e campos.
update_contactPATCH /v1/contacts/{id}id, name, phone, email, owner_idcontacts:writeEdita o nome, telefone, e-mail ou responsável de um contato (o id de um membro de list_members, ou null); o que você deixa de fora fica como está.
tag_contactPOST /v1/contacts/{id}/tagsid, tag_idscontacts:writeColoca tags (ids de list_tags) em um contato.
untag_contactDELETE /v1/contacts/{id}/tags/{tag_id}id, tag_idcontacts:writeTira uma tag de um contato.
set_contact_fieldsPUT /v1/contacts/{id}/fieldsid, valuescontacts:writePreenche os campos personalizados de um contato (ids de list_fields); cada valor tem que caber no tipo do campo.
opt_out_contactPOST /v1/contacts/{id}/opt-outidcontacts:writeRegistra que o contato pediu para não receber mais mensagens: campanhas e automações o deixam de fora.
list_tagsGET /v1/tags—contacts:readAs tags do workspace.
create_tagPOST /v1/tagsnamecontacts:writeCria uma tag (Owner ou Admin).
list_fieldsGET /v1/fields—contacts:readOs campos personalizados de contato do workspace e seus tipos.
create_fieldPOST /v1/fieldsname, type, optionscontacts:writeCria um campo personalizado de contato (Owner ou Admin); um select lista suas opções, um campo social a sua única rede.
get_contacts_reportGET /v1/reports/contactsperiod, from, to, number, team, agent, automation, campaign, pipeline, origincontacts:readContatos: novos contatos, suas origens e descadastros. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Conversas

FerramentaRESTParâmetrosEscopoO que faz
list_conversationsGET /v1/conversationslimit, cursor, statusconversations:readAs conversas que você pode ver, da mais nova à mais antiga; status filtra abertas (open) ou fechadas (closed).
get_conversationGET /v1/conversations/{id}idconversations:readUma conversa: seu contato, número, equipe, responsável e status.
close_conversationPOST /v1/conversations/{id}/closeidconversations:writeFecha uma conversa.
reopen_conversationPOST /v1/conversations/{id}/reopenidconversations:writeReabre uma conversa fechada.
transfer_conversationPOST /v1/conversations/{id}/transferid, team_id, member_idconversations:writeTransfere uma conversa para uma equipe (de list_teams) e, opcionalmente, para um dos seus membros.
get_service_reportGET /v1/reports/serviceperiod, from, to, number, team, agent, automation, campaign, pipeline, originconversations:readAtendimento: conversas, tempos de primeira resposta e de resolução, SLA e atendentes. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Mensagens

FerramentaRESTParâmetrosEscopoO que faz
start_conversationPOST /v1/conversationsnumber_id, contact_id, phonemessages:writeAbre a conversa com um contato (contact_id) ou um telefone em um número (number_id de list_numbers), criando-a quando não existe; depois send_message escreve nela.
list_messagesGET /v1/conversations/{id}/messagesid, limit, cursormessages:readAs mensagens de uma conversa, da mais nova à mais antiga.
send_messagePOST /v1/conversations/{id}/messagesid, textmessages:writeEnvia um texto de WhatsApp na conversa de um contato, como a pessoa que autorizou você. Chega ao contato de verdade.
add_notePOST /v1/conversations/{id}/notesid, text, mention_member_idsmessages:writeAdiciona uma nota interna a uma conversa, vista pela equipe e nunca pelo contato; mention_member_ids avisa membros.
list_saved_repliesGET /v1/saved-replies—messages:readAs respostas salvas do workspace: respostas prontas com atalho e texto.

Números

FerramentaRESTParâmetrosEscopoO que faz
list_numbersGET /v1/numberslimit, cursornumbers:readOs números de WhatsApp do workspace e seu status.
get_numberGET /v1/numbers/{id}idnumbers:readUm número de WhatsApp, com suas equipes e horários.
update_numberPATCH /v1/numbers/{id}id, name, team_ids, default_team_id, stage_id, hoursnumbers:writeRenomeia um número ou muda suas equipes, equipe padrão, etapa e horários; nunca a sua conexão.
get_numbers_reportGET /v1/reports/numbersperiod, from, to, number, team, agent, automation, campaign, pipeline, originnumbers:readNúmeros de WhatsApp: mensagens por número e por que envios falharam. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Grupos

FerramentaRESTParâmetrosEscopoO que faz
list_groupsGET /v1/groupslimit, cursorgroups:readOs grupos de WhatsApp em que os números estão.
get_groupGET /v1/groups/{id}idgroups:readUm grupo de WhatsApp e seus membros.
send_group_messagePOST /v1/groups/{id}/messagesid, textgroups:writeEnvia um texto de WhatsApp em um grupo. Chega ao grupo de verdade.

Pipelines

FerramentaRESTParâmetrosEscopoO que faz
list_pipelinesGET /v1/pipelineslimit, cursorpipelines:readOs pipelines e suas etapas.
list_pipeline_itemsGET /v1/pipelines/{id}/itemsid, limit, cursorpipelines:readOs itens (negócios) de um pipeline, do mais novo ao mais antigo.
add_pipeline_itemPOST /v1/pipelines/{id}/itemsid, contact_id, stage_id, title, value, owner_member_idpipelines:writeAdiciona um contato a uma etapa do pipeline como item (negócio).
move_pipeline_itemPATCH /v1/pipeline-items/{id}id, stage_idpipelines:writeMove um item para outra etapa do seu pipeline.
get_sales_reportGET /v1/reports/salesperiod, from, to, number, team, agent, automation, campaign, pipeline, originpipelines:readVendas: negócios ganhos e perdidos, valor e o funil por etapa e vendedor. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Lembretes

FerramentaRESTParâmetrosEscopoO que faz
list_remindersGET /v1/reminderslimit, cursorreminders:readOs lembretes de WhatsApp agendados, do mais novo ao mais antigo.
create_reminderPOST /v1/reminderstarget, contact_id, group_id, segment_id, phone, field_id, conversation_id, title, text, messages, number_id, repeat, date, time, weekday, month_dayreminders:writeAgenda um lembrete de WhatsApp para um contato, grupo, segmento ou telefone; date AAAA-MM-DD e time HH:MM no fuso do workspace.

Automações

FerramentaRESTParâmetrosEscopoO que faz
list_automationsGET /v1/automationslimit, cursorautomations:readAs automações e se cada uma está ativa.
create_automation_draftPOST /v1/automationsname, stepsautomations:writeCria uma automação inativa: primeiro o gatilho, depois as ações em ordem, cada uma com sua configuração real (a mensagem exata do send_text, uma etapa, tags, uma espera). Os nomes são os do workspace (números, etapas, tags). activate_automation a liga.
get_automation_reportGET /v1/reports/automationperiod, from, to, number, team, agent, automation, campaign, pipeline, originautomations:readAutomações: execuções, falhas e respostas de formulário. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Webhooks

FerramentaRESTParâmetrosEscopoO que faz
list_webhooksGET /v1/webhookslimit, cursorwebhooks:readOs endpoints de webhook de saída do workspace.
create_webhookPOST /v1/webhooksname, url, eventswebhooks:writeCria um endpoint de webhook de saída para eventos como message.received; o segredo de assinatura volta uma única vez.

Campanhas

FerramentaRESTParâmetrosEscopoO que faz
list_campaignsGET /v1/campaignslimit, cursorcampaigns:readAs campanhas (disparos), da mais nova à mais antiga.
create_campaignPOST /v1/campaignsname, number_id, target, segment_id, contact_ids, group_ids, text, when, pacecampaigns:writeCria um rascunho de campanha; nunca envia. pace é a velocidade de envio.
get_campaignGET /v1/campaigns/{id}idcampaigns:readUma campanha, com seu público e resultados.
pause_campaignPOST /v1/campaigns/{id}/pauseidcampaigns:sendPausa uma campanha em envio; nada mais sai até resume_campaign.
resume_campaignPOST /v1/campaigns/{id}/resumeidcampaigns:sendRetoma uma campanha pausada.
unschedule_campaignPOST /v1/campaigns/{id}/unscheduleidcampaigns:sendVolta uma campanha agendada para rascunho, para editar e enviar de novo.
get_campaigns_reportGET /v1/reports/campaignsperiod, from, to, number, team, agent, automation, campaign, pipeline, origincampaigns:readCampanhas: enviadas, entregues, lidas e respondidas, por campanha. period é today, 7d, 30d (padrão), 90d ou custom com from e to.

Formulários

FerramentaRESTParâmetrosEscopoO que faz
list_formsGET /v1/formslimit, cursorforms:readOs formulários e se cada um está publicado.
create_form_draftPOST /v1/formstitle, description, fields, thanks, tag, automationforms:writeCria um formulário não publicado: título, campos (save_to diz qual campo do contato a resposta preenche), texto de agradecimento, uma tag para quem envia e uma automação que cada resposta inicia. publish_form o coloca no ar.
list_form_submissionsGET /v1/forms/{id}/submissionsid, limit, cursorforms:readAs respostas de um formulário, da mais nova à mais antiga.
publish_formPOST /v1/forms/{id}/publishidforms:writePublica um formulário.

Segmentos

FerramentaRESTParâmetrosEscopoO que faz
list_segmentsGET /v1/segmentslimit, cursorsegments:readOs segmentos e listas de contatos.
create_listPOST /v1/segmentsnamesegments:writeCria uma lista estática de contatos.
list_segment_contactsGET /v1/segments/{id}/contactsid, limit, cursorsegments:readOs contatos de um segmento ou lista.
add_to_listPOST /v1/segments/{id}/contactsid, contact_idssegments:writeAdiciona contatos a uma lista estática.
create_segmentPOST /v1/segments/rulesname, match_all, rulessegments:writeSalva um segmento de contatos por regras (uma tag que têm ou não têm, atividade recente, uma etapa do pipeline, descadastro, o valor ou a data de um campo); match_all exige todas as regras. Campanhas e lembretes podem então mirar nele.

Membros

FerramentaRESTParâmetrosEscopoO que faz
list_membersGET /v1/memberslimit, cursormembers:readOs membros do workspace e seus papéis.
list_teamsGET /v1/teamslimit, cursormembers:readAs equipes do workspace.

Pedem confirmação

As ferramentas abaixo apagam ou alcançam pessoas de verdade. O assistente deve perguntar antes e só mandar confirm: true depois do sim de quem usa. Pela API REST, confirm não existe: o seu sistema decide.

FerramentaRESTParâmetrosEscopoO que faz
delete_contactDELETE /v1/contacts/{id}id, confirm: truecontacts:writeExclui um contato de vez, com suas conversas e histórico.
delete_tagDELETE /v1/tags/{id}id, confirm: truecontacts:writeExclui uma tag, tirando-a de todos os contatos (Owner ou Admin).
remove_pipeline_itemDELETE /v1/pipeline-items/{id}id, confirm: truepipelines:writeRemove um item (negócio) do seu pipeline.
cancel_reminderDELETE /v1/reminders/{id}id, confirm: truereminders:writeCancela um lembrete.
send_reminder_nowPOST /v1/reminders/{id}/sendid, confirm: truereminders:writeEnvia um lembrete agora, em até 30 segundos; um recorrente depois retoma a sua agenda. Chega às pessoas de verdade.
activate_automationPOST /v1/automations/{id}/activateid, confirm: trueautomations:writePublica o rascunho de uma automação e a liga.
deactivate_automationPOST /v1/automations/{id}/deactivateid, in_progress, confirm: trueautomations:writeDesliga uma automação; as execuções em andamento (in_progress) terminam (finish) ou são canceladas (cancel).
delete_webhookDELETE /v1/webhooks/{id}id, confirm: truewebhooks:writeExclui um endpoint de webhook.
send_campaignPOST /v1/campaigns/{id}/sendid, confirm: truecampaigns:sendEnvia agora uma campanha em rascunho, para todos os destinatários, de verdade.
cancel_campaignPOST /v1/campaigns/{id}/cancelid, confirm: truecampaigns:sendPara de vez uma campanha em envio ou pausada, e as próximas execuções de uma recorrente.
remove_from_listDELETE /v1/segments/{id}/contacts/{contact_id}id, contact_id, confirm: truesegments:writeRemove um contato de uma lista estática.

Erros

Uma ferramenta que falha responde com isError e o mesmo corpo que a API REST devolve: { "error": { "code", "message" } }, com os códigos de Erros e limites. Um papel ou escopo que não permite a ação recebe forbidden.

Nesta página