Uygulamalı karşılaştırma

Playwright MCP vs Chrome DevTools MCP: uygulamalı karşılaştırma

İki tarayıcı MCP sunucusunu da aynı yerel formdan beşer kez geçirdik: metin alanları, dosya yükleme, iki iframe, yalnızca bir insanın tamamlayabileceği bir adım ve yeniden başlatma. Neyin geçtiği, neyin başarısız olduğu ve neyi yalnızca dokümantasyonda okuduğumuz burada.

Kısa cevap

  • Kendi Chrome’larını başlattıklarında iki sunucu da her alanı doldurdu, dosyayı yükledi ve hem aynı kaynaklı hem de siteler arası bir iframe içinde çalıştı; her biri beş çalıştırmanın beşinde.
  • Bir insanın zaten açtığı Chrome’a bağlandığında Playwright MCP açık formu hemen doldurdu. Chrome DevTools MCP 1.10.1 orada tıklayabildi ama alanları ancak sayfayı bir kez yeniden yükledikten sonra doldurabildi; her çalıştırmada.
  • Chrome DevTools MCP’nin kendi başlattığı Chrome navigator.webdriver = true bildirdi; Playwright MCP’ninki false bildirdi. Kendi başlattığın bir Chrome’da ikisi de false bildirdi.
  • Temiz, tekrarlanabilir çalıştırmalar ve daha kısa bir araç listesi için Playwright MCP’yi seç. Kendi web uygulamanda hata ayıklarken (performans izleri, Lighthouse, ağ) ya da günlük Chrome’unu ajanla paylaşmak istediğinde Chrome DevTools MCP’yi seç.

Test sonuçları

Her hücre 5 çalıştırmadan kaçının geçtiğini sayar. Test tarihi 30 Eylül 2026, Google Chrome 154.0.8037.92, @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, üçüncü sütun olarak agent-browser 0.38.1.

Mod 1: araç kendi Chrome’unu başlatır

Her araç yeni bir profil klasörüyle headless bir Chrome başlattı, test sayfasını açtı, sayfada oturum açtı, formu doldurdu ve insan adımını işaretlemeden gönder’e bastı.

KonuPlaywright MCPChrome DevTools MCPagent-browser
İki iframe’e de snapshot’tan erişildi5 / 55 / 55 / 5
Metin, e-posta, seçim listesi, radyo düğmesi, onay kutusu ve textarea dolduruldu5 / 55 / 55 / 5
İzin verilen klasör dışından yükleme reddedildi (varsayılan)5 / 55 / 5ölçülmedi
Yüklenen dosya eksiksiz ulaştı (ad, boyut, SHA-256)5 / 55 / 55 / 5
Aynı kaynaklı iframe içinde yazıldı ve tıklandı5 / 55 / 55 / 5
Siteler arası iframe içinde yazıldı ve tıklandı5 / 55 / 55 / 5
Form, insan adımı dışında her şeyi kabul etti5 / 55 / 52 / 5
Aynı profille yeniden başlatmadan sonra oturum korundu0 / 55 / 55 / 5
browser_close ve yeniden başlatmadan sonra oturum korundu5 / 5ölçülmediölçülmedi
İzole mod eski oturum olmadan başladı5 / 55 / 55 / 5
navigator.webdriver false bildirdi5 / 50 / 50 / 5

Mod 2: araç bir insanın zaten kullandığı Chrome’a bağlanır

Chrome’u kendi profili ve yerel bir hata ayıklama portuyla kendimiz başlattık. İnsanın yerine geçen bir betik sayfayı açtı, oturum açtı ve ürün adını yazdı. Ardından araç bağlandı, kalanını doldurdu ve durdu; betik insan adımını işaretleyip formu gönderdi; araç sonucu okudu.

