A arquitetura foi ajustada para contemplar os padrões AG-UI, A2A, MCP e BFA de forma integrada.
O AG-UI foi posicionado na camada de interação com o usuário, representando o frontend em React hospedado no S3 e responsável por mensagens, eventos, streaming, estado da conversa e componentes interativos.
O fluxo segue para uma camada segura de entrada, passando pelo Backend for Agents (BFA), que atua como fachada corporativa para autenticação, autorização, sessão, auditoria, LGPD, políticas, contexto e governança.
A partir disso, o Supervisor/Roteador Inteligente identifica a intenção do usuário e decide se a solicitação será tratada por um único agente ou por múltiplos agentes. Quando necessário, ele utiliza o padrão A2A para delegar tarefas entre agentes especializados, como Abertura de Conta, Suporte ao Cliente, Cartão de Crédito e Compliance.
Os agentes, por sua vez, acessam ferramentas e recursos externos por meio do MCP, utilizando tools como consultar_conta, consultar_cartao, criar_ou_buscar_conta, solicitar_cartao e recursos de prompt.
Por fim, essas tools não acessam diretamente os sistemas internos. Elas passam pelo BFA, que encapsula regras de negócio, segurança, observabilidade, mascaramento de dados, idempotência e integração com sistemas como Core Banking, CRM, Motor de Crédito e KYC.
Dessa forma, a arquitetura separa claramente as responsabilidades: AG-UI cuida da experiência do usuário, A2A cuida da comunicação entre agentes, MCP padroniza o acesso às ferramentas e BFA protege e organiza o acesso aos sistemas reais do domínio.
Segue o resultado: https://github.com/Moquiuti/MCP-A2A-AG-UI-e-Backend-for-Agents-BFA-/blob/main/mdbank_final_a2a_mcp_agui_bfa_uncompressed.drawio.svg