- Início
- Contêiner de desenvolvimento
- Chrome DevTools MCP
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.
Como Funciona
Seção intitulada “Como Funciona”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.
Ferramentas Disponíveis
Seção intitulada “Ferramentas Disponíveis”| Ferramenta | Descrição |
|---|---|
navigate_page | Navega para uma URL e aguarda o carregamento da página |
take_screenshot | Captura uma screenshot PNG da página atual |
take_snapshot | Obtém um snapshot da árvore de acessibilidade da página |
click | Clica em um elemento na página |
type | Digita texto em um campo de entrada |
hover | Passa o cursor sobre um elemento |
scroll | Rola a página ou um elemento específico |
evaluate | Executa JavaScript no contexto da página |
get_console_logs | Recupera mensagens do log do console |
get_page_info | Obtém metadados da página (título, URL, etc.) |
Arquitetura
Seção intitulada “Arquitetura”A pilha do navegador usa quatro componentes que trabalham juntos:
- Playwright Chromium — Binário Chromium compatível com ARM64 instalado em tempo de build via
npx playwright install --with-deps chromium - Symlink do Chrome — faz a ponte entre o caminho esperado pelo Puppeteer (
/opt/google/chrome/chrome) e o binário do Playwright - Processo Chrome compartilhado — iniciado por
chrome-browser.shcom--remote-debugging-port=9222, reinicia automaticamente em caso de falha - Registro MCP global —
settings.jsonregistra 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.
Verificação
Seção intitulada “Verificação”Confirme que a configuração funciona dentro do contêiner:
# Chrome binary responds/opt/google/chrome/chrome --version
# Symlink is correctls -la /opt/google/chrome/chrome
# Remote debugging is activecurl http://localhost:9222/json/version
# Self-test includes Chrome checksclaude-self-testModo com Interface (VNC)
Seção intitulada “Modo com Interface (VNC)”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.
Solução de Problemas
Seção intitulada “Solução de Problemas”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.