
Além do DOM Scraping: Construindo 'O ÚLTIMO TERMINAL' com WebMCP
Título do Projeto: THE LAST TERMINAL — Sala de Escape WebMCP
Repositório GitHub: https://github.com/scha54/WebMCP
Demo Ao Vivo: https://webmcp-blush.vercel.app/
1. Resumo Executivo & O Problema com Agentes Web Hoje
Nos últimos anos, agentes de navegador autônomos interagiram com aplicações web principalmente através de raspagem de DOM e inspeção visual. Um fluxo de trabalho típico de navegador AI envolve tirar capturas de tela em alta resolução, alimentá-las em um Modelo de Linguagem Visual (VLM), prever coordenadas de pixel ou seletores CSS, e disparar eventos sintéticos de clique e pressionamento de tecla.
Essa abordagem sofre de falhas críticas:
- Fragilidade: Pequenas refatorações de CSS ou marcação quebram instantaneamente os fluxos de trabalho dos agentes.
- Ineficiência de Tokens: Fazer upload de várias árvores de DOM e capturas de tela em alta resolução consome dezenas de milhares de tokens de LLM por ação.
- Latência: Laços de feedback visual levam segundos por etapa.
- Ambiguidade: Os agentes devem "adivinhar" as intenções dos botões sem tipos de parâmetros de entrada formais.
WebMCP (Protocolo de Contexto de Modelo Web) é um padrão emergente de navegador que resolve isso. Em vez de forçar os agentes de IA a reverter a engenharia de UIs visuais, o WebMCP permite que aplicações web registrem diretamente ferramentas legíveis por máquina (navigator.modelContext.registerTool).
Para demonstrar essa mudança de paradigma, construímos THE LAST TERMINAL—uma sala de escape cibernética polida e baseada em navegador onde jogadores humanos e agentes de IA colaboram para resolver quebra-cabeças interconectados da instalação usando capacidades de ferramentas WebMCP compartilhadas.
2. Arquitetura do Sistema: O Princípio da Lógica de Negócios Compartilhada
O princípio arquitetônico central por trás de THE LAST TERMINAL é Lógica de Execução Unificada. A aplicação nunca duplica a lógica de negócios para interações humanas versus interações de agentes.
┌──────────────────────────┐
│ AGENTE WEBMCP / │
│ SIMULADOR DE DEMO │
└────────────┬─────────────┘
│
Chamadas de Ferramentas WebMCP
│
▼
┌───────────────────────────────────────────────────────────┐
│ THE LAST TERMINAL │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ src/lib/webmcp/ │ │
│ │ tools.ts · schemas.ts · registry.ts │ │
│ └──────────────────────────┬──────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ src/lib/game/ │ │
│ │ gameEngine.ts · gameState.ts · puzzles.ts │ │
│ └─────────────┬─────────────────────────┬─────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────────────────────┐ ┌───────────────────────┐ │
│ │ UI Visual Humano │ │ Atividade do Agente │ │
│ │ (Mapa da Instalação & Sistemas) │ │ & Registro de Ferramentas │ │
│ └───────────────────────────┘ └───────────────────────┘ │
└───────────────────────────────────────────────────────────┘
Quando um usuário humano aciona interruptores físicos na UI de Controle de Energia, o componente dispara:
restorePower(['C', 'A', 'D', 'B'], 'humano');
Quando um agente de IA invoca a ferramenta WebMCP restore_power, o contexto de execução do WebMCP roteia diretamente para a função idêntica:
restorePower(['C', 'A', 'D', 'B'], 'agente');
Ambas as invocações alteram o GameState central, disparam atualizações de UI em tempo real, emitem feedback sintetizado em Web Audio e empurram uma entrada estruturada para o Feed de Atividade do Agente.
3. Conjunto de Ferramentas WebMCP (10 Capacidades Expostas)
A aplicação expõe 10 ferramentas estruturadas representando subsistemas realistas da instalação:
| # | Nome da Ferramenta | Descrição | Esquema de Entrada JSON |
|---|---|---|---|
| 1 | get_game_state |
Recupera status de bloqueio do sistema, pistas descobertas e visualização ativa | {} |
| 2 | inspect_system |
Inspeciona subsistemas da instalação (segurança, energia, arquivo, etc.) |
{ "system": "surveillance" } |
| 3 | read_log |
Lê logs da instalação por ID (LOG-2049) |
{ "logId": "LOG-2049" } |
| 4 | inspect_surveillance |
Inspeciona feeds de câmeras CCTV (CAM-07) em busca de anomalias de quadro |
{ "cameraId": "CAM-07" } |
| 5 | decode_message |
Decodifica cifras criptografadas em candidatos a sobreposição | { "message": "SURVEILLANCE_ANOMALY" } |
| 6 | restore_power |
Restaura a energia auxiliar usando sequência de quatro interruptores | { "sequence": ["C", "A", "D", "B"] } |
| 7 | unlock_security |
Desbloqueia terminal de segurança com código de 4 dígitos | { "code": "7319" } |
| 8 | open_archive |
Montagem do cofre do banco de dados de arquivo (requer energia auxiliar) | {} |
| 9 | inspect_archive |
Consulta registros de arquivo que correspondem a termos de pesquisa | { "query": "exit protocol" } |
| 10 | unlock_exit |
Desengata portas pneumáticas de saída de emergência | { "code": "7319" } |
Esquema JSON & Exemplo de Código: restore_power
O uso do WebMCP pode revolucionar a forma como as empresas brasileiras interagem com agentes de IA, permitindo uma integração mais eficiente e menos suscetível a falhas. Isso pode resultar em processos mais rápidos e precisos, melhorando a experiência do usuário e a eficiência operacional.
Noticias relacionadas

Agentes de Compras Sabem Como Comprar. Eu Construí o WebMCP para o Que Acontece a Seguir.
Agentes de compras estão se tornando eficientes na parte do comércio antes do checkout. O WebMCP visa melhorar a experiência pós-compra, permitindo que clientes descrevam problemas sem precisar de informações complicadas.

Criei um editor LaTeX onde a IA corrige seus próprios erros
O Lemma é um editor LaTeX que integra um agente IA para corrigir erros em tempo real, melhorando a experiência de escrita matemática. Ele utiliza ferramentas WebMCP para otimizar o processo de edição.

Summer Gate: O que o WebMCP-QCG me ensinou sobre A2A e Autoridade Humana
O artigo explora o projeto WebMCP-QCG, um ambiente de trabalho nativo do navegador para decisões de desenvolvimento quântico, destacando a importância da autorização humana e da colaboração entre agentes.
Gostou do conteudo?
Receba toda semana as principais novidades sobre WebMCP.