O Notti tem um servidor MCP embutido. Com um assistente conectado, você pode pedir coisas como "como foram as campanhas da semana passada?" ou "envie o template da Black Friday para o segmento iOS", e ele trabalha nos seus dados do Notti por meio de um conjunto fixo de ferramentas.
Conectar
No seu assistente, adicione um conector personalizado (ou servidor MCP) com esta URL:
texthttps://<seu-host-notti>/mcpUse o mesmo endereço público em que você abre o painel. Configurações → Apps conectados mostra essa URL com um botão de copiar. Em uma instância self-hosted o endereço precisa ser
https;httpsó funciona emlocalhost.O assistente abre uma página de login do Notti. Entre como de costume.
Escolha a Empresa a conectar e as permissões a conceder, e aprove. Você volta para o assistente.
Uma conexão pertence a uma Empresa. Para usar o assistente com outra Empresa, conecte de novo e escolha a outra.
O login usa OAuth 2.1 com PKCE. O assistente nunca vê sua senha.
O que o assistente alcança
O assistente age como você: alcança os Apps que você alcança no painel. Um owner alcança todos os Apps da Empresa; um membro, só os Apps que recebeu. Um App fora disso responde app_not_found, igual a um que não existe. Se você sair da Empresa ou perder o acesso a um App, o assistente também perde.
Permissões
Você as escolhe na tela de consentimento. A leitura é sempre concedida.
| Permissão | Scope | O que permite |
|---|---|---|
| Ler seus dados | notti:read | Ver Apps, labels, templates, segmentos, notificações, a visão geral do App e o uso. |
| Editar templates e segmentos | notti:write | Criar e alterar templates e segmentos. Sozinha, não envia nada. |
| Enviar notificações | notti:send | Preparar envios para seus usuários e depois confirmá-los ou cancelá-los. |
Ferramentas
| Ferramenta | Scope | O que faz |
|---|---|---|
list_apps | leitura | Lista os Apps que a conexão alcança. |
list_labels | leitura | Lista as labels de um App. |
get_usage | leitura | Mostra os dispositivos ativos no mês contra o limite do plano e as chamadas MCP de hoje. |
get_app_overview | leitura | Números de entrega e engajamento em um período. |
list_notifications, get_notification | leitura | Histórico de notificações, filtrável por status, origem, label e texto, e o conteúdo de uma delas (incluindo o payload data) com o resumo de entrega. |
list_templates, get_template | leitura | Templates, com estatísticas de 30 dias para os que foram enviados. |
list_segments, get_segment, preview_segment | leitura | Segmentos e quantos dispositivos um conjunto de regras alcança. Os valores de regras sobre ID externo de usuário, e-mail, telefone e tags aparecem como [hidden]. |
create_template, update_template | escrita | Cria ou altera um template. |
create_segment, update_segment | escrita | Cria ou altera um segmento. |
prepare_send | envio | Mostra exatamente o que sairia e para quantos dispositivos, sem enviar. |
confirm_send | envio | Envia o que o prepare_send mostrou. |
cancel_scheduled_send | envio | Cancela um envio agendado. |
Enviar são sempre dois passos
O prepare_send nunca envia. Ele devolve uma prévia e um confirmation_token. Só o confirm_send com esse token cria a notificação, e confirmar o mesmo token duas vezes envia uma vez. Revise a prévia antes de o assistente confirmar. Se o template do envio for editado ou apagado entre os dois passos, o confirm_send recusa (content_changed) e o assistente precisa preparar de novo, então o que sai é o que você viu. O template é renderizado quando o push sai, então um envio agendado usa o template como ele estiver nesse momento.
As notificações enviadas assim mostram MCP como origem na lista de push e no detalhe da notificação, e ficam registradas no log de auditoria da Empresa como feitas pelo MCP.
Limites
- Cota diária. Cada plano permite um número de chamadas de ferramentas MCP por Empresa por dia UTC (250 no Free, 500 no Start, 1.000 no Pro e 4.000 no Business). A tela de Uso de um App mostra as chamadas de hoje, o limite do plano e quando o contador zera. Passado o limite, as chamadas são recusadas até a virada. Instâncias self-hosted não têm cota diária.
- Taxa. No máximo 60 chamadas de ferramentas por minuto por conexão.
Gerenciar e revogar conexões
Abra Configurações → Apps conectados no painel para ver os assistentes que você conectou, qual Empresa e quais permissões cada um tem e quando foi usado pela última vez. Revogar uma conexão a encerra na hora.
Para owners da Empresa
Os owners de uma Empresa controlam o MCP de todos nela. Abra Configurações da Empresa → MCP e assistentes de IA (só owners veem):
- Ligar ou desligar o MCP. O MCP vem ligado por padrão em toda Empresa. Enquanto está desligado, nenhum membro consegue aprovar uma nova conexão, e todo assistente já conectado à Empresa recebe
401até você religar. Desligar pede confirmação antes. - Desligar suspende, não revoga. As conexões continuam guardadas, e quando você religa o MCP as que não foram revogadas podem voltar a funcionar. Se o assistente retoma sozinho depende dele: com o MCP desligado, a renovação do token é recusada com
invalid_grant, e alguns clientes tratam isso como conexão perdida e descartam as credenciais. Aí o membro precisa aprovar de novo. O token de acesso dura uma hora, então uma pausa curta é o caso mais provável de retomar sem ninguém fazer nada. - Ver e revogar as conexões de todos. A tabela lista todas as conexões da Empresa com quem conectou, o assistente, as permissões e o último uso. Revogar uma encerra na hora e de forma definitiva: o membro precisa aprová-la de novo para reconectar, mesmo que você desligue e religue o MCP.
Ligar ou desligar o MCP e revogar a conexão de um membro ficam registrados no log de auditoria, com o owner como autor. A configuração funciona igual em instâncias SaaS e self-hosted.
Tratamento de dados
- Os resultados das ferramentas são agregados ou descritivos. Não incluem push tokens, IDs de dispositivo, IDs externos de usuário nem valores de atributos de dispositivo. As regras de segmento voltam com os valores das condições sobre ID externo de usuário, e-mail, telefone e tags trocados por
[hidden], e o assistente não consegue salvar regras que contenham esse marcador. As prévias de segmento devolvem só contagens. Regras livres sobre esses campos não podem ser pré-visualizadas: salve como segmento e veja a prévia pelo ID, onde uma contagem abaixo de 5 é omitida e a divisão por plataforma e por grupo também, para que uma regra não sirva para checar se uma pessoa está em um App. É uma barreira contra leitura casual, não contra um assistente que pode criar segmentos e comparar as contagens. O tamanho da audiência que oprepare_sendmostra antes de um envio é sempre o real, porque você confirma em cima dele. A exceção é o payloaddatade uma notificação: ele volta como foi enviado, então não coloque dados pessoais nele se não quiser que um assistente os leia. - O que uma ferramenta devolve, e o que você escreve em templates e envios, é processado pelo provedor de assistente que você escolheu conectar. Antes de habilitar para uma Empresa, confira com o jurídico os termos desse provedor e suas obrigações de proteção de dados (por exemplo, a LGPD).
- Conecte apenas assistentes e clientes em que você confia. Quem usa uma conexão pode fazer, como você, o que as permissões dela permitem.
Solução de problemas
| Sintoma | Causa provável |
|---|---|
| O assistente não consegue adicionar o servidor | O endereço da instância não é https (nem localhost), ou o /mcp não é alcançável pelo assistente. |
| A página de consentimento diz que a solicitação expirou | Ela já foi respondida, demorou demais ou pertence a outra conta. Inicie a conexão de novo pelo assistente. |
app_not_found | O App não existe, ou este usuário não o alcança. |
subscription_inactive | A assinatura da Empresa não está ativa. |
| Uma ferramenta é recusada por falta de permissão | A conexão foi feita sem esse scope. Conecte de novo e conceda. |
O assistente recebe 401 depois de ter funcionado, ou a página de consentimento mostra uma Empresa como indisponível | Um owner desligou o MCP nessa Empresa. Peça a um owner para ligar nas configurações da Empresa. |