Integração · MCP

Seu robô já manda as mensagens. Eu digo o que escrever nelas.

Se você tem prospecção automatizada — n8n, Make, um agente próprio, um bot de WhatsApp — ela pode me perguntar antes de enviar: como abordar este lead, como virar esta objeção, como fazer este follow-up. São vinte minutos de configuração e um cabeçalho de autorização.

O que muda na prática

Sem a B.IA

“Olá! Tudo bem? Espero que sim 😊 Me chamo João e trabalho com soluções de marketing digital. Vi que a sua empresa tem muito potencial e gostaria de apresentar nossos serviços. Podemos conversar?”

Reconheceu? É o que todo robô escreve, e por isso é o que todo mundo ignora.

Com a B.IA

“Oi, Marina. Vi seu post de ontem sobre a agenda vazia nas terças e quintas — é bem específico isso, e normalmente tem solução sem precisar de mais anúncio. Posso te mandar duas ideias por aqui?”

Mesmo robô, mesma lista. A diferença é a frase, e a frase é a venda.

Pegar a chave

Entre em Configurações → Ligar a B.IA no seu robô e crie uma chave. Dê a ela o nome do lugar onde vai morar — “n8n da prospecção” — porque daqui a três meses você vai querer revogar uma delas e vai precisar saber qual.

Ela aparece uma vez só. Depois disso existe apenas o hash no nosso banco: nem nós conseguimos mostrá-la de volta. Copie antes de fechar o painel.

O teste de trinta segundos

Antes de montar workflow nenhum, confirme que a chave funciona. Cole isto no terminal trocando a chave:

terminal
curl -X POST https://biadevendas.com.br/api/mcp \
  -H "Authorization: Bearer bia_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "tratar_objecao",
      "arguments": {
        "cliente_disse": "achei bem salgado, o cara que fazia cobrava metade",
        "contexto": "Proposta de gestão de tráfego, R$ 3.500/mês"
      }
    }
  }'

Voltou um JSON com structuredContent.message dentro? Pronto, o resto é encanamento. Voltou 401? A chave está errada ou foi revogada. Voltou 402? A conta está no gratuito, ou a cota do mês acabou.

Quer só ver quais ferramentas existem, sem gastar nada? tools/list responde sem chave — é de propósito, para você inspecionar o servidor antes de configurar qualquer coisa.

Ligar na sua ferramenta

O n8n fala MCP nativo. Você não precisa montar o JSON na mão: o nó descobre as ferramentas e o seu agente escolhe qual usar.

  1. No seu workflow, adicione o nó MCP Client Tool e ligue na entrada Tool do seu AI Agent.
  2. Server Transport: HTTP Streamable. (A opção SSE é a antiga e está marcada como obsoleta no próprio n8n.)
  3. MCP Endpoint URL: o endereço completo, com /api/mcp no fim.
  4. Authentication: Bearer Auth. Crie a credencial e cole a chave sem escrever “Bearer” na frente — esse pedaço o n8n põe sozinho.
  5. Salve e abra a lista de ferramentas do nó. Se aparecerem as quatro, está ligado.
MCP Endpoint URL
https://biadevendas.com.br/api/mcp

No Tools Agent o modelo escolhe a ferramenta pela descrição dela. Deixe no prompt do agente uma linha dizendo quando consultar a B.IA — “antes de escrever qualquer mensagem para um lead, chame a ferramenta de abordagem” — ou ele vai inventar a mensagem sozinho e só usar a B.IA quando travar.

Referência

As quatro ferramentas

Quanto mais específico o contexto, menos genérica a resposta. “Cliente achou caro” devolve conselho de livro; “proposta de R$ 3.500/mês, ele compara com um freelancer, já fizemos uma call” devolve a pergunta certa para aquele cliente.

abordagemAntes do primeiro contato.
leadobrigatório
Quem é a pessoa. Cargo, negócio, cidade — o que você tiver.
canalopcional
WhatsApp, Instagram, e-mail, LinkedIn. Muda o tamanho e o tom.
sabe_sobreopcional
O gancho. Um post recente, uma vaga aberta, uma loja nova.
lead_idopcional
O id dele no seu sistema. Liga a memória — veja abaixo.
tratar_objecaoO cliente travou em alguma coisa.
cliente_disseobrigatório
O que ele escreveu, nas palavras dele. Copie, não resuma.
contextoopcional
Qual proposta, qual valor, o que já rolou antes.
lead_idopcional
O id dele no seu sistema.
follow_upEle parou de responder.
historicoobrigatório
O que já aconteceu nessa conversa, em uma ou duas linhas.
dias_sem_respostaopcional
Número. Três dias e vinte dias pedem mensagens diferentes.
lead_idopcional
O id dele no seu sistema.
esquecer_leadO negócio fechou, ou morreu.
lead_idobrigatório
Apaga a memória desse lead. Não gasta mensagem.

