Pular para o conteúdo principal

Referência de Ferramentas MCP

📚 Documentação completa de todas as 52 ferramentas disponíveis no Servidor MCP do Notifica

Este guia detalha cada ferramenta com parâmetros, tipos, exemplos de entrada/saída e casos de uso.

dica

Para um guia introdutório, veja Servidor MCP do Notifica.


📤 Notificações

notifica_notification_send

Envia uma notificação para um destinatário via canal especificado.

Parâmetros:

NomeTipoObrigatórioDescrição
channelstringCanal de entrega: email, whatsapp, sms, in_app
tostringDestinatário: email, telefone (E.164), ou subscriber_id
templatestringSlug do template a renderizar
dataobjectVariáveis para renderização do template
metadataobjectMetadados arbitrários (não processados)

Exemplo de entrada:

{
"channel": "email",
"to": "[email protected]",
"template": "welcome-v2",
"data": {
"name": "João",
"company": "Acme Corp"
}
}

Exemplo de saída:

{
"id": "notif_abc123",
"channel": "email",
"status": "pending",
"to": "[email protected]",
"template": "welcome-v2",
"created_at": "2025-02-04T14:30:00Z",
"estimated_delivery": "2025-02-04T14:30:30Z"
}

Casos de uso:

  • Enviar notificação de teste durante desenvolvimento
  • Disparar notificação transacional (confirmação de pedido, reset de senha)
  • Enviar broadcast para destinatário específico

notifica_notification_list

Lista notificações recentes com filtros opcionais.

Parâmetros:

NomeTipoObrigatórioDescrição
statusstringFiltrar por status: pending, processing, delivered, failed, bounced, rejected
channelstringFiltrar por canal: email, whatsapp, sms, in_app
limitintegerNúmero de resultados (1-100, padrão: 20)
cursorstringCursor de paginação

Exemplo de entrada:

{
"status": "failed",
"channel": "email",
"limit": 10
}

Exemplo de saída:

{
"data": [
{
"id": "notif_xyz789",
"channel": "email",
"status": "failed",
"to": "[email protected]",
"error": "Bounce - Email address does not exist",
"created_at": "2025-02-04T14:25:00Z",
"failed_at": "2025-02-04T14:25:15Z"
}
],
"pagination": {
"next_cursor": "cur_abc123",
"has_more": true
}
}

Casos de uso:

  • Monitorar atividade de notificações
  • Debugar falhas de entrega
  • Auditar envios recentes

notifica_notification_get

Busca detalhes de uma notificação específica.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID da notificação (ex: notif_abc123)

Exemplo de entrada:

{
"id": "notif_abc123"
}

Exemplo de saída:

{
"id": "notif_abc123",
"channel": "email",
"status": "delivered",
"to": "[email protected]",
"subject": "Bem-vindo!",
"template": "welcome-v2",
"sent_at": "2025-02-04T14:30:02Z",
"delivered_at": "2025-02-04T14:30:05Z",
"opened_at": null,
"clicked_at": null,
"provider": "amazon-ses",
"data": {
"name": "João",
"company": "Acme Corp"
}
}

Casos de uso:

  • Verificar status de entrega
  • Confirmar abertura/clique de email
  • Auditar dados enviados

notifica_notification_list_attempts

Lista tentativas de entrega de uma notificação (útil para debugging).

Parâmetros:

NomeTipoObrigatórioDescrição
notification_idstringID da notificação

Exemplo de entrada:

{
"notification_id": "notif_xyz789"
}

Exemplo de saída:

{
"data": [
{
"id": "att_001",
"status": "failed",
"provider": "amazon-ses",
"error_code": "421",
"error_message": "Service unavailable",
"attempted_at": "2025-02-04T14:30:00Z"
},
{
"id": "att_002",
"status": "delivered",
"provider": "amazon-ses",
"delivered_at": "2025-02-04T14:31:00Z"
}
]
}

Casos de uso:

  • Debugar falhas de entrega
  • Entender comportamento de retry
  • Identificar problemas com provedor

📝 Templates

notifica_template_list

Lista todos os templates com filtros opcionais.

Parâmetros:

NomeTipoObrigatórioDescrição
channelstringFiltrar por canal: email, whatsapp, sms, in_app
statusstringFiltrar por status: draft, active
limitintegerNúmero de resultados (1-100, padrão: 20)
cursorstringCursor de paginação

