Konfiguracja

Możesz skonfigurować Narzędzia deweloperskie w Chrome dla agentów, aby dostosować sposób ich interakcji z przeglądarką, włączone narzędzia i sposób obsługi danych.

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

Aby na przykład uruchomić Chrome w trybie bez interfejsu 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óra została już rozpoczęta (na przykład jeśli jesteś już zalogowany(-a)).

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

Automatyczne połączenie (Chrome 144 lub nowszy)

Jeśli użyjesz 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 próbuje się połączyć, Chrome wyświetla okno z prośbą o zezwolenie. Kliknij Zezwól.

Połą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"]

Zezwalaj na dostęp do plików poza katalogiem tymczasowym

Narzędzia, które odczytują lub zapisują pliki (np. zapisywanie zrzutów ekranu, śladów lub wczytywanie rozszerzeń), mogą uzyskiwać dostęp tylko do ścieżek w skonfigurowanych katalogach głównych obszaru roboczego. Serwer używa katalogów głównych udostępnianych przez klienta MCP za pomocą funkcji MCP roots oraz wszystkich katalogów przekazywanych za pomocą dyrektywy --filesystemRoot (alias --workspace). Jeśli klient nie udostępnia katalogów głównych i nie ustawisz dyrektywy --filesystemRoot, dostęp do plików jest ograniczony do katalogu tymczasowego systemu operacyjnego. Żądania dotyczące innych ścieżek kończą się niepowodzeniem z błędem Access denied: ... is not within any of the configured workspace roots.

Aby zezwolić na dostęp do katalogu projektu, dodaj --filesystemRoot do argumentów serwera. Możesz powtórzyć flagę, aby zezwolić na wiele katalogów:

"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]

Dokumentacja opcji konfiguracji

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

Opcje połączenia

