Konfiguracja

Możesz skonfigurować Narzędzia deweloperskie w Chrome dla agentów, aby dostosować sposób ich interakcji z przeglądarką, które narzędzia są włączone i jak obsługują dane.

Skonfiguruj serwer, przekazując flagi wiersza poleceń w tablicy args pliku konfiguracyjnego klienta Model Context Protocol (MCP). Zwykle jest to plik config.json.

Aby na przykład uruchomić Chrome w trybie bez interfejsu graficznego i używać kanału Canary, użyj tej konfiguracji:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--headless",
        "--channel=canary"
      ]
    }
  }
}

Typowe scenariusze konfiguracji

Poniższe scenariusze opisują typowe sposoby konfigurowania Narzędzi deweloperskich w Chrome dla agentów.

Uruchamianie w trybie bez interfejsu graficznego

Aby wykonywać zadania w tle bez widocznego okna przeglądarki, uruchom Chrome w trybie bez interfejsu graficznego. Dodaj flagę --headless do argumentów serwera.

Łączenie z istniejącą sesją przeglądarki

Domyślnie Narzędzia deweloperskie w Chrome dla agentów uruchamiają nową instancję Chrome. Możesz jednak połączyć agenta z istniejącą sesją przeglądarki. Jest to przydatne, jeśli agent musi zbadać problem w sesji, którą już rozpoczęto (np. jeśli jesteś już zalogowany(-a)).

Z istniejącą sesją możesz połączyć się na 2 sposoby:

Automatyczne łączenie (Chrome 144+)

Jeśli używasz flagi --autoConnect, serwer MCP automatycznie połączy się z aktywną instancją Chrome.

  1. W uruchomionej przeglądarce Chrome otwórz chrome://inspect/#remote-debugging i włącz Zdalne debugowanie.
  2. Dodaj --autoConnect do konfiguracji MCP: json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. Gdy agent spróbuje się połączyć, Chrome wyświetli okno z prośbą o pozwolenie. Kliknij Zezwól.

Łączenie ręczne

Jeśli nie możesz użyć --autoConnect (np. w środowisku piaskownicy), możesz ręcznie uruchomić Chrome z portem debugowania i połączyć się za pomocą --browser-url.

  1. Uruchom Chrome z terminala z włączonym zdalnym debugowaniem i niestandardowym katalogiem danych użytkownika.
    • 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. Skonfiguruj agenta, aby łączył się z tym portem: json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]

Informacje o opcjach konfiguracji

W sekcjach poniżej znajdziesz listę dostępnych flag konfiguracji. Najnowsze opcje i aktualizacje znajdziesz w repozytorium GitHub Narzędzi deweloperskich w Chrome MCP.

Opcje połączenia

Za pomocą tych opcji możesz skonfigurować sposób łączenia się serwera z Chrome.