Exemplo de entrada:

{
"channel": "email",
"status": "active"
}

Exemplo de saída:

{
"data": [
{
"id": "tpl_abc123",
"slug": "welcome-v2",
"name": "Email de Boas-vindas",
"channel": "email",
"status": "active",
"variables": ["name", "company"],
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-02-01T12:00:00Z"
}
]
}

Casos de uso:

  • Descobrir templates disponíveis
  • Verificar variáveis necessárias
  • Listar templates por canal

notifica_template_get

Busca detalhes de um template específico.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do template (ex: tpl_abc123)

Exemplo de entrada:

{
"id": "tpl_abc123"
}

Exemplo de saída:

{
"id": "tpl_abc123",
"slug": "welcome-v2",
"name": "Email de Boas-vindas",
"channel": "email",
"status": "active",
"content": "Olá {{name}}, bem-vindo à {{company}}!",
"variables": ["name", "company"],
"language": "pt-BR",
"created_at": "2025-01-15T10:00:00Z"
}

Casos de uso:

  • Ver conteúdo completo do template
  • Conferir variáveis antes de enviar
  • Copiar template para edição

notifica_template_preview

Renderiza preview de um template com dados de exemplo.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do template
variablesobjectDados de exemplo para renderização

Exemplo de entrada:

{
"id": "tpl_abc123",
"variables": {
"name": "João",
"company": "Acme Corp"
}
}

Exemplo de saída:

{
"rendered": {
"subject": "Bem-vindo à Acme Corp!",
"html": "<h1>Olá João, bem-vindo à Acme Corp!</h1>",
"text": "Olá João, bem-vindo à Acme Corp!"
},
"missing_variables": [],
"unused_variables": []
}

Casos de uso:

  • Testar template antes de enviar
  • Verificar renderização de variáveis
  • Validar conteúdo final

notifica_template_validate

Valida sintaxe de um template sem salvá-lo.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do template a validar

Exemplo de entrada:

{
"id": "tpl_abc123"
}

Exemplo de saída:

{
"valid": true,
"errors": [],
"warnings": [
"Variável 'unused_var' declarada mas não usada no conteúdo"
]
}

Casos de uso:

  • Checar erros de sintaxe
  • Validar antes de ativar template
  • Lint automático de templates

notifica_template_create

Cria um novo template.

Parâmetros:

NomeTipoObrigatórioDescrição
slugstringIdentificador único (ex: order-confirmation)
namestringNome legível
channelstringCanal: email, whatsapp, sms, in_app
contentstringConteúdo com placeholders {{variavel}}
variablesarrayLista de variáveis usadas
languagestringIdioma (padrão: pt-BR)
statusstringStatus inicial: draft ou active (padrão: draft)

Exemplo de entrada:

{
"slug": "order-confirmation",
"name": "Confirmação de Pedido",
"channel": "email",
"content": "Olá {{customer_name}}, seu pedido #{{order_id}} foi confirmado! Total: R$ {{total}}",
"variables": ["customer_name", "order_id", "total"],
"status": "draft"
}

Exemplo de saída:

{
"id": "tpl_xyz789",
"slug": "order-confirmation",
"name": "Confirmação de Pedido",
"status": "draft",
"created_at": "2025-02-04T14:30:00Z"
}

Casos de uso:

  • Criar template via IA
  • Gerar templates programaticamente
  • Importar templates de outro sistema

notifica_template_update

Atualiza um template existente (partial update).

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do template a atualizar
namestringNovo nome
contentstringNovo conteúdo
variablesarrayNova lista de variáveis
statusstringNovo status: draft ou active

Exemplo de entrada:

{
"id": "tpl_xyz789",
"status": "active"
}

Exemplo de saída:

{
"id": "tpl_xyz789",
"slug": "order-confirmation",
"status": "active",
"updated_at": "2025-02-04T14:35:00Z"
}

Casos de uso:

  • Ativar template em draft
  • Corrigir conteúdo
  • Adicionar/remover variáveis

🔄 Workflows

notifica_workflow_list

Lista todos os workflows com paginação.

Parâmetros:

NomeTipoObrigatórioDescrição
limitintegerNúmero de resultados (1-100, padrão: 20)
cursorstringCursor de paginação

Exemplo de saída:

{
"data": [
{
"id": "wf_abc123",
"slug": "onboarding-sequence",
"name": "Sequência de Onboarding",
"status": "active",
"steps_count": 5,
"created_at": "2025-01-10T10:00:00Z"
}
]
}

