---
title: Ferramenta MCP
description: Chame ferramentas de serviços externos de forma previsível, sem IA, direto no seu fluxo.
---

# Ferramenta MCP  ·  `mcp` / `mcp.call_tool`

<NoCard kind="mcp.call_tool" categoria="Ações" />

<Secao icon="info">Para que serve</Secao>

Imagina um controle remoto com botões programados: você aperta o botão "enviar e-mail" e o e-mail é enviado; aperta "gerar boleto" e o boleto é criado — sem interpretação, sem variação, direto ao ponto. O nó Ferramenta MCP funciona assim: você escolhe uma ferramenta de um serviço conectado (Asaas, ElevenLabs, Resend, etc.) — conectado através do **MCP**, um padrão para ligar ferramentas externas ao seu fluxo — e ela é executada sempre do mesmo jeito, sem passar por um modelo de IA.

A diferença para o Nó Agent é justamente essa: o MCP não raciocina, não interpreta, não escolhe. Ele simplesmente executa a ferramenta exata que você configurou, com os parâmetros que você definiu — confiável como um script.

<Secao icon="clock">Quando usar</Secao>

- Gerar um boleto ou cobrar via Asaas
- Enviar um e-mail transacional via Resend
- Coletar assinatura eletrônica via ZapSign
- Converter texto em áudio via ElevenLabs
- Rastrear processos no AdvBox
- Qualquer integração que precisa de precisão, sem variação comportamental

---

## Pré-requisitos

Antes de usar este nó, o servidor MCP correspondente precisa estar cadastrado e conectado na plataforma. Veja como fazer isso em [Cadastrar um Servidor MCP](/dev/cadastrar-mcp-server).

<Dica>