Użyj tych opcji, aby 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 uruchomioną instancją Chrome (144+). Wymaga włączenia debugowania zdalnego za pomocą chrome://inspect/#remote-debugging.
--browserUrl lub --browser-url
-u
tekst false Połącz się z uruchomioną instancją Chrome z możliwością debugowania (np. http://127.0.0.1:9222).
--wsEndpoint lub --ws-endpoint
-w
tekst false Punkt końcowy WebSocket do połączenia z uruchomioną instancją Chrome (np. ws://127.0.0.1:9222/devtools/browser/<id>). Alternatywa dla --browserUrl.
--wsHeaders lub --ws-headers tekst false Niestandardowe nagłówki połączenia WebSocket w formacie JSON (na przykład '{"Authorization":"Bearer token"}'). Działa tylko z --wsEndpoint.

Opcje uruchamiania przeglądarki

Te opcje mają zastosowanie, gdy serwer MCP uruchamia Chrome.

Flaga Typ Domyślny Opis
--headless wartość logiczna false Uruchamia Chrome w trybie bez interfejsu graficznego.
--channel tekst stable Określa kanał Chrome, którego należy używać. Opcje: canary, dev, beta i stable.
--executablePath lub --executable-path
-e
tekst false Ścieżka do niestandardowego pliku wykonywalnego Chrome.
--userDataDir lub --user-data-dir tekst Zobacz opis Ścieżka do katalogu danych użytkownika. Wartość domyślna 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 tekst false Początkowy rozmiar widocznego obszaru (np. 1280x720). W trybie bez interfejsu graficznego maksymalny rozmiar to 3840x2160.
--proxyServer lub --proxy-server tekst false Konfiguracja serwera proxy przekazywana do Chrome.
--chromeArg lub --chrome-arg tablica false Dodatkowe argumenty do przekazania do Chrome.
--ignoreDefaultChromeArg lub --ignore-default-chrome-arg tablica false Wyłącz domyślne argumenty Chrome.

Opcje zabezpieczeń i prywatności

Użyj tych opcji, aby 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 przez blokowanie określonych wzorców 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 w wersji 149 lub nowszej.
--redactNetworkHeaders lub --redact-network-headers wartość logiczna false Usuwa poufne nagłówki sieciowe przed zwróceniem ich klientowi.
--usageStatistics lub --usage-statistics wartość logiczna true Umożliwia zbieranie statystyk użytkowania w celu ulepszania 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 prawdziwych użytkowników.
--javascriptEvaluation lub --javascript-evaluation wartość logiczna true Ustaw wartość false, aby wyłączyć wykonywanie kodu JavaScript. Gdy ta opcja jest wyłączona, narzędzia do oceny skryptów są wyłączone, parametr initScript funkcji navigate_page jest wyłączony, a nawigowanie do adresów URL javascript:, data: i vbscript: jest niedozwolone.
--filesystemRoot lub --filesystem-root
--workspace
tablica Katalog tymczasowy systemu operacyjnego Katalog, którego mogą używać narzędzia uzyskujące dostęp do plików, oprócz katalogów głównych udostępnianych przez klienta MCP. Można określić więcej niż raz. Zobacz Zezwalanie na dostęp do plików poza katalogiem tymczasowym.
--allowUnrestrictedPaths lub --allow-unrestricted-paths wartość logiczna false Wycofane: użyj zamiast tego --workspace=/. Wyłącza ograniczenie ścieżki, które obowiązuje, gdy klient MCP nie udostępnia certyfikatów głównych.

Kategorie funkcji

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

Flaga Typ Domyślny Opis
--categoryInput lub --category-input wartość logiczna true Włącza narzędzia związane z wprowadzaniem tekstu.
--categoryNavigation lub --category-navigation wartość logiczna true Włącza narzędzia związane z nawigacją.
--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ą.
--categoryDebugging lub --category-debugging wartość logiczna true Umożliwia korzystanie z narzędzi związanych z debugowaniem.
--categoryMemory lub --category-memory wartość logiczna true Umożliwia korzystanie z narzędzi związanych z pamięcią.
--categoryExtensions lub --category-extensions wartość logiczna false Umożliwia korzystanie z narzędzi związanych z rozszerzeniami. Obsługiwane tylko w przypadku połączenia potokowego.
--categoryPwa lub --category-pwa wartość logiczna false Włącza narzędzia do automatyzacji progresywnych aplikacji internetowych (instalowanie, uruchamianie, odinstalowywanie i stan systemu operacyjnego). Obsługiwane tylko w przypadku połączenia za pomocą potoku.
--categoryExperimentalThirdParty lub --category-experimental-third-party wartość logiczna false Umożliwia korzystanie z narzędzi dla programistów innych firm udostępnianych przez sprawdzaną stronę.
--categoryExperimentalWebmcp lub --category-experimental-webmcp wartość logiczna false Umożliwia debugowanie narzędzi WebMCP. Wymaga Chrome w wersji 149 lub nowszej z włączonymi funkcjami WebMCP.
--memoryDebugging lub --memory-debugging wartość logiczna false Włącza narzędzia do debugowania pamięci.

Opcje zrzutu ekranu

Użyj tych opcji, aby dostosować sposób, w jaki agent robi zrzuty ekranu.

Flaga Typ Domyślny Opis
--screenshotFormat lub --screenshot-format tekst false Zastępuje domyślny format wyjściowy (png). 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

Użyj tych opcji, aby włączyć eksperymentalne funkcje, które są w trakcie opracowywania.

Flaga Typ Domyślny Opis
--experimentalDevtools lub --experimental-devtools wartość logiczna false Umożliwia automatyzację elementów docelowych Narzędzi deweloperskich.
--experimentalVision lub --experimental-vision wartość logiczna false Umożliwia korzystanie z narzędzi opartych na współrzędnych (np. click_at). Zwykle wymaga modelu korzystania z komputera, który może generować dokładne współrzędne na podstawie zrzutów ekranu.
--experimentalStructuredContent lub --experimental-structured-content wartość logiczna false Generuje uporządkowane, sformatowane treści.
--experimentalIncludeAllPages lub --experimental-include-all-pages wartość logiczna false Obejmuje wszystkie rodzaje stron (np. komponenty WebView i strony działające w tle).
--experimentalScreencast lub --experimental-screencast wartość logiczna false Udostępnia narzędzia do screencastów (wymaga ffmpeg w PATH).
--experimentalFfmpegPath lub --experimental-ffmpeg-path tekst false Ścieżka do pliku wykonywalnego ffmpeg.
--experimentalScreencastFps lub --experimental-screencast-fps liczba false Liczba klatek na sekundę podczas nagrywania screencasta. Niższe wartości mogą zmniejszyć obciążenie pamięci na stronach, które generują klatki szybciej, niż ffmpeg może je zakodować.

Inne opcje

Użyj tych opcji, aby skonfigurować logowanie, routing stron i mapy źródeł lub włączyć uproszczony zestaw narzędzi.

Flaga Typ Domyślny Opis
--slim wartość logiczna false Udostępnia niewielki zestaw 3 narzędzi (nawigacja, wykonywanie skryptów i zrzuty ekranu). Przydatne w przypadku podstawowych zadań w przeglądarce.
--pageIdRouting lub --page-id-routing wartość logiczna true Wymaga pageId w narzędziach o zakresie strony i kieruje żądania według identyfikatora strony, co jest przydatne w przypadku równoczesnych sesji agenta. Użyj --no-page-id-routing, aby wyłączyć.
--sourceMaps lub --source-maps wartość logiczna true Włącza mapy źródeł w Narzędziach deweloperskich. Aby wyłączyć, użyj --no-source-maps.
--logFile lub --log-file tekst false Ścieżka do pliku, w którym mają być zapisywane dzienniki debugowania. Aby włączyć szczegółowe logi, ustaw zmienną środowiskową NODE_DEBUG na *.
--config tekst false Ścieżka do pliku konfiguracji JSON.

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 ta zasada jest skonfigurowana, wyłącza okresowe sprawdzanie dostępności aktualizacji.
  • CI: jeśli ta opcja jest ustawiona, wyłącza zbieranie statystyk użytkowania.
  • NODE_DEBUG: ustaw wartość *, aby włączyć szczegółowe logowanie debugowania (działa w połączeniu z --logFile).