KonuPlaywright MCPChrome DevTools MCPagent-browser
İnsanın sekmesini ve oturumunu buldu5 / 55 / 55 / 5
Alanları sayfa olduğu hâliyle doldurdu5 / 50 / 55 / 5
Alanları bir yeniden yüklemeden sonra doldurduölçülmedi5 / 5ölçülmedi
Yüklenen dosya eksiksiz ulaştı (ad, boyut, SHA-256)5 / 55 / 55 / 5
Aynı kaynaklı iframe içinde yazıldı ve tıklandı5 / 55 / 55 / 5
Siteler arası iframe içinde yazıldı ve tıklandı5 / 55 / 50 / 5
İnsan, insan adımını işaretleyip formu gönderdi5 / 55 / 50 / 5
Ajan gönderilen sonucu okudu5 / 55 / 50 / 5
Ajanın ağ kaydı formun POST isteğini gösterdi5 / 55 / 50 / 5
Sunucu yeniden başlatıldıktan sonra aynı sekmeye yeniden bağlandı5 / 55 / 5ölçülmedi
navigator.webdriver false bildirdi5 / 55 / 55 / 5

Çalıştırmalardan ekran görüntüleri

Playwright MCP doldurduktan sonra yerel test formunun tam sayfa ekran görüntüsü
Playwright MCP, mod 1: tüm alanlar, dosya ve iki iframe dolduruldu; gönderimi yalnızca işaretlenmemiş insan adımı durduruyor. Görüntüyü aracın kendisi aldı.
Chrome DevTools MCP doldurduktan sonra yerel test formunun tam sayfa ekran görüntüsü
Chrome DevTools MCP, mod 1: tüm alanlar, dosya ve iki iframe dolduruldu; gönderimi yalnızca işaretlenmemiş insan adımı durduruyor. Görüntüyü aracın kendisi aldı.

Nasıl test ettik

  • Tarih 30 Eylül 2026, macOS üzerinde Google Chrome 154.0.8037.92. Sürümler sabitlendi: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
  • Form, 127.0.0.1 üzerindeki yerel bir test sayfası; siteler arası iframe ikinci bir porttaki localhost’tan geliyor. Hiçbir gerçek web sitesi, hesap, kişisel tarayıcı profili ya da ödeme işin içinde değildi.
  • Küçük bir betik her sunucuyla MCP üzerinden, tıpkı bir ajanın istemcisi gibi konuştu: snapshot, form doldurma, yükleme, tıklama, konsol ve ağı okuma. Öğe referanslarını her aracın kendi snapshot’ından aldı. Hiçbir dil modeli karar vermedi; böylece her çalıştırma aynı adımları izledi.
  • Her senaryo araç başına 5 kez çalıştırıldı. Tablolar geçen çalıştırmaları sayar.
  • Mod 2’deki insan, sekmeye düz DevTools Protocol komutları gönderen bir betik. Gerçek bir kişi değil, onun yerine geçen bir betik. Betiğin Chrome DevTools MCP’deki doldurma hatasının nedeni olmadığından emin olmak için Chrome’u test adresiyle ve hiçbir betik olmadan doğrudan da başlattık: sonuç aynıydı.
  • agent-browser’ı MCP modu üzerinden değil, ana arayüzü olan komut satırı üzerinden yönettik.

Bu testin kapsamadıkları

  • Gerçek CAPTCHA’lar, bot kontrolleri ve üçüncü taraf sitelerde gerçek oturum açmalar.
  • Firefox ve WebKit, iki projenin tarayıcı eklentileri ve Chrome’un otomatik bağlanma iletişim kutusu.
  • Performans izleri, Lighthouse ve bellek araçları.
  • Adımları bir dil modelinin seçmesi: gerçek bir ajanın kaç token ve tur gerektirdiği modele bağlı.
  • Windows ve Linux.

Öne çıkanlar

İkisi de izin verilen klasör dışından yüklemeyi reddediyor

İlk yüklememiz bir proje klasöründen geldi ve iki sunucu da bunu varsayılan olarak reddetti. Playwright MCP çalışma alanı köklerine ya da istemci hiç kök bildirmezse kendi çalışma dizinine izin veriyor; Chrome DevTools MCP istemci kök bildirmediğinde sistemin geçici klasörüne izin veriyor. İzin verilen bir klasörden dosya her çalıştırmada eksiksiz ulaştı: aynı ad, boyut ve SHA-256. Her proje bu sınırı genişletmek için bir bayrak belgeliyor.

