> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP da Notifique

> Conecte Cursor, Claude ou outras IDEs à Notifique e faça envios pelo chat.

<Tip>
  MCP é o **garçom da IDE**: você pede em linguagem natural ("manda um WhatsApp", "lista webhooks com falha") e a IA chama a API da Notifique por você.
</Tip>

## O que é MCP?

**MCP** (Model Context Protocol) é uma ponte entre a IA no seu computador e a API da Notifique. Em vez de montar request HTTP na mão, você conversa no chat e a IA usa ferramentas prontas.

Pense num garçom: você pede o prato; ele leva o pedido à cozinha (API) e traz a resposta.

Servidor: `https://mcp.notifique.dev/mcp`. Usa a **mesma API Key** do seu app.

## Para que serve?

Com o MCP você pode:

* **Enviar** WhatsApp (texto, botões, lista, mídia), SMS, e-mail, push, RCS, voz e Instagram Direct
* **Conectar** WhatsApp oficial (Cloud API) ou não oficial (QR)
* **Consultar** status de mensagem, instâncias, templates, contatos e webhooks
* **Sincronizar** templates com a WABA Meta (`whatsapp.sync_templates`, `whatsapp.push_template`)
* **Gerenciar** instâncias e ver métricas (`metrics_overview`, `metrics_logs`)
* **Notificar** em vários canais de uma vez via `POST /v1/notify`

Ferramentas comuns: `whatsapp.send_text`, `whatsapp.send`, `whatsapp.create_instance`, `messages.send_template`, `messages.send_sms`, `messages.send_email`. Para voz, use **`POST /v1/voice/calls`** via ferramenta genérica.

Não sabe qual ferramenta usar? Peça **`system.help`** ou **`system.capabilities`**.

***

## WhatsApp oficial no MCP

Pense na Cloud API como o **balcão oficial da Meta**: fora da janela de 24h você só manda **template aprovado**; dentro dela, texto, botões e listas liberam.

| Tarefa                                     | Tool                                    | Detalhe                                                                               |
| ------------------------------------------ | --------------------------------------- | ------------------------------------------------------------------------------------- |
| Criar linha não oficial (QR)               | `whatsapp.create_instance`              | `mode: "UNOFFICIAL"` (padrão)                                                         |
| Criar linha oficial (credenciais próprias) | `whatsapp.create_instance`              | `mode: "OFFICIAL_BYOK"` + `metaAccessToken` + `metaPhoneNumberId` (+ `metaWabaId`)    |
| Criar oficial com link compartilhável      | `whatsapp.create_instance`              | `mode: "OFFICIAL"` + `generateShareableLink: true`                                    |
| Criar com Embedded Signup no browser       | Painel / Aura                           | O MCP **não** abre o login Facebook; use o dashboard, a Aura ou o link compartilhável |
| Enviar texto / botões / lista              | `whatsapp.send` ou `whatsapp.send_text` | Em linha oficial: só com janela 24h aberta                                            |
| Fora das 24h                               | `messages.send_template`                | Template `WHATSAPP_OFFICIAL` + `APPROVED`                                             |
| Sync Meta ↔ local                          | `whatsapp.sync_templates`               | `mode: preview` depois `apply`                                                        |
| Publicar template na WABA                  | `whatsapp.push_template`                | Espelha HEADER/FOOTER/BUTTONS/carrossel                                               |

Exemplo, criar instância oficial no modo avançado:

```json theme={null}
{
  "name": "Atendimento Cloud",
  "mode": "OFFICIAL_BYOK",
  "metaAccessToken": "EAAG...",
  "metaPhoneNumberId": "1234567890",
  "metaWabaId": "9876543210"
}
```

Exemplo, mensagem com botões (sessão, dentro das 24h):

```json theme={null}
{
  "to": "5511999999999",
  "type": "buttons",
  "payload": {
    "description": "Como podemos ajudar?",
    "footer": "Notifique",
    "buttons": [
      { "type": "reply", "id": "sales", "displayText": "Vendas" },
      { "type": "reply", "id": "support", "displayText": "Suporte" }
    ]
  }
}
```