Flaga Typ Domyślny Opis
--autoConnect lub --auto-connect Wartość logiczna false Automatycznie łączy się z lokalnie działającą instancją Chrome (144+). Wymaga włączenia zdalnego debugowania za pomocą chrome://inspect/#remote-debugging.
--browserUrl lub --browser-url
-u
Ciąg znaków false Łączy się z działającą instancją Chrome, którą można debugować (np. http://127.0.0.1:9222).
--wsEndpoint lub --ws-endpoint
-w
Ciąg znaków false Punkt końcowy WebSocket, z którym można się połączyć z działającą instancją Chrome (np. ws://127.0.0.1:9222/devtools/browser/<id>). Alternatywa dla --browserUrl.
--wsHeaders lub --ws-headers Ciąg znaków false Niestandardowe nagłówki połączenia WebSocket w formacie JSON (np. '{"Authorization":"Bearer token"}'). Działa tylko z --wsEndpoint.

Opcje uruchamiania przeglądarki

Te opcje są stosowane, gdy serwer MCP uruchamia Chrome.

Flaga Typ Domyślny Opis
--headless Wartość logiczna false Uruchamia Chrome w trybie bez interfejsu graficznego.
--channel Ciąg znaków stable Określa kanał Chrome, którego należy używać. Dostępne opcje: canary, dev, beta i stable.
--executablePath lub --executable-path
-e
Ciąg znaków false Ścieżka do niestandardowego pliku wykonywalnego Chrome.
--userDataDir lub --user-data-dir Ciąg znaków Patrz opis Ścieżka do katalogu danych użytkownika. Domyślna wartość to $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE.
--isolated Wartość logiczna false Tworzy tymczasowy katalog danych użytkownika, który jest automatycznie czyszczony po zamknięciu przeglądarki.
--viewport Ciąg znaków false Początkowy rozmiar widocznego obszaru (np. 1280x720). W trybie bez interfejsu graficznego maksymalny rozmiar to 3840x2160.
--proxyServer lub --proxy-server Ciąg znaków false Konfiguracja serwera proxy przekazywana do Chrome.
--chromeArg lub --chrome-arg Tablica false Dodatkowe argumenty przekazywane do Chrome.
--ignoreDefaultChromeArg lub --ignore-default-chrome-arg Tablica false Wyraźnie wyłącz domyślne argumenty Chrome.

Opcje bezpieczeństwa i prywatności

Za pomocą tych opcji możesz zarządzać ustawieniami bezpieczeństwa i prywatności danych.

Flaga Typ Domyślny Opis
--acceptInsecureCerts lub --accept-insecure-certs Wartość logiczna false Ignoruje błędy związane z certyfikatami podpisanymi samodzielnie i wygasłymi. Używaj z rozwagą.
--blockedUrlPattern lub --blocked-url-pattern Tablica false Ogranicza dostęp do sieci, blokując określone wzorce adresów URL (używa URLPattern). Blokuje nawigacje i zasoby podrzędne.
--allowedUrlPattern lub --allowed-url-pattern Tablica false Ogranicza dostęp do sieci, zezwalając tylko na określone wzorce adresów URL. Wymaga Chrome 149 lub nowszego.
--redactNetworkHeaders lub --redact-network-headers Wartość logiczna false Usuwa poufne nagłówki sieciowe przed zwróceniem ich do klienta.
--usageStatistics lub --usage-statistics Wartość logiczna true Włącza zbieranie statystyk użytkowania w celu ulepszenia narzędzia. Można je też wyłączyć za pomocą zmiennych środowiskowych CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS lub CI.
--performanceCrux lub --performance-crux Wartość logiczna true Wysyła adresy URL ze śladów wydajności do interfejsu Google CrUX API, aby pobrać dane o wrażeniach użytkowników.

Kategorie funkcji

Za pomocą tych flag możesz włączać i wyłączać grupy narzędzi.

Flaga Typ Domyślny Opis
--categoryEmulation lub --category-emulation Wartość logiczna true Włącza narzędzia związane z emulacją.
--categoryNetwork lub --category-network Wartość logiczna true Włącza narzędzia związane z siecią.
--categoryPerformance lub --category-performance Wartość logiczna true Włącza narzędzia związane z wydajnością.
--categoryExtensions lub --category-extensions Wartość logiczna false Włącza narzędzia związane z rozszerzeniami. Obsługiwane tylko w przypadku połączenia przez potok.
--categoryExperimentalThirdParty lub --category-experimental-third-party Wartość logiczna false Włącza narzędzia dla deweloperów innych firm udostępniane przez sprawdzaną stronę.
--categoryExperimentalWebmcp lub --category-experimental-webmcp Wartość logiczna false Włącza debugowanie narzędzi WebMCP. Wymaga Chrome 149 lub nowszego z włączonymi funkcjami WebMCP.
--memoryDebugging lub --memory-debugging Wartość logiczna false Włącza narzędzia do debugowania pamięci.

Opcje zrzutów ekranu

Za pomocą tych opcji możesz dostosować sposób robienia zrzutów ekranu przez agenta.

Flaga Typ Domyślny Opis
--screenshotFormat lub --screenshot-format Ciąg znaków false Zastępuje domyślny format wyjściowy (png). Dostępne opcje: jpeg, png i webp. Formaty jpeg i webp są mniejsze, co pomaga zmniejszyć rozmiar kontekstu w rozmowach z AI.
--screenshotQuality lub --screenshot-quality Liczba false Zastępuje jakość kompresji (0–100) w przypadku formatów jpeg i webp.
--screenshotMaxWidth lub --screenshot-max-width Liczba false Maksymalna szerokość w pikselach. Większe zrzuty ekranu są pomniejszane.
--screenshotMaxHeight lub --screenshot-max-height Liczba false Maksymalna wysokość w pikselach. Większe zrzuty ekranu są pomniejszane.

Opcje eksperymentalne

Za pomocą tych opcji możesz włączyć eksperymentalne funkcje, które są w trakcie opracowywania.

Flaga Typ Domyślny Opis
--experimentalPageIdRouting lub --experimental-page-id-routing Wartość logiczna false Udostępnia pageId w narzędziach o zakresie strony, aby kierować żądania w równoczesnych sesjach agenta.
--experimentalDevtools lub --experimental-devtools Wartość logiczna false Włącza automatyzację w przypadku celów Narzędzi deweloperskich.
--experimentalVision lub --experimental-vision Wartość logiczna false Włącza narzędzia oparte na współrzędnych (np. click_at). Zwykle wymaga modelu użycia komputera, który może generować dokładne współrzędne na podstawie zrzutów ekranu.
--experimentalStructuredContent lub --experimental-structured-content Wartość logiczna false Wyświetla treści w formacie strukturalnym.
--experimentalIncludeAllPages lub --experimental-include-all-pages Wartość logiczna false Obejmuje wszystkie rodzaje stron (np. widoki internetowe i strony działające w tle).
--experimentalScreencast lub --experimental-screencast Wartość logiczna false Udostępnia narzędzia do screencastu (wymaga ffmpeg w PATH).
--experimentalFfmpegPath lub --experimental-ffmpeg-path Ciąg znaków false Ścieżka do pliku wykonywalnego ffmpeg.

Inne opcje

Za pomocą tych opcji możesz skonfigurować logowanie lub włączyć uproszczony zestaw narzędzi.

Flaga Typ Domyślny Opis
--slim Wartość logiczna false Udostępnia uproszczony zestaw 3 narzędzi (nawigacja, wykonywanie skryptów i zrzuty ekranu). Przydatne w przypadku podstawowych zadań w przeglądarce.
--logFile lub --log-file Ciąg znaków false Ścieżka do pliku, w którym mają być zapisywane logi debugowania.

Zmienne środowiskowe

Do skonfigurowania serwera możesz też użyć tych zmiennych środowiskowych:

  • CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: jeśli jest ustawiona, wyłącza zbieranie statystyk użytkowania (odpowiednik --no-usage-statistics).
  • CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: jeśli jest ustawiona, wyłącza okresowe sprawdzanie dostępności aktualizacji.
  • CI: jeśli jest ustawiona, wyłącza zbieranie statystyk użytkowania.
  • DEBUG: ustaw na *, aby włączyć szczegółowe logowanie debugowania (działa w połączeniu z --logFile).