Uma checklist para verificar um sistema existente ou planejado contra os princípios MCP-first.
Produto
- Cada feature está descrita como Capability, não apenas como Screen ou Button?
- Existe uma intenção clara do usuário para cada Capability?
- Existe tanto uma forma de uso humana quanto uma forma de uso por agente para cada Capability?
- Está claramente definido quais Capabilities podem ser executadas de forma autônoma?
- Está claramente definido quais Capabilities exigem confirmação explícita do usuário?
Engenharia
- Existe um Action Layer central que todas as interfaces utilizam em conjunto?
- Todas as Actions são tipadas com schemas claramente definidos?
- Existem schemas de entrada e saída para cada Tool?
- Existem códigos de erro claros e legíveis por máquina por Tool?
- Existe uma Policy Engine central que todas as interfaces utilizam em conjunto?
- Existem Audit Logs para cada ação executada?
- Existem testes por Tool que cobrem entradas, saídas e casos de erro?
- Existe um modo Dry Run para ações arriscadas?
Segurança
- Todas as Tools estão classificadas por nível de risco (low / medium / high / critical / forbidden)?
- As Tools são filtradas já na Tool Discovery com base nos direitos do usuário, função e scopes, não apenas na invocação?
- Existe Step-up Authentication para ações particularmente sensíveis?
- Existem Human Confirmation Gates para ações críticas?
- Existe Redaction e Context Filtering para que agentes recebam apenas o contexto necessário para sua tarefa?
- Existe Tenant Isolation, de modo que nenhum acesso entre tenants seja possível?
- Existem Rate Limits por agente, cliente e Tool?
- Existe proteção contra ataques de Prompt Injection?
- Os metadados de Tool são validados no servidor e não assumidos cegamente do cliente?
- Existe monitoramento e alertas para ações de agente incomuns ou anômalas?
UX
- O usuário pode acompanhar a qualquer momento quais ações um agente executou ou quer executar?
- O usuário vê de forma clara e compreensível o que acontecerá concretamente em uma solicitação de confirmação?
- O usuário pode rejeitar ou cancelar uma ação de agente proposta?
- Existe um modo rascunho em que o agente prepara e o humano decide por último?
- Existem opções de desfazer ou reverter para ações reversíveis?
- Ações arriscadas são explicadas com linguagem clara, destinatários, escopo, efeitos externos, nível de risco?
Build capabilities once. Expose them everywhere.