<Warning>
  Se a API responder `META_TEMPLATE_REQUIRED`, a linha oficial está fora da janela de 24h. Use `messages.send_template`, não tente de novo com texto livre.
</Warning>

<Info>
  Guia completo da Cloud API: [Quick Start oficial](/whatsapp-api/como-funciona/quick-start). Comparativo QR × oficial: [Modos de conexão](/whatsapp-api/como-funciona/modos-de-conexao).
</Info>

## Quando usar?

| Situação                                  | Usar MCP?                           |
| ----------------------------------------- | ----------------------------------- |
| Testar envio sem sair do Cursor ou Claude | **Sim**                             |
| Gerar código que roda no seu backend      | Não (use LLMs.txt + Skill)          |
| Automatizar fluxo visual sem código       | Não (use [n8n](/build-with-ai/n8n)) |

## Exemplos de frase

* "Qual o status da mensagem X?"
* "Quais instâncias WhatsApp estão ativas? Quais são oficiais?"
* "Cria uma conexão WhatsApp oficial com meu token e phone number id"
* "Envia um texto para +55…"
* "Envia uma mensagem com botões Sim/Não para esse número"
* "Sincroniza os templates da Meta nessa instância"
* "Mostra webhooks que falharam hoje"
* "Envia um RCS para 5511999999999"
* "Origina uma chamada de voz para +5511999887766 falando Olá"
* "Envia uma DM no Instagram para @usuario"

## Como configurar

### Claude Desktop

Edite o arquivo de configuração:

* **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Troque `sk_...` pela sua chave e reinicie o Claude.

```json theme={null}
{
  "mcpServers": {
    "notifique": {
      "url": "https://mcp.notifique.dev/mcp",
      "headers": {
        "X-API-Key": "sk_..."
      }
    }
  }
}
```

### Cursor

Abra **Settings → MCP** ou crie `.cursor/mcp.json` na raiz do projeto:

```json theme={null}
{
  "mcpServers": {
    "notifique": {
      "url": "https://mcp.notifique.dev/mcp",
      "headers": {
        "X-API-Key": "sk_..."
      }
    }
  }
}
```

### Claude Code

```bash theme={null}
claude mcp add notifique https://mcp.notifique.dev/mcp \
  --transport http \
  --header "X-API-Key: sk_..."
```

### Outros apps com MCP

Use a URL `https://mcp.notifique.dev/mcp` e envie a chave no header:

* `X-API-Key: sk_...`
* ou `Authorization: Bearer sk_...`

<Warning>
  Nunca coloque a chave em repositório público. Vazou? Revogue no painel e crie outra.
</Warning>

## Testar se o servidor está no ar

Não precisa de API Key:

```bash theme={null}
curl -sS https://mcp.notifique.dev/health
```

Se aparecer `"ok": true`, o servidor está funcionando.

## Segurança e dicas

| Tópico                         | Comportamento                                     |
| ------------------------------ | ------------------------------------------------- |
| **Sem chave válida**           | Resposta **401**                                  |
| **Ações sensíveis**            | Podem pedir `confirm: "YES"`                      |
| **Logs**                       | A chave completa não aparece                      |
| **Várias instâncias WhatsApp** | Informe o **`instanceId`** no envio               |
| **Retry**                      | Use **`idempotencyKey`** no envio                 |
| **Status de uma mensagem**     | Use a tool do canal (ex.: `whatsapp.get_message`) |

<Note>
  O [MCP da Notifique](/build-with-ai/mcp-notifique) (IDE + API Key) é **diferente** do MCP do assistente de atendimento no workspace. Veja [Automações](/automations-api/como-funciona/introducao).
</Note>

***

## Próximos passos

* [Construa com IA](/build-with-ai): visão geral
* [LLMs.txt](/build-with-ai/llm): mapa para gerar código
* [Skills](/build-with-ai/skills): receitas por tarefa
* [Chaves de API](/guides/api-key/index): criar e revogar chaves
* [Sandbox](/guides/sandbox/index): testar com `sk_test_...`