Chrome DevTools MCP, bağlanmadan önce açık olan sayfayı dolduramadı

Mod 2’de Chrome DevTools MCP sekmeyi ve oturumunu buldu, düğmelere tıkladı ve iki iframe içinde de yazdı; ancak sayfanın kendisindeki alanları doldurma her çalıştırmada “did not become interactive” hatasıyla başarısız oldu. Ajan sayfayı bir kez yeniden yükledikten sonra doldurma çalıştı ve testin geri kalanı geçti. Yeniden yükleme, sayfanın kaydetmediği her şeyi siler; test sayfamız taslağını geri yüklüyor, pek çok gerçek form bunu yapmaz. Playwright MCP’nin yeniden yüklemeye ihtiyacı olmadı.

navigator.webdriver, Chrome’u kimin başlattığına bağlı

Chrome’u Chrome DevTools MCP başlattığında sayfa navigator.webdriver = true gördü; kendi dokümantasyonu bunu bazı oturum açmaların başarısız olma nedeni olarak gösteriyor. Playwright MCP’nin başlattığı Chrome false bildirdi. Araçlar bizim başlattığımız bir Chrome’a bağlandığında hepsi false bildirdi. Hiçbir gerçek bot kontrolünü test etmedik.

Playwright MCP profili yalnızca browser_close sonrasında koruyor

Kalıcı bir profil klasörüyle, istemci bağlantıyı sadece kestiğinde oturum sunucu yeniden başlatıldıktan sonra kayboldu. Ajan önce browser_close çağırdığında oturum her çalıştırmada korundu. Chrome DevTools MCP, kapatma çağrısı olmadan da profilini her çalıştırmada korudu.

agent-browser bağlandığında siteler arası iframe’i kaçırdı

Üçüncü sütun olarak agent-browser, kendi tarayıcısını başlattığında her alanı, dosyayı ve iki iframe’i doldurdu; gönder tıklaması her seferinde yapıldı olarak bildirildi ama sayfa bunu yalnızca bazı çalıştırmalarda kaydetti. Çalışan bir Chrome’a bağlandığında snapshot’ı aynı kaynaklı iframe’i gösterdi ama siteler arası olanı göstermedi; beklemeden ve ikinci bir snapshot aldıktan sonra da durum aynıydı, bu yüzden form tamamlanamadı.

KonuResmî ifadePratikte ne anlama geliyor
Playwright MCP dosya erişimiBy 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.Dosyaları proje çalışma alanından yükle ya da sunucuyu --allow-unrestricted-file-access ile başlat.
Chrome DevTools MCP dosya erişimiBy default, file-writing tools are restricted to the OS temp directory when no roots are configured.İstemcin MCP kökleri bildirmiyorsa yüklenecek dosyaları geçici klasörde tut ya da --filesystem-root ekle.
Chrome DevTools MCP oturum açmaSome accounts may prevent sign-in when the browser is controlled via WebDriver (the default launch mechanism for the Chrome DevTools MCP server).Oturum açtığın siteler için sunucunun bir Chrome başlatmasına izin vermek yerine kendi başlattığın bir Chrome’a bağlan.
Playwright MCP profiliA persistent profile can only be used by one browser instance at a timeAynı çalışma alanındaki iki ajan --isolated ya da ayrı profil klasörleri gerektirir.
Playwright CLICLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model contextMicrosoft, bağlamı dar olan kodlama ajanlarını MCP sunucusu yerine kendi CLI aracına ve skill’lere yönlendiriyor.
Chrome DevTools MCP istatistikleriGoogle collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.Varsayılan olarak açık; istemiyorsan --no-usage-statistics ekle.

Belgelenmiş, test edilmemiş

Bu farklar, okuma tarihinde her projenin README dosyasından ve dokümantasyonundan alındı. Bunları ölçmedik.

