Vous pouvez configurer les outils de développement Chrome pour les agents afin de personnaliser leur interaction avec le navigateur, les outils activés et la façon dont ils gèrent les données.
Configurez le serveur en transmettant des options de ligne de commande dans le tableau args de votre fichier de configuration 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 des méthodes courantes de configuration des outils de développement Chrome pour les agents.
Exécuter en mode headless
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 ou version ultérieure)
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 en 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"]
Documentation de référence sur les options de configuration
Les sections suivantes listent les options de configuration disponibles. Pour obtenir les dernières options et mises à jour, consultez le dépôt GitHub 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 en cours d'exécution locale (144 ou version ultérieure). Nécessite que le débogage à distance soit activé à l'aide de chrome://inspect/#remote-debugging. |
--browserUrl ou --browser-url-u |
chaîne | false |
Se connecter à 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 interface utilisateur). |
--channel |
chaîne | stable |
Spécifie le canal Chrome à utiliser. Choix : 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 de 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 de données utilisateur temporaire 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 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 auto-signés et expirés. À utiliser avec précaution. |
--blockedUrlPattern ou --blocked-url-pattern |
tableau | false |
Restreint l'accès au réseau en bloquant les modèles d'URL spécifiés (utilise URLPattern). Bloque les navigations et les sous-ressources. |
--allowedUrlPattern ou --allowed-url-pattern |
tableau | false |
Restreint l'accès au réseau en n'autorisant que les modèles d'URL spécifiés. Nécessite Chrome 149 ou une 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 |
Active la collecte de 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 des URL à partir de traces de performances à l'API Google CrUX pour récupérer des données d'expérience utilisateur réelles. |
Types de fonctionnalités
Vous pouvez activer ou désactiver des groupes d'outils à l'aide de ces options.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--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. |
--categoryExtensions ou --category-extensions |
booléen | false |
Active les outils liés aux extensions. Uniquement compatible avec la connexion de canalisation. |
--categoryExperimentalThirdParty ou --category-experimental-third-party |
booléen | false |
Active les outils de développement 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 une 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 capture les 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 d'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 réduites. |
--screenshotMaxHeight ou --screenshot-max-height |
nombre | false |
Hauteur maximale en pixels. Les captures d'écran plus grandes sont réduites. |
Options expérimentales
Utilisez ces options pour activer les fonctionnalités expérimentales en cours de développement.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--experimentalPageIdRouting ou --experimental-page-id-routing |
booléen | false |
Expose pageId sur les outils à portée de page pour acheminer les requêtes dans les sessions d'agent simultanées. |
--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 les captures d'écran. |
--experimentalStructuredContent ou --experimental-structured-content |
booléen | false |
Génère du contenu structuré mis en forme. |
--experimentalIncludeAllPages ou --experimental-include-all-pages |
booléen | false |
Inclut tous les types de pages (par exemple, les WebViews et les pages d'arrière-plan). |
--experimentalScreencast ou --experimental-screencast |
booléen | false |
Expose les outils de screencast (nécessite ffmpeg dans PATH). |
--experimentalFfmpegPath ou --experimental-ffmpeg-path |
chaîne | false |
Chemin d'accès à l'exécutable ffmpeg. |
Autres options
Utilisez ces options pour configurer la journalisation ou activer un ensemble d'outils simplifié.
| Option | Type | Par défaut | Description |
|---|---|---|---|
--slim |
booléen | false |
Expose un ensemble limité de trois outils (navigation, exécution de scripts et captures d'écran). Utile pour les tâches de navigateur de base. |
--logFile ou --log-file |
chaîne | false |
Chemin d'accès à un fichier dans lequel écrire les journaux de débogage. |
Variables d'environnement
Vous pouvez également utiliser les variables d'environnement suivantes pour configurer le serveur :
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: si elle est définie, désactive la collecte de statistiques d'utilisation (équivalent à--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: si elle est définie, désactive les vérifications périodiques des mises à jour.CI: si elle est définie, désactive la collecte de statistiques d'utilisation.DEBUG: définissez la valeur sur*pour activer la journalisation détaillée du débogage (fonctionne en association avec--logFile).