Configurazione

Puoi configurare Chrome DevTools per gli agenti in modo da personalizzare il modo in cui interagisce con il browser, gli strumenti abilitati e la gestione dei dati.

Configura il server passando i flag della riga di comando nell'array args del file di configurazione del client Model Context Protocol (MCP). In genere si tratta del file config.json.

Ad esempio, per eseguire Chrome in modalità headless e utilizzare il canale Canary, utilizza la seguente configurazione:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--headless",
        "--channel=canary"
      ]
    }
  }
}

Scenari di configurazione comuni

Gli scenari seguenti descrivono i modi comuni per configurare Chrome DevTools per gli agenti.

Esegui in modalità headless

Per eseguire attività in background senza una finestra del browser visibile, esegui Chrome in modalità headless (senza UI). Aggiungi il flag --headless agli argomenti del server.

Connettersi a una sessione del browser esistente

Per impostazione predefinita, DevTools per agenti avvia una nuova istanza di Chrome. Tuttavia, puoi collegare l'agente a una sessione del browser esistente. Ciò è utile se il tuo agente deve esaminare un problema in una sessione che hai già avviato (ad esempio, se hai già eseguito l'accesso).

Puoi connetterti a una sessione esistente in due modi:

Connessione automatica (Chrome 144+)

Se utilizzi il flag --autoConnect, il server MCP si connette automaticamente a un'istanza di Chrome attiva.

  1. Nel browser Chrome in esecuzione, vai a chrome://inspect/#remote-debugging e attiva Debug remoto.
  2. Aggiungi --autoConnect alla configurazione MCP: json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. Quando l'agente tenta di connettersi, Chrome mostra una finestra di dialogo che chiede l'autorizzazione. Fai clic su Consenti.

Connessione manuale

Se non puoi utilizzare --autoConnect (ad esempio, in un ambiente sandbox), puoi avviare manualmente Chrome con una porta di debug e connetterti utilizzando --browser-url.

  1. Avvia Chrome dal terminale con il debug remoto abilitato e una directory di dati utente personalizzata.
    • macOS: shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
    • Windows: shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable
    • Linux: shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
  2. Configura l'agente in modo che si connetta a questa porta: json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]

Riferimento per le opzioni di configurazione

Le sezioni seguenti elencano i flag di configurazione disponibili. Per le opzioni e gli aggiornamenti più recenti, consulta il repository GitHub di Chrome DevTools MCP.

Opzioni di connessione

Utilizza queste opzioni per configurare la modalità di connessione del server a Chrome.

Flag Tipo Predefinito Descrizione
--autoConnect o --auto-connect booleano false Si connette automaticamente a un'istanza di Chrome (144+) in esecuzione locale. Richiede l'abilitazione del debug remoto tramite chrome://inspect/#remote-debugging.
--browserUrl o --browser-url
-u
stringa false Connettiti a un'istanza di Chrome in esecuzione e sottoponibile a debug (ad esempio, http://127.0.0.1:9222).
--wsEndpoint o --ws-endpoint
-w
stringa false Endpoint WebSocket per connettersi a un'istanza di Chrome in esecuzione (ad esempio, ws://127.0.0.1:9222/devtools/browser/<id>). Alternativa a --browserUrl.
--wsHeaders o --ws-headers stringa false Intestazioni personalizzate per la connessione WebSocket in formato JSON (ad esempio, '{"Authorization":"Bearer token"}'). Funziona solo con --wsEndpoint.

Opzioni di avvio del browser

Queste opzioni vengono applicate quando il server MCP avvia Chrome.

Flag Tipo Predefinito Descrizione
--headless booleano false Esegue Chrome in modalità headless (senza UI).
--channel stringa stable Specifica il canale Chrome da utilizzare. Scelte: canary, dev, beta e stable.
--executablePath o --executable-path
-e
stringa false Percorso di un file eseguibile di Chrome personalizzato.
--userDataDir o --user-data-dir stringa Vedi descrizione Percorso della directory dei dati utente. Il valore predefinito è $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE.
--isolated booleano false Crea una directory temporanea dei dati utente che viene pulita automaticamente alla chiusura del browser.
--viewport stringa false Dimensioni iniziali dell'area visibile (ad esempio, 1280x720). In modalità headless, la dimensione massima è 3840x2160.
--proxyServer o --proxy-server stringa false Configurazione del server proxy passata a Chrome.
--chromeArg o --chrome-arg matrice false Argomenti aggiuntivi da passare a Chrome.
--ignoreDefaultChromeArg o --ignore-default-chrome-arg matrice false Disattiva esplicitamente gli argomenti predefiniti per Chrome.

Opzioni di sicurezza e privacy

Utilizza queste opzioni per gestire le impostazioni di sicurezza e la privacy dei dati.

