Pular para conteúdo

Chrome DevTools MCP no OpenClaw: seu agente dentro do seu Chrome

Categoria Tutorial

Você está debugando um dashboard interno. Login com SSO, 2FA, três abas abertas com dados filtrados. Aí pede pro agente ajudar. Ele abre um Chrome limpo — sem login, sem cookies, sem contexto. Você tem que explicar tudo do zero.

O Chrome DevTools MCP resolve isso. Seu agente entra no Chrome que você já está usando — com suas abas, seus logins, suas extensões. Sem re-autenticação, sem perda de contexto.

O recurso é nativo do Chrome 144+ (Beta até virar stable). O Google lançou o servidor MCP (Model Context Protocol — protocolo que conecta agentes a ferramentas externas) que expõe o DevTools como ferramentas para agentes de IA. Este post mostra como configurar no OpenClaw.


TL;DR

ItemDetalhe
RequisitoChrome 144+ (Beta até virar stable)
Ativar no Chromechrome://inspect/#remote-debugging
Config no OpenClawdriver: "existing-session"
Ferramentas29 (automação, rede, performance, debug)
SegurançaSessão real — agente vê cookies e logins

O que é o Chrome DevTools MCP

MCP é o Model Context Protocol — um protocolo aberto que conecta agentes de IA a ferramentas externas. Em vez de cada agente implementar integração customizada, o MCP define um contrato padronizado. O agente descobre as ferramentas disponíveis e chama elas sem código específico.

O servidor chrome-devtools-mcp do Google (repositório ChromeDevTools/chrome-devtools-mcp) expõe o DevTools como ferramentas MCP. São 29 ferramentas em 6 grupos:

GrupoFerramentasExemplo
Automação de input9click, fill, drag, upload
Navegação6tabs, navigate, wait
Emulação2mobile, resize
Performance4trace, memory snapshot
Rede2requests, headers
Debug6console, screenshot, Lighthouse

O diferencial: o agente vê o Chrome real, não um browser isolado. Reusa login, cookies, extensões. Não precisa de extensão — é nativo do Chrome.


Por que usar a sessão existente

Considere três cenários onde isso muda o fluxo de trabalho.

Você está logado num dashboard interno com filtros aplicados e dados na tela. O agente entra na mesma aba e inspeciona o DOM, lê o console, tira screenshot — sem precisar reproduzir o estado inteiro.

Você acha um bug no Network panel enquanto testa manualmente. Em vez de copiar headers e colar num prompt, você delega pro agente investigar ali mesmo. Ele vê os mesmos requests, os mesmos responses, os mesmos cookies.

Você precisa rodar um Lighthouse audit no painel de admin — que requer login, 2FA e cookies de sessão. Sem o modo existing-session, você teria que automatizar o fluxo de login inteiro. Com ele, o agente roda o audit direto na aba autenticada.


Como configurar no OpenClaw

Primeiro, verifique a versão do Chrome. Abra chrome://version e confirme que é 144 ou superior. Se for menor, instale o canal Beta em google.com/chrome/beta.

Segundo, ative remote debugging. Abra chrome://inspect/#remote-debugging e ative a opção. O banner “Chrome is being controlled by automated test software” confirma que funcionou.

Terceiro, edite o openclaw.json:

{
  browser: {
    enabled: true,
    defaultProfile: "user",
    profiles: {
      user: {
        // Usa o Chrome DevTools MCP (não CDP direto)
        driver: "existing-session",
        // Nunca abre browser próprio — só conecta ao que já está rodando
        attachOnly: true,
      }
    }
  }
}

O campo driver: "existing-session" diz ao OpenClaw para usar o Chrome DevTools MCP por baixo. O attachOnly: true garante que o agente nunca abre um browser separado — só conecta ao Chrome que você já está usando.

Quarto, teste a conexão:

openclaw browser --browser-profile user start
openclaw browser --browser-profile user status
openclaw browser --browser-profile user tabs

No status, espere: driver: existing-session, transport: chrome-mcp, running: true. O comando tabs lista as abas abertas no seu Chrome — se aparecerem, funcionou.


O que o agente consegue fazer

Não é uma lista exaustiva, mas são os casos de uso mais práticos.

Screenshot de uma aba específica. O agente captura o estado visual de qualquer aba. Serve para documentar bugs, registrar estado antes/depois de uma mudança, ou gerar evidência para um relatório.

Listar requests de rede. Em vez de abrir o DevTools manualmente e filtrar o Network panel, peça ao agente. Ele retorna URLs, status codes, headers e tempos de resposta.

Rodar Lighthouse. Audit de performance, acessibilidade e SEO direto numa página autenticada. Sem o modo existing-session, páginas atrás de login ficam inacessíveis para o Lighthouse automatizado.

Preencher formulário. A ferramenta fill_form preenche inputs por seletor CSS. Serve para automação de inputs repetitivos — cadastros internos, formulários de teste, campos de busca.

Avaliar JavaScript. A ferramenta evaluate_script roda expressões no console da página. Útil para inspecionar variáveis, testar seletores, ou extrair dados do DOM sem navegar pelo DevTools.

Limitações: PDF export, download interception e wait --load networkidle ainda não funcionam no modo existing-session. Snapshot de páginas privilegiadas (chrome://, about:) retorna vazio.


Segurança

Sessão real significa risco real. O agente vê tudo que o Chrome vê — cookies, tokens de sessão, dados autenticados. Se você está logado no banco, o agente também está. Se você tem uma aba aberta com e-mail pessoal, o agente pode ler o conteúdo.

Use o modo existing-session apenas quando você está presente. O Chrome exige aprovação manual a cada nova conexão MCP — um prompt de consentimento aparece na tela. Isso é intencional: garante que ninguém conecta ao seu browser sem você ver.

Antes de conectar o agente, feche abas que não precisa expor. Banco, e-mail pessoal, admin de produção com dados sensíveis — tudo isso fica visível. Para automações desacompanhadas (cron, heartbeat, scraping), use o perfil isolado openclaw no OpenClaw — ele roda num Chrome separado sem acesso às suas sessões.

AspectoSessão existentePerfil isolado (openclaw)
LoginReusa o seuPerfil separado
PresençaVocê precisa estar presenteRoda sozinho
RiscoAlto (dados reais)Baixo (sandbox)
Uso idealDebug, inspeção, auditAutomação, scraping, testes

Troubleshooting

“Attachment failed”

Chrome abaixo de 144, remote debugging desativado, ou prompt de consentimento não aprovado. Verifique chrome://version e reabra chrome://inspect/#remote-debugging.

“No tabs found”

Chrome não está rodando ou remote debugging foi desativado após a ativação. Reabra chrome://inspect/#remote-debugging e confirme que a opção está ativa.

Snapshot retorna vazio

A aba está numa página privilegiada (chrome://, about:, chrome-extension://). Mude para uma aba com conteúdo web normal.

Latência alta nos comandos

Muitas abas abertas aumentam o overhead do DevTools Protocol. Feche abas que não precisa antes de conectar. 30+ abas é o ponto onde fica perceptível.


Próximo passo

Esc