O que volta

Sempre o mesmo formato, nas quatro ferramentas. O campo que você manda para o cliente é message; os outros são para o seu agente decidir o que fazer depois.

result.structuredContent
{
  "message":        "o que enviar, palavra por palavra",
  "interpretation": "o que a frase dele provavelmente esconde",
  "strategy":       "por que esta mensagem e não outra",
  "nextStep":       "o que fazer com a resposta dele",
  "warnings":       ["o que não dizer", "..."]
}

Leia os warnings antes de deixar o seu agente improvisar em cima do texto. Eles são a parte que evita a besteira cara — o desconto oferecido antes da hora, o “mas o nosso é melhor” que transforma uma conversa em discussão.

A parte que ninguém faz

Mande o lead_id. É o que separa um follow-up de um incômodo.

Sem ele, cada chamada é um estranho: no quarto follow-up o seu robô recebe o mesmo ângulo da primeira mensagem — porque, do nosso lado, era a primeira. Quem percebe é o lead, e o que ele faz é bloquear.

Passe o id que você já tem — o do CRM, o telefone, um uuid. Ele é opaco para nós; quem decide o que é “o mesmo lead” é você, e isso está certo: só você sabe se dois telefones são a mesma pessoa.

2ª mensagem

Puxa pelo gancho que ainda não foi usado, e lembra que a primeira abordagem falou de agenda.

4ª mensagem

Muda de porta e oferece a saída honesta — “me fala só um ‘agora não’ que eu paro de te chamar” — porque três tentativas sem resposta já disseram algo.

Guardamos resumo, não arquivo: um recorte da situação e a mensagem sugerida, as doze últimas. Quando o negócio fecha ou morre, chame esquecer_lead — não gasta mensagem e apaga tudo daquele lead.

Cota, limite e preço

  • Cada chamada bem-sucedida vale uma mensagem da sua cota, a mesma do chat. Chamada que falha não desconta.
  • esquecer_lead e tools/list não gastam nada — não chamam o modelo.
  • A cota renova na data da sua assinatura, não no dia 1º. Assinou dia 15, renova dia 15.
  • É dos planos pagos. Um robô faz centenas de chamadas por dia; no gratuito ele gastaria as mensagens em segundos — e aí o guia não serviria para nada.
  • Até cinco chaves vivas por conta. Revogar libera vaga, e o que estiver usando a chave revogada para de funcionar na hora.

Quando dá errado

401-32001

A chave não veio, ou não existe mais.

Confira o cabeçalho e se a chave não foi revogada.

402-32002

A conta está no plano gratuito.

A conexão por API é dos planos pagos.

402-32003

A cota de mensagens acabou.

Renova na data da sua assinatura, ou troca de plano.

429-32004

Muitas chamadas em pouco tempo.

Respeite o cabeçalho Retry-After; um robô em loop bate aqui.

403-32005

A conta está suspensa.

Entre em contato — a chave volta a funcionar com a conta.

400-32602

Faltou um campo obrigatório.

A mensagem do erro diz qual.

200isError

A ferramenta rodou e o modelo falhou.

Tente de novo na próxima; não derruba a conversa.

A última linha é de propósito. Erro de JSON-RPC quer dizer “a chamada não aconteceu”; isError quer dizer “a ferramenta rodou e deu ruim”. Seu agente pode tentar de novo na segunda sem derrubar a conversa inteira.

Para quem já conhece MCP

  • Falamos a revisão 2026-07-28 e também as anteriores (2025-11-25, 2025-06-18, 2025-03-26).
  • Sem sessão. A partir da 2026-07-28 o MCP é stateless: não há handshake, Mcp-Session-Id nem stream de GET. Na prática é um POST com JSON-RPC 2.0. O initialize continua respondido, para cliente antigo conectar.
  • Chave no cabeçalho, não OAuth. A especificação recomenda OAuth 2.1 e permite, com todas as letras, que cliente e servidor combinem a própria estratégia. Nenhum n8n faz fluxo de consentimento com PKCE; uma chave é o que essas ferramentas sabem usar.

Antes de ligar no robô, vale sentir como eu respondo.

No simulador eu faço o cliente difícil, você responde, e no fim eu mostro onde escorregou. É a mesma cabeça que vai atender as chamadas do seu agente — de graça, sem cartão.