Lab 105: MCP Apps: UI Interativa Dentro de Agentes¶
Phase 3 · local first
O caminho obrigatório é determinístico e local. O caminho Real é opcional e inclui estimativa e limpeza.
O que você aprenderá¶
- Declarar recurso MCP App
- Renderizar UI interativa acessível
- Separar fronteiras de confiança de host, app e ferramenta
- Validar mensagens, permissões e fallback textual
Pré-requisitos¶
- Python 3.10+ e um terminal
- Nenhuma credencial para o caminho obrigatório
- Leia a especificação oficial vinculada antes de usar um adaptador hospedado
Modelo visual¶
flowchart LR
H[Agent host] --> M[MCP server]
M --> R[App resource]
R --> U[Sandboxed UI]
U -->|validated message| H
H --> P[Permission gate]
Cenário¶
A OutdoorGear precisa de uma implementação revisável para workshop, com fixtures determinísticas, fronteiras de confiança explícitas, critérios mensuráveis e adaptador hospedado opcional e reversível.
Exercício guiado¶
Step 1: declare_resource¶
- Execute a fixture determinística desta etapa.
- Registre entrada, saída, decisão de política e comportamento de falha.
- Altere um comportamento limitado e execute o teste local novamente.
Evidence: Salve comando, resultado e uma frase explicando por que a evidência é confiável.
Step 2: render_ui¶
- Execute a fixture determinística desta etapa.
- Registre entrada, saída, decisão de política e comportamento de falha.
- Altere um comportamento limitado e execute o teste local novamente.
Evidence: Salve comando, resultado e uma frase explicando por que a evidência é confiável.
Step 3: validate_messages¶
- Execute a fixture determinística desta etapa.
- Registre entrada, saída, decisão de política e comportamento de falha.
- Altere um comportamento limitado e execute o teste local novamente.
Evidence: Salve comando, resultado e uma frase explicando por que a evidência é confiável.
Step 4: test_fallback¶
- Execute a fixture determinística desta etapa.
- Registre entrada, saída, decisão de política e comportamento de falha.
- Altere um comportamento limitado e execute o teste local novamente.
Evidence: Salve comando, resultado e uma frase explicando por que a evidência é confiável.
Execute localmente¶
Simulação / Caminho Real¶
Kit de apoio¶
O build do site gera downloads estáveis em PDF e ZIP. A CI também mantém um espelho temporário por 30 dias.
README.md: início rápido e checklist de evidênciasCHEATSHEET.md: guia de decisão e revisãoscenario.json: contrato determinísticotest_scenario.py: testes locais- Baixar PDF gerado
- Baixar ZIP gerado
Quiz pontuado¶
Por que manter um contrato local?
Resposta
Ele cria uma linha de base determinística antes de adicionar variabilidade e custo hospedados.
Quando o caminho Real termina?
Resposta
Somente após registrar evidência de validação e limpeza.
Como tratar a saída de ferramentas?
Resposta
Como dado não confiável até a validação de política e esquema.
Critérios de saída¶
- Testes locais passam sem credenciais.
- O diagrama tem explicação textual e não depende de cor.
- O quiz pontuado foi revisado.
- O caminho Real tem teto de custo e plano de limpeza.
- Fontes e estabilidade foram verificadas.