Uma exceção: o app **Atende Direito** (CRM nativo) aparece na paleta marcado como **"Interno"**, não como um app instalável. Ele já vem pronto para uso em todo workspace desde a criação — não precisa clicar em "Instalar" nem preencher credencial, diferente de apps externos como Asaas ou ElevenLabs. Veja [Catálogo MCP → Atende Direito](/dev/catalogo-mcp#atende-direito-—-crm-nativo).

</Dica>

<Cuidado>

**Apps internos não geram um nó Ferramenta MCP.** Ao arrastar o atalho do app **Atende Direito** (marcado como "Interno" na paleta) para o canvas, o Flow Builder cria um nó [Ação na Plataforma](/guia/flow-builder/acoes/acoes-plataforma), não um nó Ferramenta MCP. A diferença é simples: apps internos/nativos — sempre disponíveis, já vêm prontos em todo agent — viram Ação na Plataforma; apps externos que você instalou (Asaas, Resend, ZapSign, etc.) viram Ferramenta MCP. Se você notar um app interno virando Ferramenta MCP no canvas, entre em contato com o suporte — não é o comportamento esperado.

</Cuidado>

---

<Secao icon="list-checks">Passo a passo</Secao>

<Passos>
  <Passo>Na aba **Ferramentas** da paleta, seção **Apps**, você encontra um atalho para cada servidor MCP já instalado no workspace (ex.: Asaas, Resend) — arrastar esse atalho já cria o nó com o servidor pré-vinculado. Logo abaixo, o item genérico **MCP** também fica sempre disponível: arraste-o quando quiser escolher o servidor manualmente no inspector, inclusive um servidor customizado que não está no catálogo curado.<br/><Captura legenda="Paleta de nós aberta no canvas do Flow Builder, com as categorias disponíveis para localizar e arrastar o nó desejado" src="/img/flowbuilder-paleta-aberta.png" /></Passo>
  <Passo>No painel, a seção **Servidor** mostra o servidor MCP a ser chamado. Quando o nó veio de um atalho de app da seção **Apps**, o servidor já aparece travado (somente leitura). Quando o nó veio do item genérico **MCP**, selecione o **Servidor MCP** desejado — a lista mostra apenas servidores conectados e com status `connected`.</Passo>
  <Passo>Escolha a **Ferramenta** disponível naquele servidor. A lista é carregada automaticamente após selecionar o servidor.</Passo>
  <Passo>Mapeie os **Parâmetros** — cada ferramenta tem seus próprios campos obrigatórios e opcionais. Use expressões <code v-pre>{{ }}</code> para preencher com dados do fluxo.</Passo>
  <Passo>(Opcional) Ative **Saída estruturada** para forçar o retorno da ferramenta em um JSON com campos específicos, definindo o schema esperado.</Passo>
  <Passo>Salve. O resultado da ferramenta fica disponível como <code v-pre>{{mcp.result}}</code> para os nós seguintes.</Passo>
</Passos>

---

<Secao icon="sliders-horizontal">Campos</Secao>

| Campo | O que faz |
|-------|-----------|
| **Servidor MCP** | Qual serviço usar (`mcp_server_id`) — ex.: Asaas, Resend, ZapSign |
| **Ferramenta** | Qual ação executar (`tool_name`) — ex.: `create_invoice`, `send_email` |
| **Parâmetros** | Os dados necessários para a ferramenta — mapeados via expressões do fluxo |

<Dica>

Não tem problema deixar campos de **Parâmetros** em branco quando a ferramenta não exige valor para eles — o fluxo continua sendo executado normalmente. Só ferramentas com parâmetros marcados como obrigatórios exigem preenchimento.

</Dica>

## Saídas

| Variável | Conteúdo |
|----------|----------|
| `result` | Resposta da ferramenta (JSON) |
| `is_error` | Booleano — `true` quando a tool retornou erro semântico |
| `structured_output` | Resposta da ferramenta conforme o schema definido (quando **Saída estruturada** está ativa) |

### Saída estruturada (Structured Output)

Em vez de usar o `result` bruto, você pode ativar **Saída estruturada** e definir um schema JSON com os campos esperados. O resultado validado fica disponível em <code v-pre>{{mcp.structured_output}}</code>, útil quando os nós seguintes esperam um formato previsível.

---

## MCP vs. Nó Agent: qual usar?

| Situação | Use |
|----------|-----|
| Quero executar uma ação específica com dados exatos | **Ferramenta MCP** (sempre executa do mesmo jeito) |
| Quero que a IA decida qual ferramenta usar e como usá-la | **Nó Agent** (com MCP configurado no agent) |
| Preciso de múltiplas ferramentas encadeadas por lógica de IA | **Nó Agent** |
| Preciso de previsibilidade total no que será executado | **Ferramenta MCP** |

---

<Secao icon="circle-check">Exemplo</Secao>

**Cenário:** após fechar um acordo, o fluxo gera automaticamente um boleto e envia por e-mail.

**Nó 1 — Ferramenta MCP (Asaas):**
- Servidor: Asaas
- Ferramenta: `create_invoice`
- Parâmetros:
  - `customer`: <code v-pre>{{contact.asaas_id}}</code>
  - `value`: <code v-pre>{{negocio.valor}}</code>
  - `dueDate`: <code v-pre>{{data_vencimento}}</code>

**Nó 2 — Ferramenta MCP (Resend):**
- Servidor: Resend
- Ferramenta: `send_email`
- Parâmetros:
  - `to`: <code v-pre>{{contact.email}}</code>
  - `subject`: "Seu boleto está disponível"
  - `html`: <code v-pre>"Olá, <span v-pre>{{contact.name}}</span>! Seu boleto: <span v-pre>{{mcp.result.invoiceUrl}}</span>"</code>

<Dica>

Para usar uma ferramenta que não está no catálogo curado, cadastre um **Servidor MCP Customizado**. Veja o guia completo em [Para Desenvolvedores](/dev/cadastrar-mcp-server).

</Dica>

<Cuidado>

O nó Ferramenta MCP executa a ação imediatamente ao ser processado. Não há etapa de confirmação ou desfazer. Para ações irreversíveis (cobrar, assinar documento, enviar e-mail), coloque um nó de confirmação com o cliente antes de executar.

</Cuidado>

---

## Saiba mais

- [Catálogo MCP — servidores disponíveis](/dev/catalogo-mcp)
- [Cadastrar um novo servidor MCP](/dev/cadastrar-mcp-server)
- [Referência técnica do MCP](/dev/referencia)
