Una checklist para verificar un sistema existente o planificado contra los principios MCP-first.
Producto
- ¿Está cada funcionalidad descrita como una capacidad, no solo como una pantalla o un botón?
- ¿Existe para cada capacidad un intent de usuario claro?
- ¿Existe para cada capacidad tanto una forma de uso humana como una forma utilizable por agentes?
- ¿Está claramente definido qué capacidades pueden ejecutarse de forma autónoma?
- ¿Está claramente definido qué capacidades requieren una confirmación explícita del usuario?
Ingeniería
- ¿Existe una capa de acciones central que utilizan todas las interfaces en común?
- ¿Están todas las acciones tipadas con esquemas claramente definidos?
- ¿Existen esquemas de entrada y salida para cada herramienta?
- ¿Existen códigos de error claros y legibles por máquina por herramienta?
- ¿Existe una Policy Engine central que utilizan todas las interfaces en común?
- ¿Existen logs de auditoría para cada acción ejecutada?
- ¿Existen pruebas por herramienta que cubran entradas, salidas y casos de error?
- ¿Existe un modo Dry Run para acciones de riesgo?
Seguridad
- ¿Están todas las herramientas clasificadas por nivel de riesgo (low / medium / high / critical / forbidden)?
- ¿Se filtran las herramientas ya en el Tool Discovery según los permisos, el rol y los scopes del usuario, no solo en la invocación?
- ¿Existe Step-up Authentication para acciones especialmente sensibles?
- ¿Existen Human Confirmation Gates para acciones críticas?
- ¿Existen Redaction y filtrado de contexto para que los agentes reciban solo el contexto necesario para su tarea?
- ¿Existe aislamiento de tenant para que no sean posibles accesos entre tenants?
- ¿Existen límites de tasa por agente, cliente y herramienta?
- ¿Existe protección contra ataques de Prompt Injection?
- ¿Se validan los metadatos de las herramientas en el servidor y no se toman ciegamente del cliente?
- ¿Existe monitorización y alertas para acciones de agente inusuales o anómalas?
UX
- ¿Puede el usuario saber en todo momento qué acciones ha ejecutado o quiere ejecutar un agente?
- ¿Ve el usuario de forma clara y comprensible qué ocurrirá concretamente en una solicitud de confirmación?
- ¿Puede el usuario rechazar o cancelar una acción de agente propuesta?
- ¿Existe un modo borrador en el que el agente prepara y el humano decide al final?
- ¿Existen opciones de deshacer o revertir para acciones reversibles?
- ¿Se explican las acciones de riesgo con un lenguaje claro, destinatarios, alcance, efectos externos, nivel de riesgo?
Build capabilities once. Expose them everywhere.