notifica_workflow_get

Busca detalhes de um workflow incluindo seus passos.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do workflow

Exemplo de saída:

{
"id": "wf_abc123",
"slug": "onboarding-sequence",
"name": "Sequência de Onboarding",
"status": "active",
"steps": [
{
"id": "step_001",
"type": "delay",
"config": { "delay_hours": 24 }
},
{
"id": "step_002",
"type": "notification",
"config": { "template": "day-2-tips", "channel": "email" }
}
]
}

notifica_workflow_trigger

Dispara execução de um workflow para um destinatário.

Parâmetros:

NomeTipoObrigatórioDescrição
slugstringSlug do workflow
recipientstringEmail, telefone ou subscriber_id
dataobjectDados para o workflow

Exemplo de entrada:

{
"slug": "onboarding-sequence",
"recipient": "[email protected]",
"data": {
"plan": "pro",
"signup_date": "2025-02-04"
}
}

Exemplo de saída:

{
"id": "run_xyz789",
"workflow_id": "wf_abc123",
"status": "running",
"started_at": "2025-02-04T14:30:00Z"
}

notifica_workflow_run_get

Verifica status de execução de um workflow.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID da execução (workflow run)

Exemplo de saída:

{
"id": "run_xyz789",
"workflow_id": "wf_abc123",
"status": "running",
"current_step": 2,
"completed_steps": ["step_001"],
"started_at": "2025-02-04T14:30:00Z"
}

notifica_workflow_run_cancel

Cancela execução de um workflow em andamento.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID da execução a cancelar

Exemplo de saída:

{
"id": "run_xyz789",
"status": "canceled",
"canceled_at": "2025-02-04T14:35:00Z"
}

👥 Assinantes

notifica_subscriber_list

Lista assinantes com busca e paginação.

Parâmetros:

NomeTipoObrigatórioDescrição
searchstringBusca por email, telefone ou external_id
limitintegerNúmero de resultados (1-100, padrão: 20)
cursorstringCursor de paginação

Exemplo de saída:

{
"data": [
{
"id": "sub_abc123",
"external_id": "user_42",
"email": "[email protected]",
"phone": "+5511999999999",
"name": "João Silva",
"created_at": "2025-01-15T10:00:00Z"
}
]
}

notifica_subscriber_get

Busca detalhes de um assinante.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do assinante

Exemplo de saída:

{
"id": "sub_abc123",
"external_id": "user_42",
"email": "[email protected]",
"phone": "+5511999999999",
"name": "João Silva",
"locale": "pt-BR",
"timezone": "America/Sao_Paulo",
"custom_properties": {
"plan": "pro",
"signup_date": "2025-01-15"
}
}

notifica_subscriber_create

Cria ou atualiza assinante (upsert por external_id).

Parâmetros:

NomeTipoObrigatórioDescrição
external_idstringID único do seu sistema
emailstringEmail do assinante
phonestringTelefone em E.164 (+5511999999999)
namestringNome completo
localestringLocale (padrão: pt-BR)
timezonestringTimezone (ex: America/Sao_Paulo)
custom_propertiesobjectPropriedades customizadas

Exemplo de entrada:

{
"external_id": "user_42",
"email": "[email protected]",
"name": "João Silva",
"custom_properties": {
"plan": "pro"
}
}

notifica_subscriber_update

Atualiza assinante existente (partial update).

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do assinante
emailstringNovo email
phonestringNovo telefone
namestringNovo nome
localestringNovo locale
timezonestringNovo timezone
custom_propertiesobjectPropriedades atualizadas

notifica_subscriber_get_preferences

Busca preferências de notificação de um assinante.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do assinante

Exemplo de saída:

{
"preferences": [
{
"category": "marketing",
"channel": "email",
"enabled": true
},
{
"category": "marketing",
"channel": "sms",
"enabled": false
},
{
"category": "transactional",
"channel": "email",
"enabled": true
}
]
}

notifica_subscriber_update_preferences

Atualiza preferências de notificação.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do assinante
preferencesarrayLista de preferências

Formato de preferences:

{
category: string, // Ex: "marketing", "transactional"
channel: string, // "email", "whatsapp", "sms", "in_app"
enabled: boolean
}

notifica_subscriber_get_unread_count

