Vous pouvez configurer les outils de développement Chrome pour que les agents personnalisent leur interaction avec le navigateur, les outils activés et la façon dont les données sont traitées.
Configurez le serveur en transmettant des indicateurs de ligne de commande dans le tableau args de votre fichier de configuration du client MCP (Model Context Protocol). Il s'agit généralement du fichier config.json.
Par exemple, pour exécuter Chrome en mode headless et utiliser le canal Canary, utilisez la configuration suivante :
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
Scénarios de configuration courants
Les scénarios suivants décrivent les méthodes courantes de configuration des outils pour les développeurs Chrome pour les agents.
Exécuter en mode sans interface graphique
Pour effectuer des tâches en arrière-plan sans fenêtre de navigateur visible, exécutez Chrome en mode headless (sans interface utilisateur). Ajoutez l'option --headless aux arguments de votre serveur.
Se connecter à une session de navigateur existante
Par défaut, les Outils de développement pour les agents démarrent une nouvelle instance Chrome. Toutefois, vous pouvez connecter votre agent à une session de navigateur existante. Cela est utile si votre agent doit examiner un problème dans une session que vous avez déjà démarrée (par exemple, si vous êtes déjà connecté).
Vous pouvez vous connecter à une session existante de deux manières :
Connexion automatique (Chrome 144 et versions ultérieures)
Si vous utilisez l'option --autoConnect, le serveur MCP se connecte automatiquement à une instance Chrome active.
- Dans votre navigateur Chrome en cours d'exécution, accédez à
chrome://inspect/#remote-debugginget activez le débogage à distance. - Ajoutez
--autoConnectà votre configuration MCP :json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - Lorsque l'agent tente de se connecter, Chrome affiche une boîte de dialogue demandant l'autorisation. Cliquez sur Autoriser.
Connexion manuelle
Si vous ne pouvez pas utiliser --autoConnect (par exemple, dans un environnement de bac à sable), vous pouvez démarrer Chrome manuellement avec un port de débogage et vous connecter à l'aide de --browser-url.
- Démarrez Chrome à partir du terminal avec le débogage à distance activé et un répertoire de données utilisateur personnalisé.
- 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 :
- Configurez votre agent pour qu'il se connecte à ce port :
json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
Autoriser l'accès aux fichiers en dehors du répertoire temporaire
Les outils qui lisent ou écrivent des fichiers (par exemple, pour enregistrer des captures d'écran, des traces ou charger des extensions) ne peuvent accéder qu'aux chemins d'accès situés dans les racines de l'espace de travail configuré. Le serveur utilise les racines fournies par votre client MCP via la fonctionnalité de racines MCP, ainsi que tous les répertoires que vous transmettez avec --filesystemRoot (alias --workspace). Si votre client ne fournit pas de racines et que vous ne définissez pas --filesystemRoot, l'accès aux fichiers est limité au répertoire temporaire de l'OS.
Les requêtes pour d'autres chemins d'accès échouent avec une erreur Access denied: ... is not within any of
the configured workspace roots.
Pour autoriser l'accès à un répertoire de projet, ajoutez --filesystemRoot aux arguments de votre serveur. Vous pouvez répéter l'option pour autoriser plusieurs répertoires :
"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]
Documentation de référence sur les options de configuration
Les sections suivantes listent les options de configuration disponibles. Pour connaître les dernières options et mises à jour, consultez le dépôt GitHub des outils pour les développeurs Chrome MCP.
Options de connexion
Utilisez ces options pour configurer la façon dont le serveur se connecte à Chrome.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--autoConnect ou --auto-connect |
booléen | false |
Se connecte automatiquement à une instance Chrome (144+) exécutée localement. Nécessite l'activation du débogage à distance à l'aide de chrome://inspect/#remote-debugging. |
--browserUrl ou --browser-url-u |
chaîne | false |
Connectez-vous à une instance Chrome en cours d'exécution et débogable (par exemple, http://127.0.0.1:9222). |
--wsEndpoint ou --ws-endpoint-w |
chaîne | false |
Point de terminaison WebSocket pour se connecter à une instance Chrome en cours d'exécution (par exemple, ws://127.0.0.1:9222/devtools/browser/<id>). Alternative à --browserUrl. |
--wsHeaders ou --ws-headers |
chaîne | false |
En-têtes personnalisés pour la connexion WebSocket au format JSON (par exemple, '{"Authorization":"Bearer token"}'). Ne fonctionne qu'avec --wsEndpoint. |
Options de lancement du navigateur
Ces options s'appliquent lorsque le serveur MCP démarre Chrome.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--headless |
booléen | false |
Exécute Chrome en mode headless (sans UI). |
--channel |
chaîne | stable |
Spécifie la version de Chrome à utiliser. Options : canary, dev, beta et stable. |
--executablePath ou --executable-path-e |
chaîne | false |
Chemin d'accès à un exécutable Chrome personnalisé. |
--userDataDir ou --user-data-dir |
chaîne | Voir la description | Chemin d'accès au répertoire des données utilisateur. La valeur par défaut est $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE. |
--isolated |
booléen | false |
Crée un répertoire temporaire de données utilisateur qui est automatiquement nettoyé lorsque le navigateur se ferme. |
--viewport |
chaîne | false |
Taille initiale de la fenêtre d'affichage (par exemple, 1280x720). En mode headless, la taille maximale est de 3840x2160. |
--proxyServer ou --proxy-server |
chaîne | false |
Configuration du serveur proxy transmise à Chrome. |
--chromeArg ou --chrome-arg |
tableau | false |
Arguments supplémentaires à transmettre à Chrome. |
--ignoreDefaultChromeArg ou --ignore-default-chrome-arg |
tableau | false |
Désactive explicitement les arguments par défaut pour Chrome. |
Options de sécurité et de confidentialité
Utilisez ces options pour gérer les paramètres de sécurité et la confidentialité des données.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--acceptInsecureCerts ou --accept-insecure-certs |
booléen | false |
Ignore les erreurs liées aux certificats autosignés et arrivés à expiration. À utiliser avec précaution. |
--blockedUrlPattern ou --blocked-url-pattern |
tableau | false |
Restreint l'accès au réseau en bloquant les formats d'URL spécifiés (utilise URLPattern). Bloque les navigations et les sous-ressources. |
--allowedUrlPattern ou --allowed-url-pattern |
tableau | false |
Il limite l'accès au réseau en n'autorisant que les formats d'URL spécifiés. Nécessite Chrome 149 ou version ultérieure. |
--redactNetworkHeaders ou --redact-network-headers |
booléen | false |
Masque les en-têtes réseau sensibles avant de les renvoyer au client. |
--usageStatistics ou --usage-statistics |
booléen | true |
Permet de collecter des statistiques d'utilisation pour améliorer l'outil. Peut également être désactivé à l'aide des variables d'environnement CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS ou CI. |
--performanceCrux ou --performance-crux |
booléen | true |
Envoie les URL des traces de performances à l'API Google CrUX pour récupérer les données d'expérience utilisateur réelle. |
--javascriptEvaluation ou --javascript-evaluation |
booléen | true |
Définissez la valeur sur false pour désactiver l'exécution de JavaScript. Lorsqu'elle est désactivée, les outils d'évaluation des scripts sont désactivés, le paramètre initScript de navigate_page est désactivé et l'accès aux URL javascript:, data: ou vbscript: est interdit. |
--filesystemRoot ou --filesystem-root--workspace |
tableau | Répertoire temporaire de l'OS | Répertoire que les outils d'accès aux fichiers sont autorisés à utiliser, en plus des racines fournies par le client MCP. Peut être spécifié plusieurs fois. Consultez Autoriser l'accès aux fichiers en dehors du répertoire temporaire. |
--allowUnrestrictedPaths ou --allow-unrestricted-paths |
booléen | false |
Obsolète : utilisez plutôt --workspace=/. Désactive la restriction de chemin d'accès qui s'applique lorsque le client MCP ne fournit pas de racines. |
Catégories de fonctionnalités
Vous pouvez activer ou désactiver des groupes d'outils à l'aide de ces options.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--categoryInput ou --category-input |
booléen | true |
Active les outils liés à la saisie. |
--categoryNavigation ou --category-navigation |
booléen | true |
Active les outils liés à la navigation. |
--categoryEmulation ou --category-emulation |
booléen | true |
Active les outils liés à l'émulation. |
--categoryNetwork ou --category-network |
booléen | true |
Active les outils liés au réseau. |
--categoryPerformance ou --category-performance |
booléen | true |
Active les outils liés aux performances. |
--categoryDebugging ou --category-debugging |
booléen | true |
Active les outils liés au débogage. |
--categoryMemory ou --category-memory |
booléen | true |
Active les outils liés à la mémoire. |
--categoryExtensions ou --category-extensions |
booléen | false |
Active les outils liés aux extensions. Compatible uniquement avec une connexion par pipe. |
--categoryPwa ou --category-pwa |
booléen | false |
Active les outils permettant d'automatiser les applications Web progressives (installation, lancement, désinstallation et état de l'OS). Compatible uniquement avec une connexion par pipe. |
--categoryExperimentalThirdParty ou --category-experimental-third-party |
booléen | false |
Active les outils pour les développeurs tiers exposés par la page inspectée. |
--categoryExperimentalWebmcp ou --category-experimental-webmcp |
booléen | false |
Active le débogage des outils WebMCP. Nécessite Chrome 149 ou version ultérieure avec les fonctionnalités WebMCP activées. |
--memoryDebugging ou --memory-debugging |
booléen | false |
Active les outils de débogage de la mémoire. |
Options de capture d'écran
Utilisez ces options pour personnaliser la façon dont l'agent effectue des captures d'écran.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--screenshotFormat ou --screenshot-format |
chaîne | false |
Remplace le format de sortie par défaut (png). Choix : jpeg, png et webp. Les formats jpeg et webp sont plus petits, ce qui permet de réduire la taille du contexte dans les conversations IA. |
--screenshotQuality ou --screenshot-quality |
nombre | false |
Remplace la qualité de compression (0 à 100) pour jpeg et webp. |
--screenshotMaxWidth ou --screenshot-max-width |
nombre | false |
Largeur maximale en pixels. Les captures d'écran plus grandes sont redimensionnées. |
--screenshotMaxHeight ou --screenshot-max-height |
nombre | false |
Hauteur maximale en pixels. Les captures d'écran plus grandes sont redimensionnées à la baisse. |
Options expérimentales
Utilisez ces options pour activer les fonctionnalités expérimentales en cours de développement.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--experimentalDevtools ou --experimental-devtools |
booléen | false |
Active l'automatisation sur les cibles des outils de développement. |
--experimentalVision ou --experimental-vision |
booléen | false |
Active les outils basés sur les coordonnées (par exemple, click_at). Nécessite généralement un modèle d'utilisation de l'ordinateur capable de produire des coordonnées précises en examinant des captures d'écran. |
--experimentalStructuredContent ou --experimental-structured-content |
booléen | false |
Génère du contenu structuré et mis en forme. |
--experimentalIncludeAllPages ou --experimental-include-all-pages |
booléen | false |
Inclut tous les types de pages (par exemple, les vues Web et les pages d'arrière-plan). |
--experimentalScreencast ou --experimental-screencast |
booléen | false |
Expose les outils d'enregistrement d'écran (nécessite ffmpeg dans PATH). |
--experimentalFfmpegPath ou --experimental-ffmpeg-path |
chaîne | false |
Chemin d'accès à l'exécutable ffmpeg. |
--experimentalScreencastFps ou --experimental-screencast-fps |
nombre | false |
Images par seconde pour l'enregistrement d'écran. Des valeurs plus faibles peuvent réduire la pression sur la mémoire des pages qui produisent des frames plus rapidement que ffmpeg ne peut les encoder. |
Autres options
Utilisez ces options pour configurer la journalisation, le routage des pages et les cartes sources, ou pour activer un ensemble d'outils simplifiés.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--slim |
booléen | false |
Expose un petit ensemble de trois outils (navigation, exécution de scripts et captures d'écran). Utile pour les tâches de base du navigateur. |
--pageIdRouting ou --page-id-routing |
booléen | true |
Nécessite pageId sur les outils et les itinéraires à portée de page, et achemine les requêtes par ID de page, ce qui est utile pour les sessions d'agent simultanées. Utilisez --no-page-id-routing pour la désactiver. |
--sourceMaps ou --source-maps |
booléen | true |
Active les cartes sources dans les Outils de développement. Utilisez --no-source-maps pour désactiver. |
--logFile ou --log-file |
chaîne | false |
Chemin d'accès à un fichier dans lequel écrire les journaux de débogage. Définissez la variable d'environnement NODE_DEBUG sur * pour activer les journaux détaillés. |
--config |
chaîne | false |
Chemin d'accès à un fichier de configuration JSON. |
Variables d'environnement
Vous pouvez également utiliser les variables d'environnement suivantes pour configurer le serveur :
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: si cette option est définie, la collecte des statistiques d'utilisation est désactivée (équivaut à--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: si cette option est définie, les vérifications périodiques des mises à jour sont désactivées.CI: si cette option est définie, la collecte des statistiques d'utilisation est désactivée.NODE_DEBUG: définissez la valeur sur*pour activer la journalisation détaillée du débogage (fonctionne avec--logFile).