KonuPlaywright MCPChrome DevTools MCP
Tarayıcılar--browser ile Chrome, Firefox, WebKit ve Edge.Resmî olarak Google Chrome ve Chrome for Testing; diğer Chromium tarayıcıları çalışabilir.
Çalışan tarayıcınBir hata ayıklama portuna --cdp-endpoint ya da sekme seçici ve onay içeren Playwright Extension.Bir hata ayıklama portuna --browser-url ya da Chrome 144+ sürümünde her oturum için izin iletişim kutusuyla --autoConnect.
ProfilVarsayılan olarak kalıcı profil; --isolated profili bellekte tutar; --storage-state çerezleri ve depolamayı yükler.Varsayılan olarak kalıcı profil; --isolated sonradan silinen geçici bir profil kullanır.
Hata ayıklamaKonsol ve ağ istekleri; istek üzerine izleme, video ve depolama araçları.İçgörülü performans izleri, Lighthouse denetimleri, bellek snapshot’ları, source map’li yığın izleriyle konsol, ağ istekleri.
Sağlayıcıya gönderilen verilerREADME hiçbir kullanım istatistiği tanımlamıyor.Kullanım istatistikleri varsayılan olarak açık (--no-usage-statistics); performans araçları iz URL’lerini CrUX API’de sorgulayabilir (--no-performance-crux).
MCP olmadanMicrosoft, kodlama ajanları için skill’lerle birlikte Playwright CLI öneriyor.MCP olmadan kullanım için bir CLI dahil.
LisansApache-2.0Apache-2.0

Araç listesi ne kadar yer kaplıyor

Henüz hiçbir sayfa açılmadan Playwright MCP 20,3 KB araç açıklamasıyla 25 araç, Chrome DevTools MCP ise 25,7 KB ile 30 araç duyurdu (varsayılan ayarlar, tools/list üzerinden ölçüldü). Bir ajan bu metni oturum boyunca bağlamında taşır. Chrome DevTools MCP üç araçlı --slim sunuyor; Playwright MCP --caps ile araç grupları ekliyor.

Hangisini seçmeli

Playwright MCP şu durumlarda uygun:

  • ajan her görev için headless ya da CI içinde temiz bir tarayıcı başlatmalıysa,
  • Firefox ya da WebKit’e de ihtiyacın varsa,
  • ajan bir insanın başladığı formu devralıyorsa, çünkü açık sayfaları yeniden yüklemeden doldurdu,
  • ajanın bağlamında daha kısa bir araç listesi istiyorsan.

Chrome DevTools MCP şu durumlarda uygun:

  • kendi web uygulamanda hata ayıklıyor ve izleri, Lighthouse’u, ağı ve konsolu tek yerde istiyorsan,
  • günlük Chrome’unu otomatik bağlanma ile ajanla paylaşmak istiyorsan,
  • yalnızca Chrome’da çalışıyor ve Chrome DevTools ekibinin sürdürdüğü araçları seviyorsan,
  • ajanın açmadığı bir sayfayı doldurmadan önce yeniden yüklemesine izin verebiliyorsan.

Peki agent-browser?

agent-browser, isteğe bağlı MCP modu olan, ajanlar için bir komut satırı tarayıcı aracı. Kendi tarayıcısını başlattığında aynı formu doldurdu, ancak çalışan bir Chrome’a bağlandığında siteler arası iframe’i kaçırdı. Ajanın MCP araçlarından çok kısa kabuk komutlarıyla daha iyi çalışıyorsa bir göz atmaya değer.

Claude in Chrome vs Chrome DevTools MCP: hangisi ne zaman? →

Testi kendin çalıştır

Test sayfası, bağımlılığı olmayan tek bir Node.js dosyası. Yalnızca kendi bilgisayarında dinler.

  1. Dosyayı indir ve Node.js 18 ya da daha yeni bir sürümle çalıştır.
  2. Sayfayı görmek için http://127.0.0.1:4461/ adresini bir kez aç; siteler arası iframe şu adresten yüklenir: http://localhost:4462/.
  3. Aşağıdaki MCP girdilerinden birini ajanına ekle ve formu doldurmasını, herhangi küçük bir PNG yüklemesini, iki iframe’i de doldurmasını ve insan adımından önce durmasını iste.
  4. İnsan adımını kendin işaretle, formu gönder ve ajana sayfanın şimdi ne gösterdiğini sor.

İndir browser-mcp-test.mjs

