Krótka odpowiedź
- Gdy uruchamiały własnego Chrome’a, oba serwery wypełniły każde pole, przesłały plik i działały wewnątrz iframe’a z tego samego originu oraz iframe’a z innej witryny, każdy w pięciu z pięciu przebiegów.
- Po podłączeniu do Chrome’a, którego człowiek już otworzył, Playwright MCP od razu wypełnił otwarty formularz. Chrome DevTools MCP 1.10.1 mógł tam klikać, ale pola wypełniał dopiero po jednorazowym przeładowaniu strony, w każdym przebiegu.
- Własny Chrome uruchomiony przez Chrome DevTools MCP zgłaszał navigator.webdriver = true; ten uruchomiony przez Playwright MCP zgłaszał false. W Chrome, którego uruchamiasz sam, oba zgłaszały false.
- Wybierz Playwright MCP do czystych, powtarzalnych przebiegów i krótszej listy narzędzi. Wybierz Chrome DevTools MCP, gdy debugujesz własną aplikację webową (ślady wydajności, Lighthouse, sieć) albo chcesz dzielić z agentem swojego codziennego Chrome’a.
Wyniki testu
Każda komórka podaje liczbę udanych przebiegów na 5. Data testu 30 września 2026, Google Chrome 154.0.8037.92, @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1 jako trzecia kolumna.
Tryb 1: narzędzie uruchamia własnego Chrome’a
Każde narzędzie uruchomiło Chrome w trybie headless ze świeżym folderem profilu, otworzyło stronę testową, zalogowało się na niej, wypełniło formularz i kliknęło wyślij bez zaznaczania kroku dla człowieka.
| Temat | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Oba iframe’y dostępne ze snapshotu | 5 z 5 | 5 z 5 | 5 z 5 |
| Wypełnione pola: tekst, e-mail, lista, radio, checkbox i textarea | 5 z 5 | 5 z 5 | 5 z 5 |
| Plik spoza dozwolonego folderu odrzucony (domyślnie) | 5 z 5 | 5 z 5 | nie mierzono |
| Przesłany plik dotarł nienaruszony (nazwa, rozmiar, SHA-256) | 5 z 5 | 5 z 5 | 5 z 5 |
| Pisanie i klikanie w iframe’ie z tego samego originu | 5 z 5 | 5 z 5 | 5 z 5 |
| Pisanie i klikanie w iframe’ie z innej witryny | 5 z 5 | 5 z 5 | 5 z 5 |
| Formularz przyjął wszystko oprócz kroku dla człowieka | 5 z 5 | 5 z 5 | 2 z 5 |
| Logowanie zachowane po restarcie z tym samym profilem | 0 z 5 | 5 z 5 | 5 z 5 |
| Logowanie zachowane po browser_close i restarcie | 5 z 5 | nie mierzono | nie mierzono |
| Tryb izolowany wystartował bez starego logowania | 5 z 5 | 5 z 5 | 5 z 5 |
| navigator.webdriver zgłosił false | 5 z 5 | 0 z 5 | 0 z 5 |
Tryb 2: narzędzie podłącza się do Chrome’a, którego człowiek już używa
Sami uruchomiliśmy Chrome z własnym profilem i lokalnym portem debugowania. Zastępca człowieka otworzył stronę, zalogował się i wpisał nazwę produktu. Potem narzędzie się podłączyło, wypełniło resztę i zatrzymało się; zastępca zaznaczył krok dla człowieka i wysłał formularz; narzędzie odczytało wynik.
| Temat | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Znalazł kartę człowieka i jej logowanie | 5 z 5 | 5 z 5 | 5 z 5 |
| Wypełnił pola na stronie w zastanym stanie | 5 z 5 | 0 z 5 | 5 z 5 |
| Wypełnił pola po jednym przeładowaniu | nie mierzono | 5 z 5 | nie mierzono |
| Przesłany plik dotarł nienaruszony (nazwa, rozmiar, SHA-256) | 5 z 5 | 5 z 5 | 5 z 5 |
| Pisanie i klikanie w iframe’ie z tego samego originu | 5 z 5 | 5 z 5 | 5 z 5 |
| Pisanie i klikanie w iframe’ie z innej witryny | 5 z 5 | 5 z 5 | 0 z 5 |
| Człowiek zaznaczył krok dla człowieka i wysłał formularz | 5 z 5 | 5 z 5 | 0 z 5 |
| Agent odczytał wysłany wynik | 5 z 5 | 5 z 5 | 0 z 5 |
| Log sieci agenta pokazał POST formularza | 5 z 5 | 5 z 5 | 0 z 5 |
| Ponownie podłączył się do tej samej karty po restarcie serwera | 5 z 5 | 5 z 5 | nie mierzono |
| navigator.webdriver zgłosił false | 5 z 5 | 5 z 5 | 5 z 5 |
Zrzuty ekranu z przebiegów


