Agentes de IA e MCP
Agentes de IA estão em produção e precisam pedir permissão a pessoas com segurança, rastreabilidade e pouca fricção. O notific.me oferece dois caminhos: o SDK e o servidor MCP oficial.
O servidor MCP tem duas funções:
- Humano no circuito. O agente pede aprovação ou faz uma pergunta e espera a resposta assinada. Também avisa o que está fazendo.
- Administração do workspace. Ele configura e audita o workspace inteiro (serviços, tokens, regras, hooks, webhooks, auditoria, uso), sempre limitado aos escopos do token e, por padrão, com aprovação humana a cada escrita.
Conexão
Seção intitulada “Conexão”| Item | Valor |
|---|---|
| Transporte | Streamable HTTP, sem sessão, respostas JSON |
| URL | https://<api>/v0/mcp |
| Autenticação | Authorization: Bearer nm_svc_… (token de serviço) |
| Ferramentas | Só as que os escopos do token permitem (tools/list já vem filtrado) |
Crie um serviço do tipo agente de IA em Serviços e tokens e depois um token. A tela Agentes do app.notific.me mostra os comandos exatos da sua conta.
claude mcp add --transport http notificme https://api.notific.me/v0/mcp --header "Authorization: Bearer nm_svc_..."{ "mcpServers": { "notificme": { "type": "http", "url": "https://api.notific.me/v0/mcp", "headers": { "Authorization": "Bearer nm_svc_..." } } }}Ferramentas
Seção intitulada “Ferramentas”| Ferramenta | Escopo | O que faz |
|---|---|---|
whoami |
qualquer | Workspace, serviço, escopos, escopos travados, limites e ferramentas disponíveis. |
request_approval |
asks:write (+asks:read para esperar) |
Pergunta sim/não com resumo, detalhes, risco, nível e prazo. Espera até 55 s por chamada e devolve approved, status, note e as_text. |
ask_human |
asks:write |
Grupo de perguntas completo (sim/não, opções, texto, número, data), com espera opcional. |
get_answer |
asks:read |
Estado e resposta de uma pergunta (long-poll até 55 s). |
notify |
events:write |
Envia um evento: título, resumo, severidade, tipo, card_id para card vivo, dedup_key, ttl, expires_when. |
Com workspace:read, o agente lê tudo (list_rules, simulate_event, search_events, get_usage…). Com escopos de escrita, ganha create_rule, put_hook, create_token, resend_webhook e outras. audit:read adiciona search_audit e list_agent_activity.
Recursos: notificme://guide (o guia do agente: como perguntar, níveis, boas práticas, o que é texto não confiável), notificme://schemas/{event,question-set,card,reply} e notificme://workspace.
Prompts: human_approval_gate, audit_review e design_rules.
Aprovação humana para escritas
Seção intitulada “Aprovação humana para escritas”Cada token tem approval_scopes: escopos de escrita que precisam da aprovação de uma pessoa a cada uso. Tokens de serviços ai_agent nascem com aprovação ligada em todos os escopos de escrita. A trava vale na API, não só no MCP, então o agente não foge dela chamando a REST direto.
- O token tenta uma escrita travada e recebe
403 approval_requiredcom o escopo e umrequest_hash. - Ele pede aprovação com
POST /v0/approvals(método, caminho, corpo e motivo). O servidor cria uma pergunta para os donos do workspace mostrando o que vai acontecer, o corpo com segredos mascarados e o motivo marcado como texto do agente, não verificado. - Uma pessoa aprova ou nega no app.
- O token repete exatamente a mesma requisição com o cabeçalho
Notificme-Approval: <approval_id>. O servidor confere token, método, caminho e hash do corpo, consome a aprovação (uso único, válida por 15 minutos) e executa.
Pelo MCP isso é automático: a ferramenta de escrita devolve {"status": "approval_pending", "approval_id": …} e wait_for_approval espera a decisão e, se aprovada, executa a operação guardada.
Regras de segurança
Seção intitulada “Regras de segurança”- Fail closed: rota do workspace sem escopo mapeado responde 403 para tokens.
- O token só enxerga o próprio workspace.
- Pessoas respondem, tokens não:
POST /v0/repliessempre exige a sessão de uma pessoa. - Convidar pessoas, mudar papéis, remover membros e criar workspaces exigem uma pessoa (
403 user_session_required). - Um token emitido por outro token só pode ter um subconjunto dos escopos dele, precisa manter as travas de aprovação e vence em no máximo 90 dias.
- Texto livre de pessoas (
note,free_text) e de eventos vem marcado como não confiável nas respostas das ferramentas. - Cada chamada de ferramenta fica em Agentes → Atividade por 90 dias, sem segredos, e cada escrita aparece na Auditoria com
via: "mcp"e oapproval_id.