Flag Tipo Predefinito Descrizione
--acceptInsecureCerts o --accept-insecure-certs booleano false Ignora gli errori relativi ai certificati autofirmati e scaduti. Da usare con cautela.
--blockedUrlPattern o --blocked-url-pattern matrice false Limita l'accesso alla rete bloccando i pattern URL specificati (utilizza URLPattern). Blocca le navigazioni e le risorse secondarie.
--allowedUrlPattern o --allowed-url-pattern matrice false Limita l'accesso alla rete consentendo solo i pattern URL specificati. Richiede Chrome 149 o versioni successive.
--redactNetworkHeaders o --redact-network-headers booleano false oscura le intestazioni di rete sensibili prima di restituirle al client.
--usageStatistics o --usage-statistics booleano true Consente la raccolta di statistiche sull'utilizzo per migliorare lo strumento. Può anche essere disattivato utilizzando le variabili di ambiente CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS o CI.
--performanceCrux o --performance-crux booleano true Invia gli URL dalle tracce delle prestazioni all'API Google CrUX per recuperare i dati sull'esperienza utente reale.

Categorie di funzionalità

Puoi attivare o disattivare gruppi di strumenti utilizzando questi flag.

Flag Tipo Predefinito Descrizione
--categoryEmulation o --category-emulation booleano true Attiva gli strumenti correlati all'emulazione.
--categoryNetwork o --category-network booleano true Attiva gli strumenti relativi alla rete.
--categoryPerformance o --category-performance booleano true Attiva gli strumenti correlati al rendimento.
--categoryExtensions o --category-extensions booleano false Attiva gli strumenti relativi alle estensioni. Supportato solo con la connessione pipe.
--categoryExperimentalThirdParty o --category-experimental-third-party booleano false Attiva gli strumenti per sviluppatori di terze parti esposti dalla pagina esaminata.
--categoryExperimentalWebmcp o --category-experimental-webmcp booleano false Consente il debug degli strumenti WebMCP. Richiede Chrome 149 o versioni successive con le funzionalità WebMCP attive.
--memoryDebugging o --memory-debugging booleano false Attiva gli strumenti di debug della memoria.

Opzioni screenshot

Utilizza queste opzioni per personalizzare la modalità di acquisizione degli screenshot da parte dell'agente.

Flag Tipo Predefinito Descrizione
--screenshotFormat o --screenshot-format stringa false Esegue l'override del formato di output predefinito (png). Scelte: jpeg, png e webp. I formati jpeg e webp sono più piccoli, il che contribuisce a ridurre le dimensioni del contesto nelle conversazioni con l'AI.
--screenshotQuality o --screenshot-quality numero false Esegue l'override della qualità di compressione (0-100) per jpeg e webp.
--screenshotMaxWidth o --screenshot-max-width numero false Larghezza massima in pixel. Gli screenshot più grandi vengono ridimensionati.
--screenshotMaxHeight o --screenshot-max-height numero false Altezza massima in pixel. Gli screenshot più grandi vengono ridimensionati.

Opzioni sperimentali

Utilizza queste opzioni per attivare le funzionalità sperimentali in fase di sviluppo.

Flag Tipo Predefinito Descrizione
--experimentalPageIdRouting o --experimental-page-id-routing booleano false Espone pageId negli strumenti con ambito pagina per instradare le richieste in sessioni dell'agente simultanee.
--experimentalDevtools o --experimental-devtools booleano false Consente l'automazione dei target DevTools.
--experimentalVision o --experimental-vision booleano false Attiva gli strumenti basati sulle coordinate (ad esempio click_at). In genere richiede un modello di utilizzo del computer in grado di produrre coordinate accurate esaminando gli screenshot.
--experimentalStructuredContent o --experimental-structured-content booleano false Output di contenuti formattati strutturati.
--experimentalIncludeAllPages o --experimental-include-all-pages booleano false Include tutti i tipi di pagine (ad esempio webview e pagine in background).
--experimentalScreencast o --experimental-screencast booleano false Espone gli strumenti di registrazione schermo (richiede ffmpeg in PATH).
--experimentalFfmpegPath o --experimental-ffmpeg-path stringa false Percorso dell'eseguibile ffmpeg.

Altre opzioni

Utilizza queste opzioni per configurare la registrazione o per attivare un insieme semplificato di strumenti.

Flag Tipo Predefinito Descrizione
--slim booleano false Espone un insieme ridotto di tre strumenti (navigazione, esecuzione di script e screenshot). Utile per le attività di base del browser.
--logFile o --log-file stringa false Percorso di un file in cui scrivere i log di debug.

Variabili di ambiente

Puoi anche utilizzare le seguenti variabili di ambiente per configurare il server:

  • CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: se impostato, disattiva la raccolta delle statistiche di utilizzo (equivalente a --no-usage-statistics).
  • CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: se impostato, disattiva i controlli periodici degli aggiornamenti.
  • CI: se impostato, disattiva la raccolta delle statistiche di utilizzo.
  • DEBUG: imposta questo valore su * per attivare la registrazione di debug dettagliata (funziona in combinazione con --logFile).