Pular para o conteúdo

Chrome DevTools MCP

O contêiner inclui um servidor Chrome DevTools MCP pré-configurado que oferece ao Claude Code capacidades de automação de navegador headless. Navegue por páginas web, tire capturas de tela, inspecione o DOM e interaja com elementos da página — sem necessidade de configuração adicional.

O entrypoint inicia um Chrome headless persistente com depuração remota na porta 9222. O servidor MCP chrome-devtools-mcp é registrado nas configurações do Claude Code e se conecta a este navegador compartilhado via --browserUrl. Todas as sessões compartilham uma única instância do navegador e cookie jar — logins, cookies e autenticação persistem entre projetos.

FerramentaDescrição
navigate_pageNavega para uma URL e aguarda o carregamento da página
take_screenshotCaptura uma screenshot PNG da página atual
take_snapshotObtém um snapshot da árvore de acessibilidade da página
clickClica em um elemento na página
typeDigita texto em um campo de entrada
hoverPassa o cursor sobre um elemento
scrollRola a página ou um elemento específico
evaluateExecuta JavaScript no contexto da página
get_console_logsRecupera mensagens do log do console
get_page_infoObtém metadados da página (título, URL, etc.)

A pilha do navegador usa quatro componentes que trabalham juntos:

  1. Playwright Chromium — Binário Chromium compatível com ARM64 instalado em tempo de build via npx playwright install --with-deps chromium
  2. Symlink do Chrome — faz a ponte entre o caminho esperado pelo Puppeteer (/opt/google/chrome/chrome) e o binário do Playwright
  3. Processo Chrome compartilhado — iniciado por chrome-browser.sh com --remote-debugging-port=9222, reinicia automaticamente em caso de falha
  4. Registro MCP globalsettings.json registra o chrome-devtools-mcp com --browserUrl=http://localhost:9222

O Google Chrome não possui pacote .deb para ARM64, e o pacote apt chromium-browser do Ubuntu 24.04 redireciona para snap (que não funciona em contêineres). O Chromium empacotado pelo Playwright é a única opção confiável para contêineres ARM64.

Confirme que a configuração funciona dentro do contêiner:

Terminal window
# Chrome binary responds
/opt/google/chrome/chrome --version
# Symlink is correct
ls -la /opt/google/chrome/chrome
# Remote debugging is active
curl http://localhost:9222/json/version
# Self-test includes Chrome checks
claude-self-test

Quando ENABLE_VNC=true, o entrypoint inicia a pilha VNC antes de iniciar o Chrome. O script chrome-browser.sh detecta que DISPLAY está definido e executa o Chrome em modo com interface no display virtual, para que você possa ver o navegador no visualizador VNC.

Abra http://localhost:6080/vnc.html para ver o display virtual. Consulte Display Remoto (noVNC) para mais detalhes.

Consulte Solução de Problemas — Chrome DevTools MCP para soluções de problemas comuns, incluindo falhas de depuração remota, erros de bloqueio de perfil e ferramentas MCP duplicadas.