Puoi configurare Chrome DevTools per agenti in modo da personalizzare il modo in cui interagisce con il browser, gli strumenti attivati e la gestione dei dati.
Configura il server passando i flag della riga di comando nella matrice 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
I seguenti scenari 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.
Connettiti a una sessione del browser esistente
Per impostazione predefinita, DevTools per gli agenti avvia una nuova istanza di Chrome. Tuttavia, puoi connettere l'agente a una sessione del browser esistente. Questa opzione è utile se l'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.
- Nel browser Chrome in esecuzione, vai a
chrome://inspect/#remote-debugginge attiva Debug remoto. - Aggiungi
--autoConnectalla configurazione MCP:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - 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.
- Avvia Chrome dal terminale con il debug remoto attivato e una directory dei 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
- macOS:
- 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 in esecuzione in locale (144+). Richiede l'attivazione del debug remoto utilizzando chrome://inspect/#remote-debugging. |
--browserUrl o --browser-url-u |
stringa | false |
Connettiti a un'istanza di Chrome in esecuzione di cui è possibile eseguire il 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>). In 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 si applicano 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 di 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 dei dati utente temporanea che viene pulita automaticamente alla chiusura del browser. |
--viewport |
stringa | false |
Dimensioni iniziali della visualizzazione (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+. |
--redactNetworkHeaders o --redact-network-headers |
booleano | false |
Oscura le intestazioni di rete sensibili prima di restituirle al client. |
--usageStatistics o --usage-statistics |
booleano | true |
Attiva la raccolta di statistiche sull'utilizzo per migliorare lo strumento. Può essere disattivata anche utilizzando le variabili di ambiente CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS o CI. |
--performanceCrux o --performance-crux |
booleano | true |
Invia gli URL dalle tracce di rendimento all'API CrUX di Google per recuperare i dati sull'esperienza utente reale. |
Categorie di funzionalità
Puoi attivare o disattivare i gruppi di strumenti utilizzando questi flag.
| Flag | Tipo | Predefinito | Descrizione |
|---|---|---|---|
--categoryEmulation o --category-emulation |
booleano | true |
Attiva gli strumenti relativi all'emulazione. |
--categoryNetwork o --category-network |
booleano | true |
Attiva gli strumenti relativi alla rete. |
--categoryPerformance o --category-performance |
booleano | true |
Attiva gli strumenti relativi al rendimento. |
--categoryExtensions o --category-extensions |
booleano | false |
Attiva gli strumenti relativi alle estensioni. Supportato solo con la connessione tramite 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 |
Attiva gli strumenti di debug WebMCP. Richiede Chrome 149+ con le funzionalità WebMCP attivate. |
--memoryDebugging o --memory-debugging |
booleano | false |
Attiva gli strumenti di debug della memoria. |
Opzioni per gli 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 sugli strumenti con ambito pagina per instradare le richieste nelle sessioni simultanee dell'agente. |
--experimentalDevtools o --experimental-devtools |
booleano | false |
Attiva l'automazione sulle destinazioni di 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 |
Genera contenuti formattati strutturati. |
--experimentalIncludeAllPages o --experimental-include-all-pages |
booleano | false |
Include tutti i tipi di pagine (ad esempio, WebView e pagine di sfondo). |
--experimentalScreencast o --experimental-screencast |
booleano | false |
Espone gli strumenti di registrazione dello schermo (richiede ffmpeg in PATH). |
--experimentalFfmpegPath o --experimental-ffmpeg-path |
stringa | false |
Percorso del file 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 impostata, disattiva la raccolta di statistiche sull'utilizzo (equivalente a--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: se impostata, disattiva i controlli periodici per gli aggiornamenti.CI: se impostata, disattiva la raccolta di statistiche sull'utilizzo.DEBUG: imposta su*per attivare la registrazione dettagliata del debug (funziona insieme a--logFile).