Conta notificações in-app não lidas.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do assinante

Exemplo de saída:

{
"count": 12
}

notifica_subscriber_bulk_import

Importa múltiplos assinantes em uma operação (transacional).

Parâmetros:

NomeTipoObrigatórioDescrição
subscribersarrayLista de assinantes a importar

Formato de cada subscriber:

{
external_id: string, // obrigatório
email?: string,
phone?: string,
name?: string,
locale?: string,
timezone?: string,
custom_properties?: object
}

Exemplo de entrada:

{
"subscribers": [
{
"external_id": "user_1",
"email": "[email protected]",
"name": "João"
},
{
"external_id": "user_2",
"email": "[email protected]",
"name": "Maria"
}
]
}

Exemplo de saída:

{
"imported": 2,
"failed": 0,
"errors": []
}

📱 SMS

notifica_sms_provider_list

Lista provedores SMS configurados.

Exemplo de saída:

{
"data": [
{
"id": "prov_abc123",
"type": "twilio",
"name": "Twilio Production",
"active": true,
"allowed_regions": ["BR", "US"],
"created_at": "2025-01-10T10:00:00Z"
}
]
}

notifica_sms_provider_get

Busca detalhes de um provedor SMS.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do provedor

notifica_sms_provider_create

Cria novo provedor SMS.

Parâmetros:

NomeTipoObrigatórioDescrição
typestringTipo: twilio, zenvia, custom
namestringNome do provedor
configobjectConfigurações específicas (credenciais)
activebooleanSe está ativo (padrão: true)
allowed_regionsarrayCódigos de país permitidos (ex: ["BR"])
rate_limit_per_minuteintegerLimite de SMS/minuto

Config para Twilio:

{
"account_sid": "ACxxxx",
"auth_token": "xxxx",
"phone_number": "+5511999999999"
}

Config para Zenvia:

{
"api_key": "xxxx",
"from": "Notifica"
}

notifica_sms_provider_test

Envia SMS de teste via provedor.

Parâmetros:

NomeTipoObrigatórioDescrição
tostringTelefone em E.164 (+5511999999999)
provider_idstringID do provedor (usa padrão se omitido)
messagestringMensagem de teste (usa padrão se omitido)

notifica_sms_compliance_get

Busca configurações de compliance SMS.

Exemplo de saída:

{
"allowed_hours": {
"start": "08:00",
"end": "22:00",
"timezone": "America/Sao_Paulo"
},
"opt_out_keywords": ["SAIR", "PARAR", "CANCELAR"],
"opt_in_required": true,
"holiday_blocking": true
}

Estatísticas de consentimento SMS.

Exemplo de saída:

{
"opted_in": 1234,
"opted_out": 56,
"pending": 78,
"total": 1368
}

Verifica status de consentimento de um número.

Parâmetros:

NomeTipoObrigatórioDescrição
phonestringTelefone em E.164

Exemplo de saída:

{
"phone": "+5511999999999",
"status": "opted_in",
"opted_in_at": "2025-01-15T10:00:00Z"
}

📊 Analytics

notifica_analytics_overview

Métricas gerais de entrega.

Parâmetros:

NomeTipoObrigatórioDescrição
periodstringPeríodo: 1h, 24h, 7d, 30d (padrão: 24h)

Exemplo de saída:

{
"period": "7d",
"total_sent": 1245,
"delivered": 1198,
"failed": 47,
"delivery_rate": 96.2,
"open_rate": 42.3,
"click_rate": 18.7
}

notifica_analytics_by_channel

Métricas por canal.

Parâmetros:

NomeTipoObrigatórioDescrição
periodstringPeríodo: 1h, 24h, 7d, 30d

Exemplo de saída:

{
"period": "7d",
"channels": [
{
"channel": "email",
"sent": 523,
"delivered": 515,
"delivery_rate": 98.5
},
{
"channel": "whatsapp",
"sent": 412,
"delivered": 388,
"delivery_rate": 94.2
}
]
}

notifica_analytics_top_templates

Templates mais usados.

Parâmetros:

NomeTipoObrigatórioDescrição
periodstringPeríodo: 1h, 24h, 7d, 30d
limitintegerNúmero de templates (1-50, padrão: 10)

Exemplo de saída:

{
"period": "7d",
"templates": [
{
"template_id": "tpl_abc123",
"slug": "welcome-v2",
"name": "Email de Boas-vindas",
"sent": 342,
"delivery_rate": 98.2
}
]
}

