Configuration

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.

  1. Dans votre navigateur Chrome en cours d'exécution, accédez à chrome://inspect/#remote-debugging et activez le débogage à distance.
  2. Ajoutez --autoConnect à votre configuration MCP : json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. 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.

  1. 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
  2. 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).