Atribua responsabilidades explícitas
O que é: WebMCP oferece capacidades contextuais; backend guarda regras e autoridade; MCP expõe integrações ao host.
Por que aprender: A separação evita transformar a página em backend ou duplicar integrações.
Antes de modelar
Escreva o pedido da pessoa, o estado atual e a evidência que provará conclusão.
Erro de partida
Começar pelo nome de uma função ou por um botão produz uma tool sem objetivo humano claro.
Preveja antes de abrir o código
Qual informação muda a decisão? Qual efeito precisa aparecer na interface? Responda antes de implementar.
pagina: contexto + UI + tool adapter
backend: auth + regra + transação
mcp: sistemas externos
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
WebMCP UX
backend domain
MCP integration
agent host
Escolha onde uma tool deve viver
O que é: Proximidade da experiência, necessidade de segredo, alcance e ciclo de vida orientam a decisão.
Por que aprender: Nem toda função visível deve ser WebMCP e nem toda integração precisa aparecer na página.
| Pergunta | Contrato forte | Contrato fraco |
|---|---|---|
| Quando usar? | A descrição nomeia intenção e contexto. | “Faz coisas” ou “gerencia”. |
| O que recebe? | Somente dados necessários. | Objeto genérico e ilimitado. |
| O que devolve? | Estado e próxima ação verificáveis. | Texto sem protocolo. |
| Como falha? | Código, motivo e recuperação. | Exceção opaca. |
Faça
- ✓ Use verbos específicos.
- ✓ Delimite entradas.
- ✓ Declare a evidência.
Evite
- ✗ Misturar intenções.
- ✗ Aceitar qualquer objeto.
- ✗ Esconder efeitos.
if (needsPageState) return "WebMCP";
if (needsExternalSystem) return "MCP";
return "backend API";
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
placement
secret
reach
lifecycle
Crie uma camada de domínio única
O que é: Clique humano, tool WebMCP e servidor MCP chamam a mesma regra de aplicação quando compartilham um caso de uso.
Por que aprender: Uma fonte de verdade reduz divergência e auditorias contraditórias.
Observe
Capture estado, entrada e contexto antes da ação.
Decida
Valide pré-condições e escolha a transição permitida.
Execute
Aplique a regra compartilhada e respeite cancelamento.
Prove
Atualize a interface e devolva resultado estruturado.
Ponto de controle
Se a etapa 2 reprovar, a tool não tenta “dar um jeito”: ela devolve uma recuperação explícita.
startEnrollment(input, actor)
-> policy.authorize(actor)
-> repository.save(input)
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
application service
ports
adapters
single rule
Propague identidade e rastreio
O que é: Chamadas carregam identidade verificada, delegação limitada e trace context entre as camadas.
Por que aprender: Sem propagação, logs não explicam quem iniciou o efeito nem onde a decisão mudou.
CÓDIGO DE REFERÊNCIA
headers: { traceparent, "X-Actor-Id": actor.id, "X-Delegation-Id": grant.id }
É pequena, descrita e validável.
Reutiliza a regra real da aplicação.
Permite verificar efeito e continuar.
Leia o código como contrato
Sublinhe onde a entrada é validada, onde o efeito acontece, onde o cancelamento chega e onde a UI é atualizada.
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
actor
delegation
traceparent
correlation
Normalize contratos entre fronteiras
O que é: Schemas, erros e envelopes são versionados sem fingir que WebMCP, HTTP e MCP têm transportes idênticos.
Por que aprender: O modelo de domínio pode ser comum enquanto adapters preservam semânticas próprias.
Falha provocada
Execute o cenário com estado ausente, entrada inválida ou capacidade indisponível.
Recuperação esperada
A resposta informa o que falhou, o que permanece seguro e qual ação pode continuar.
Matriz mínima de teste
✓ caminho feliz reproduzível
✓ entrada inválida acionável
✓ cancelamento encerra trabalho
✓ fallback preserva a jornada
✓ interface reflete o estado
✓ backend mantém autorização
DomainError.NOT_FOUND
-> HTTP 404
-> WebMCP { ok:false, code:"NOT_FOUND" }
-> MCP isError result
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
canonical model
adapter
versioning
error mapping
Prove a fatia vertical
O que é: O teste segue pedido, escolha, execução, autorização, integração, UI e resposta final.
Por que aprender: A prova ponta a ponta encontra falhas invisíveis em testes isolados.
Exercício de síntese
- 1. Explique o problema sem usar o nome da tecnologia.
- 2. Desenhe o estado anterior e posterior.
- 3. Implemente a menor prova funcional.
- 4. Provoque uma falha e registre a recuperação.
- 5. Entregue código, evidência e uma limitação conhecida.
Desafio do módulo
Desenhar e implementar uma fatia vertical em que WebMCP coordena UI, backend autoriza e MCP integra um sistema externo.
Critério de Expert responsável
A entrega precisa funcionar, explicar seus limites e preservar o caminho humano quando a capacidade experimental não existir.
trace: user_turn -> webmcp_tool -> backend_policy -> mcp_call -> ui_update -> answer
Indo mais fundo: evidência que vale guardar
Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.
Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.
Conceitos-chave
vertical slice
contract test
trace
visible effect
📦 Entrega do módulo
Desenhar e implementar uma fatia vertical em que WebMCP coordena UI, backend autoriza e MCP integra um sistema externo.
Critério de aceite
A entrega funciona com suporte WebMCP e mantém o caminho manual quando a API não existe.
Evidência
Inclua código, cenário testado, resultado observado e uma limitação conhecida.
Fontes técnicas
- Draft e repositório oficial WebMCP
- Especificação renderizada
- Snapshot oficial: 26/08/2026 · commit 41d12f0. A API declarativa permanece experimental; valide o draft antes de produção.