Aller au contenu

Chrome DevTools MCP

Le conteneur inclut un serveur Chrome DevTools MCP pré-configuré qui offre à Claude Code des capacités d’automatisation de navigateur headless. Naviguez sur des pages web, prenez des captures d’écran, inspectez le DOM et interagissez avec les éléments de la page — aucune configuration supplémentaire nécessaire.

Le point d’entrée lance un Chrome headless persistant avec le débogage à distance sur le port 9222. Le serveur MCP chrome-devtools-mcp est enregistré dans les paramètres de Claude Code et se connecte à ce navigateur partagé via --browserUrl. Toutes les sessions partagent une seule instance de navigateur et un même répertoire de cookies — les connexions, cookies et authentifications persistent entre les projets.

OutilDescription
navigate_pageNaviguer vers une URL et attendre le chargement de la page
take_screenshotCapturer une capture d’écran PNG de la page actuelle
take_snapshotObtenir un instantané de l’arbre d’accessibilité de la page
clickCliquer sur un élément de la page
typeSaisir du texte dans un champ de saisie
hoverSurvoler un élément
scrollFaire défiler la page ou un élément spécifique
evaluateExécuter du JavaScript dans le contexte de la page
get_console_logsRécupérer les messages du journal de la console
get_page_infoObtenir les métadonnées de la page (titre, URL, etc.)

La pile du navigateur utilise quatre composants qui fonctionnent ensemble :

  1. Playwright Chromium — Binaire Chromium compatible ARM64 installé au moment du build via npx playwright install --with-deps chromium
  2. Lien symbolique Chrome — fait le pont entre le chemin attendu par Puppeteer (/opt/google/chrome/chrome) et le binaire Playwright
  3. Processus Chrome partagé — lancé par chrome-browser.sh avec --remote-debugging-port=9222, redémarre automatiquement en cas de crash
  4. Enregistrement MCP globalsettings.json enregistre chrome-devtools-mcp avec --browserUrl=http://localhost:9222

Google Chrome n’a pas de paquet .deb pour ARM64, et le paquet apt chromium-browser d’Ubuntu 24.04 redirige vers snap (qui ne fonctionne pas dans les conteneurs). Le Chromium fourni par Playwright est la seule option fiable pour les conteneurs ARM64.

Confirmez que la configuration fonctionne à l’intérieur du conteneur :

Fenêtre de terminal
# Le binaire Chrome répond
/opt/google/chrome/chrome --version
# Le lien symbolique est correct
ls -la /opt/google/chrome/chrome
# Le débogage à distance est actif
curl http://localhost:9222/json/version
# L'auto-test inclut les vérifications de Chrome
claude-self-test

Lorsque ENABLE_VNC=true, le point d’entrée démarre la pile VNC avant de lancer Chrome. Le script chrome-browser.sh détecte que DISPLAY est défini et exécute Chrome en mode avec affichage sur l’écran virtuel, ce qui vous permet de voir le navigateur dans le visualiseur VNC.

Ouvrez http://localhost:6080/vnc.html pour voir l’affichage virtuel. Consultez Affichage distant (noVNC) pour plus de détails.

Consultez Dépannage — Chrome DevTools MCP pour les solutions aux problèmes courants, notamment les échecs de débogage à distance, les erreurs de verrouillage de profil et les outils MCP en double.