Segurança no MCP
Um agente de IA interpreta linguagem natural e executa ferramentas. Uma operação fiscal não pode perder as garantias de controle só porque passou a ser iniciada por conversa.
Por isso a emissão pelo MCP é separada em preparação e confirmação.
Emissão em dois passos
1. Preparar
O agente monta ou reaproveita os dados, pede a preparação e recebe um resumo legível. Nenhuma nota é emitida aqui, e nenhuma cota é consumida.
2. Confirmar
O resumo é apresentado a uma pessoa. Só depois de um sim explícito a confirmação é chamada.
Usuário pede a emissão
│
▼
Agente prepara a operação
│
▼
Conota valida e devolve um resumo
│
▼
Pessoa confere
│
confirma?
│ │
não sim
│ │
encerra ▼
emissão
As quatro camadas
O desenho não depende de o agente "se comportar". Cada camada funciona sozinha:
| # | Proteção | O que ela pega |
|---|---|---|
| 1 | Preparação valida o payload | payload torto nunca chega a virar token |
| 2 | Teto de valor por conta | o que a atenção humana deixa passar |
| 3 | Token de uso único | o agente que reenvia "por segurança" |
| 4 | Referência externa presa ao token | duplicidade por outro caminho |
Uma pessoa aprova o resumo do agente sem reconferir a ordem de grandeza — é assim que a atenção
humana funciona. O teto não depende de ninguém prestar atenção. Ele vale só na emissão
assistida: a POST /v1/nfe/emitir direta não tem limite, porque lá o valor vem do ERP do cliente.
Repetir a confirmação não emite duas vezes
O token é de uso único. Repetir a confirmação devolve o mesmo job — é a defesa número um contra um modelo que reenvia por insegurança.
A chave não distingue leitura de emissão
Não existe hoje conexão só de leitura. A API Key carrega todas as permissões dela, e
confirmar_emissao está entre as ferramentas disponíveis. Trate a chave usada no MCP com o mesmo
cuidado da chave de produção.
Se você quer que alguém só consulte, hoje a resposta é não dar a chave — e não "conectar em modo leitura", que não existe.
O que o agente não deve fazer
As descrições das ferramentas instruem o modelo explicitamente:
- não chamar a confirmação na mesma resposta em que preparou;
- se a pessoa não respondeu, perguntar — não assumir;
- não prometer que um número de nota está garantido: consulta não é reserva.
Isso é parte do contrato, não decoração: no MCP, a descrição da ferramenta é a interface.