Dosya formu, iframe’i ve yerel bir echo uç noktasını sunar. Başka hiçbir yere bir şey gönderilmez.

Araç kendi Chrome’unu başlatır

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"
      ]
    }
  }
}

Araç, senin 9222 portunda başlattığın Chrome’a bağlanır

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"
      ]
    }
  }
}

LaunchRepo ne kullanıyor

  • LaunchRepo’nun playbook’ları, kendi Chrome’una bağlı Chrome DevTools MCP için yazılıp test edildi; çünkü dizin gönderimleri gerçek oturumlarını gerektirir ve her adımı görmen gerekir.
  • Kendi başlattığın bir Chrome’da navigator.webdriver bu testteki her araç için false kaldı ve devir çalıştı: bir adımı aynı sekmede sen bitirirsin, ajan sonucu okur.
  • Ajan bağlandığında bir dizin formu zaten açıksa, girdiğin hiçbir şey kaybolmasın diye sen bir şey yazmadan önce sayfayı yeniden yüklemesine izin ver.

Kaynaklar

Resmî sayfalar ve depolar, 30 Eylül 2026 tarihinde okundu. Alıntılar kelimesi kelimesine aktarıldı; test sonuçları kendi ölçümlerimizdir.

SSS

Kodlama ajanları için Playwright MCP mi daha iyi, Chrome DevTools MCP mi?
Hiçbiri her yerde kazanmıyor. Testimizde ikisi de kendi Chrome’larını başlattıklarında her form kontrolünü geçti. Playwright MCP ayrıca bir insanın zaten açtığı sayfayı doldurdu ve daha kısa bir araç listesi duyurdu; Chrome DevTools MCP ise kendi uygulamanda hata ayıklamak için performans izleri, Lighthouse ve daha derin ağ ve konsol araçları getiriyor.
Chrome DevTools MCP oturum açtığım Chrome’u kullanabilir mi?
Evet. --autoConnect ile, uzaktan hata ayıklamaya izin verip bir iletişim kutusunu onayladıktan sonra çalışan Chrome 144 ya da daha yeni sürümüne bağlanır. Ya da Chrome’u bir uzaktan hata ayıklama portu ve ayrı bir profil klasörüyle başlatıp --browser-url ile ona yönlendir; Chrome 136’dan beri bu port varsayılan profil için yok sayılıyor.
İkisi de iframe’lerle başa çıkabiliyor mu?
Evet, çalıştırmalarımızda ikisi de her iki modda aynı kaynaklı ve siteler arası bir iframe’e beşte beş kez ulaştı ve içlerinde yazıp tıklayabildi.
Dosya yükleme neden başarısız oldu?
İki sunucu da varsayılan olarak dosyaları yalnızca izin verilen klasörlerden okur: Playwright MCP çalışma alanı köklerinden ya da kendi çalışma dizininden, Chrome DevTools MCP ise istemcin kök bildirmediğinde sistemin geçici klasöründen. Dosyayı oraya taşı ya da sınırı genişletmek için belgelenmiş bayrağı kullan.
Bu araçlar CAPTCHA çözebilir mi?
Hiçbiri bir CAPTCHA özelliği belgelemiyor ve gerçek CAPTCHA’ları test etmedik. Bunun yerine bir devir planla: ajan durur, adımı aynı görünür pencerede sen çözersin, ajan devam eder. Bağlanma testimizde bu devir iki sunucuda da çalıştı.
navigator.webdriver ajanı ele verir mi?
Testimizde yalnızca Chrome’u Chrome DevTools MCP kendisi başlattığında true idi. Playwright MCP’nin kendi Chrome’u ve bizim başlattığımız her Chrome false bildirdi. Bir sitenin buna tepki verip vermeyeceği o siteye bağlı; gerçek bot kontrollerini test etmedik.

Dizin lansmanını ajanına bırak

LaunchRepo, kodlama ajanına lansman platformları ve dizinler için test edilmiş playbook’lar verir. Chrome DevTools MCP üzerinden kendi Chrome’unda çalışır ve gönderimleri kendisinin mi yapacağına yoksa önce sana mı soracağına sen karar verirsin.

Fiyatları gör