Jak testowaliśmy
- Data 30 września 2026, macOS z Google Chrome 154.0.8037.92. Wersje były przypięte: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
- Formularz to lokalna strona testowa na 127.0.0.1; iframe z innej witryny pochodzi z localhost na drugim porcie. Nie użyliśmy żadnej prawdziwej strony, konta, osobistego profilu przeglądarki ani płatności.
- Mały skrypt rozmawiał z każdym serwerem przez MCP, dokładnie jak klient agenta: snapshot, wypełnienie formularza, przesłanie pliku, kliknięcie, odczyt konsoli i sieci. Referencje elementów brał z własnego snapshotu każdego narzędzia. Żaden model językowy nie podejmował decyzji, więc każdy przebieg szedł tymi samymi krokami.
- Każdy scenariusz uruchomiliśmy 5 razy na narzędzie. Tabele liczą przebiegi zakończone sukcesem.
- Człowiek w trybie 2 to skrypt, który wysyła do karty zwykłe polecenia DevTools Protocol. To zastępca, a nie prawdziwa osoba. Aby wykluczyć go jako przyczynę błędu wypełniania w Chrome DevTools MCP, uruchomiliśmy też Chrome bezpośrednio z adresem testowym i bez żadnego skryptu: wynik ten sam.
- agent-browser sterowaliśmy przez jego wiersz poleceń, główny interfejs, a nie przez tryb MCP.
Czego ten test nie obejmuje
- Prawdziwych CAPTCHA, kontroli antybotowych i prawdziwych logowań na stronach osób trzecich.
- Firefoksa i WebKit, rozszerzeń przeglądarki obu projektów ani okna automatycznego łączenia w Chrome.
- Śladów wydajności, Lighthouse ani narzędzi pamięci.
- Modelu językowego wybierającego kroki: ile tokenów i tur potrzebuje prawdziwy agent, zależy od modelu.
- Windowsa i Linuksa.
Co się wyróżniło
Oba odrzucają pliki spoza dozwolonego folderu
Nasz pierwszy plik pochodził z folderu projektu i oba serwery domyślnie go odrzuciły. Playwright MCP dopuszcza katalogi główne workspace’u albo swój katalog roboczy, gdy klient żadnych nie podaje; Chrome DevTools MCP dopuszcza systemowy folder tymczasowy, gdy klient nie podaje katalogów głównych. Z dozwolonego folderu plik docierał nienaruszony w każdym przebiegu: ta sama nazwa, rozmiar i SHA-256. Każdy projekt dokumentuje flagę, która poszerza ten limit.
Chrome DevTools MCP nie wypełnił strony otwartej przed podłączeniem
W trybie 2 Chrome DevTools MCP znalazł kartę i jej logowanie, klikał przyciski i pisał w obu iframe’ach, ale wypełnianie pól na samej stronie kończyło się błędem „did not become interactive” w każdym przebiegu. Po jednym przeładowaniu przez agenta wypełnianie działało i reszta testu przeszła. Przeładowanie usuwa wszystko, czego strona nie zapisała; nasza strona testowa przywraca szkic, wiele prawdziwych formularzy tego nie robi. Playwright MCP nie potrzebował przeładowania.
navigator.webdriver zależy od tego, kto uruchamia Chrome
Gdy to Chrome DevTools MCP uruchamiał Chrome, strona widziała navigator.webdriver = true, co jego własna dokumentacja podaje jako powód, dla którego niektóre logowania się nie udają. Chrome uruchomiony przez Playwright MCP zgłaszał false. Gdy narzędzia podłączały się do Chrome’a uruchomionego przez nas, każde zgłaszało false. Nie testowaliśmy żadnej prawdziwej kontroli antybotowej.
Playwright MCP zachowuje profil tylko po browser_close
Przy trwałym folderze profilu logowanie znikało po restarcie serwera, gdy klient po prostu się rozłączał. Gdy agent najpierw wywołał browser_close, logowanie zostawało w każdym przebiegu. Chrome DevTools MCP zachowywał profil w każdym przebiegu bez wywołania zamykającego.
agent-browser po podłączeniu nie widział iframe’a z innej witryny
Jako trzecia kolumna agent-browser wypełnił każde pole, plik i oba iframe’y, gdy uruchamiał własną przeglądarkę; kliknięcie wyślij za każdym razem zgłaszał jako wykonane, ale strona zarejestrowała je tylko w części przebiegów. Po podłączeniu do działającego Chrome’a jego snapshot pokazywał iframe z tego samego originu, ale nie ten z innej witryny, także po odczekaniu i drugim snapshocie, więc formularza nie dało się dokończyć.
| Temat | Oficjalne brzmienie | Co to oznacza w praktyce |
|---|---|---|
| Dostęp do plików w Playwright MCP | By default access to file system is restricted to workspace root directories (or cwd if no roots are configured) only, and navigation to file:// URLs is blocked. | Przesyłaj pliki z workspace’u projektu albo uruchom serwer z --allow-unrestricted-file-access. |
| Dostęp do plików w Chrome DevTools MCP | By default, file-writing tools are restricted to the OS temp directory when no roots are configured. | Bez katalogów głównych MCP od klienta trzymaj pliki do przesłania w folderze tymczasowym albo dodaj --filesystem-root. |
| Logowanie w Chrome DevTools MCP | Some accounts may prevent sign-in when the browser is controlled via WebDriver (the default launch mechanism for the Chrome DevTools MCP server). | Na stronach, na których się logujesz, podłącz się do Chrome’a uruchomionego przez ciebie, zamiast pozwalać serwerowi uruchamiać własnego. |
| Profil w Playwright MCP | A persistent profile can only be used by one browser instance at a time | Dwa agenty w jednym workspace’ie potrzebują --isolated albo osobnych folderów profilu. |
| Playwright CLI | CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context | Sam Microsoft kieruje agentów programistycznych z ciasnym kontekstem do swojego CLI ze skillami zamiast serwera MCP. |
| Statystyki w Chrome DevTools MCP | Google collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP. | Domyślnie włączone; dodaj --no-usage-statistics, jeśli ich nie chcesz. |
Udokumentowane, nietestowane
Te różnice pochodzą z README i dokumentacji każdego projektu w dniu lektury. Nie mierzyliśmy ich.
| Temat | Playwright MCP | Chrome DevTools MCP |
|---|---|---|
| Przeglądarki | Chrome, Firefox, WebKit i Edge przez --browser. | Oficjalnie Google Chrome i Chrome for Testing; inne przeglądarki Chromium mogą działać. |
| Twoja działająca przeglądarka | --cdp-endpoint do portu debugowania albo Playwright Extension z wyborem karty i zatwierdzeniem. | --browser-url do portu debugowania albo --autoConnect w Chrome 144+ z oknem zgody przy każdej sesji. |
| Profil | Domyślnie trwały profil; --isolated trzyma go w pamięci; --storage-state wczytuje ciasteczka i storage. | Domyślnie trwały profil; --isolated używa tymczasowego, który potem jest usuwany. |
| Debugowanie | Konsola i żądania sieciowe; tracing, wideo i narzędzia storage na życzenie. | Ślady wydajności z analizą, audyty Lighthouse, snapshoty pamięci, konsola ze stack trace’ami z source mapami, żądania sieciowe. |
| Dane wysyłane do dostawcy | README nie opisuje statystyk użycia. | Statystyki użycia domyślnie włączone (--no-usage-statistics); narzędzia wydajności mogą sprawdzać adresy URL śladów w CrUX API (--no-performance-crux). |
| Bez MCP | Microsoft poleca agentom programistycznym Playwright CLI ze skillami. | W zestawie jest CLI do użycia bez MCP. |
| Licencja | Apache-2.0 | Apache-2.0 |
Ile waży lista narzędzi
Zanim otwarto jakąkolwiek stronę, Playwright MCP zgłosił 25 narzędzi z 20,3 KB opisów, Chrome DevTools MCP 30 narzędzi z 25,7 KB (ustawienia domyślne, zmierzone przez tools/list). Agent nosi ten tekst w kontekście przez całą sesję. Chrome DevTools MCP oferuje --slim z trzema narzędziami; Playwright MCP dodaje grupy narzędzi przez --caps.
Który wybrać
Playwright MCP pasuje, gdy
- agent ma uruchamiać czystą przeglądarkę do każdego zadania, w trybie headless lub w CI,
- potrzebujesz też Firefoksa albo WebKit,
- agent przejmuje formularz, który człowiek już zaczął, bo wypełniał otwarte strony bez przeładowania,
- chcesz krótszej listy narzędzi w kontekście agenta.
Chrome DevTools MCP pasuje, gdy
- debugujesz własną aplikację webową i chcesz mieć ślady wydajności, Lighthouse, sieć i konsolę w jednym miejscu,
- chcesz dzielić z agentem swojego codziennego Chrome’a przez automatyczne łączenie,
- pracujesz tylko w Chrome i lubisz narzędzia utrzymywane przez zespół Chrome DevTools,
- możesz pozwolić agentowi przeładować stronę, której nie otworzył, zanim ją wypełni.
A agent-browser?
agent-browser to przeglądarkowe narzędzie wiersza poleceń dla agentów z opcjonalnym trybem MCP. Wypełnił ten sam formularz, gdy uruchamiał własną przeglądarkę, ale po podłączeniu do działającego Chrome’a nie widział iframe’a z innej witryny. Warto rzucić okiem, jeśli twój agent lepiej radzi sobie z krótkimi poleceniami powłoki niż z narzędziami MCP.
Uruchom test samodzielnie
Strona testowa to jeden plik Node.js bez zależności. Nasłuchuje tylko na twoim komputerze.
- Pobierz plik i uruchom go w Node.js 18 lub nowszym.
- Otwórz raz http://127.0.0.1:4461/, żeby zobaczyć stronę; iframe z innej witryny ładuje się z http://localhost:4462/.
- Dodaj do agenta jeden z poniższych wpisów MCP i poproś go o wypełnienie formularza, przesłanie dowolnego małego pliku PNG, wypełnienie obu iframe’ów i zatrzymanie się przed krokiem dla człowieka.
- Sam zaznacz krok dla człowieka, wyślij formularz i zapytaj agenta, co teraz pokazuje strona.
Plik serwuje formularz, iframe i lokalny endpoint echo. Nic nie jest wysyłane nigdzie indziej.
Narzędzie uruchamia własnego Chrome’a
Playwright MCP
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@0.0.83"
]
}
}
}Chrome DevTools MCP
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@1.10.1",
"--no-usage-statistics"
]
}
}
}Narzędzie podłącza się do Chrome’a uruchomionego przez ciebie na porcie 9222
Playwright MCP
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@0.0.83",
"--cdp-endpoint",
"http://127.0.0.1:9222"
]
}
}
}Chrome DevTools MCP
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@1.10.1",
"--browser-url=http://127.0.0.1:9222",
"--no-usage-statistics"
]
}
}
}Czego używa LaunchRepo
- Playbooki LaunchRepo są pisane i testowane pod Chrome DevTools MCP podłączony do twojego własnego Chrome’a, bo zgłoszenia do katalogów wymagają twoich prawdziwych logowań, a ty powinieneś widzieć każdy krok.
- W Chrome uruchomionym przez ciebie navigator.webdriver pozostawał false dla każdego narzędzia w tym teście, a przekazanie działało: kończysz krok w tej samej karcie, agent odczytuje wynik.
- Jeśli formularz katalogu jest już otwarty, gdy agent się podłącza, pozwól mu przeładować stronę, zanim cokolwiek wpiszesz, żeby nic z tego, co wprowadziłeś, nie przepadło.
Źródła
Oficjalne strony i repozytoria, przeczytane 30 września 2026. Cytaty są przepisane słowo w słowo; wyniki testów to nasze własne pomiary.
FAQ
- Co jest lepsze dla agentów programistycznych: Playwright MCP czy Chrome DevTools MCP?
- Żaden nie wygrywa wszędzie. W naszym teście oba przeszły każdą kontrolę formularza, gdy uruchamiały własnego Chrome’a. Playwright MCP wypełnił też stronę, którą człowiek już otworzył, i zgłosił krótszą listę narzędzi; Chrome DevTools MCP daje ślady wydajności, Lighthouse oraz głębsze narzędzia sieci i konsoli do debugowania własnej aplikacji.
- Czy Chrome DevTools MCP może używać Chrome’a, w którym jestem zalogowany?
- Tak. Z --autoConnect łączy się z działającym Chrome 144 lub nowszym, gdy zezwolisz na zdalne debugowanie i potwierdzisz okno dialogowe. Możesz też uruchomić Chrome z portem zdalnego debugowania i osobnym folderem profilu i wskazać go przez --browser-url; od Chrome 136 port jest ignorowany dla profilu domyślnego.
- Czy oba radzą sobie z iframe’ami?
- Tak, w naszych przebiegach oba dotarły do iframe’a z tego samego originu i do iframe’a z innej witryny w obu trybach, pięć razy na pięć, i mogły w nich pisać oraz klikać.
- Dlaczego przesyłanie pliku się nie udało?
- Oba serwery domyślnie czytają pliki tylko z dozwolonych folderów: Playwright MCP z katalogów głównych workspace’u lub swojego katalogu roboczego, Chrome DevTools MCP z systemowego folderu tymczasowego, gdy twój klient nie podaje katalogów głównych. Przenieś tam plik albo użyj udokumentowanej flagi, która poszerza limit.
- Czy te narzędzia potrafią rozwiązywać CAPTCHA?
- Żadne nie dokumentuje funkcji CAPTCHA, a prawdziwych CAPTCHA nie testowaliśmy. Zaplanuj zamiast tego przekazanie: agent się zatrzymuje, ty rozwiązujesz krok w tym samym widocznym oknie, agent kontynuuje. W naszym teście z podłączaniem takie przekazanie działało w obu serwerach.
- Czy navigator.webdriver zdradza agenta?
- W naszym teście miał wartość true tylko wtedy, gdy Chrome DevTools MCP sam uruchamiał Chrome. Własny Chrome Playwright MCP i każdy Chrome uruchomiony przez nas zgłaszały false. Czy strona na to reaguje, zależy od tej strony; prawdziwych kontroli antybotowych nie testowaliśmy.
Niech twój agent zajmie się premierą w katalogach
LaunchRepo daje twojemu agentowi programistycznemu przetestowane playbooki dla platform premierowych i katalogów. Działa w twoim własnym Chrome przez Chrome DevTools MCP, a ty decydujesz, czy wysyła zgłoszenia sam, czy najpierw pyta ciebie.
Zobacz cennik