Salta ai contenuti

Chrome DevTools MCP

Il container include un server Chrome DevTools MCP preconfigurato che fornisce a Claude Code capacità di automazione del browser headless. Naviga pagine web, cattura screenshot, ispeziona il DOM e interagisci con gli elementi della pagina — senza configurazione aggiuntiva.

L’entrypoint avvia un Chrome headless persistente con debug remoto sulla porta 9222. Il server MCP chrome-devtools-mcp è registrato nelle impostazioni di Claude Code e si connette a questo browser condiviso tramite --browserUrl. Tutte le sessioni condividono una singola istanza del browser e il cookie jar — login, cookie e autenticazione persistono tra i progetti.

StrumentoDescrizione
navigate_pageNaviga verso un URL e attende il caricamento della pagina
take_screenshotCattura uno screenshot PNG della pagina corrente
take_snapshotOttiene uno snapshot dell’albero di accessibilità della pagina
clickClicca su un elemento della pagina
typeDigita testo in un campo di input
hoverPassa il cursore sopra un elemento
scrollScorre la pagina o un elemento specifico
evaluateEsegue JavaScript nel contesto della pagina
get_console_logsRecupera i messaggi del log della console
get_page_infoOttiene i metadati della pagina (titolo, URL, ecc.)

Lo stack del browser utilizza quattro componenti che lavorano insieme:

  1. Playwright Chromium — Binario Chromium compatibile con ARM64 installato al momento della build tramite npx playwright install --with-deps chromium
  2. Symlink Chrome — collega il percorso atteso da Puppeteer (/opt/google/chrome/chrome) al binario di Playwright
  3. Processo Chrome condiviso — avviato da chrome-browser.sh con --remote-debugging-port=9222, si riavvia automaticamente in caso di crash
  4. Registrazione MCP globalesettings.json registra chrome-devtools-mcp con --browserUrl=http://localhost:9222

Google Chrome non dispone di un pacchetto .deb per ARM64, e il pacchetto apt chromium-browser di Ubuntu 24.04 reindirizza a snap (che non funziona nei container). Il Chromium integrato di Playwright è l’unica opzione affidabile per i container ARM64.

Conferma che la configurazione funzioni all’interno del container:

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, l’entrypoint avvia lo stack VNC prima di lanciare Chrome. Lo script chrome-browser.sh rileva che DISPLAY è impostato e avvia Chrome in modalità con interfaccia grafica sul display virtuale, così puoi vedere il browser nel visualizzatore VNC.

Apri http://localhost:6080/vnc.html per vedere il display virtuale. Consulta Display Remoto (noVNC) per i dettagli.

Consulta Risoluzione dei Problemi — Chrome DevTools MCP per soluzioni ai problemi comuni, inclusi errori di debug remoto, errori di blocco del profilo e strumenti MCP duplicati.