💳 Billing

notifica_billing_subscription

Status da assinatura.

Exemplo de saída:

{
"plan": "pro",
"status": "active",
"price": 199.00,
"currency": "BRL",
"renewal_date": "2025-02-15",
"cancel_at_period_end": false
}

notifica_billing_usage

Uso atual vs quotas.

Exemplo de saída:

{
"period": "2025-02",
"usage": {
"emails": { "used": 8234, "quota": 50000, "percentage": 16.5 },
"sms": { "used": 1456, "quota": 5000, "percentage": 29.1 },
"whatsapp": { "used": 3012, "quota": 10000, "percentage": 30.1 }
}
}

notifica_billing_invoices

Lista faturas.

Parâmetros:

NomeTipoObrigatórioDescrição
statusstringFiltrar: pending, paid, overdue, canceled, refunded
limitintegerNúmero de faturas
cursorstringCursor de paginação

notifica_billing_payment_methods

Lista métodos de pagamento.

Exemplo de saída:

{
"data": [
{
"id": "pm_abc123",
"type": "card",
"last4": "4242",
"brand": "visa",
"is_default": true
}
]
}

🌐 Domínios

notifica_domain_list

Lista domínios de envio.

Parâmetros:

NomeTipoObrigatórioDescrição
limitintegerNúmero de domínios
cursorstringCursor de paginação

notifica_domain_get

Detalhes de um domínio.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do domínio

notifica_domain_get_health

Verifica saúde do domínio (SPF/DKIM/DMARC).

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do domínio

Exemplo de saída:

{
"domain": "exemplo.com.br",
"spf": { "valid": true, "record": "v=spf1 include:notifica.com.br ~all" },
"dkim": { "valid": true, "selector": "notifica" },
"dmarc": { "valid": true, "policy": "quarantine" },
"overall_health": "excellent"
}

notifica_domain_verify

Dispara verificação DNS.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do domínio a verificar

🔗 Webhooks

notifica_webhook_list

Lista webhooks.


notifica_webhook_get

Detalhes de um webhook.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do webhook

notifica_webhook_get_deliveries

Tentativas de entrega do webhook.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do webhook
limitintegerNúmero de tentativas

notifica_webhook_test

Envia evento de teste.

Parâmetros:

NomeTipoObrigatórioDescrição
idstringID do webhook a testar

📬 Inbox Embed

notifica_inbox_embed_get_settings

Configurações do widget embed.

Exemplo de saída:

{
"theme": "light",
"position": "bottom-right",
"primary_color": "#007bff",
"border_radius": "8px"
}

notifica_inbox_embed_update_settings

Atualiza configurações do embed.

Parâmetros:

NomeTipoObrigatórioDescrição
themestringTema: light, dark, auto
positionstringPosição: bottom-right, bottom-left, etc
primary_colorstringCor primária (hex: #007bff)
border_radiusstringRaio da borda (ex: 8px)
font_familystringFonte (ex: Inter, sans-serif)

notifica_inbox_embed_rotate_key

Rotaciona chave do embed.

Exemplo de saída:

{
"new_key": "ik_live_abc123",
"old_key_expires_at": "2025-02-11T14:30:00Z"
}

📥 Inbox Público

notifica_inbox_list_notifications

Lista notificações in-app.

Parâmetros:

NomeTipoObrigatórioDescrição
subscriber_idstringID do assinante
limitintegerNúmero de notificações
cursorstringCursor de paginação
readbooleanFiltrar por lidas (true/false)

notifica_inbox_get_unread_count

Conta notificações não lidas.

Parâmetros:

NomeTipoObrigatórioDescrição
subscriber_idstringID do assinante

notifica_inbox_mark_read

Marca notificação como lida.

Parâmetros:

NomeTipoObrigatórioDescrição
notification_idstringID da notificação

notifica_inbox_mark_all_read

Marca todas como lidas.

Parâmetros:

NomeTipoObrigatórioDescrição
subscriber_idstringID do assinante

Resumo

Total de ferramentas: 52

MóduloFerramentas
Notificações4
Templates6
Workflows5
Assinantes8
SMS7
Analytics3
Billing4
Domínios4
Webhooks4
Inbox Embed3
Inbox Público4

Próximos passos:

🚀 Explore todas as ferramentas e automatize seu fluxo de notificações!