Chrome DevTools MCP, zaten bildiğiniz DevTools panelini bir AI ajanının önüne koyar. Çoğu tarayıcı sunucusu tıklama ve yazma üzerine kuruluyken bu sunucu, bir sayfanın neden yavaş olduğunu, neleri logladığını, hangi istekleri attığını ve bellekte neleri tuttuğunu ortaya çıkarmaya odaklanır. GitHub üzerinde ChromeDevTools organizasyonu tarafından yayımlanıyor, 55.670 yıldızı var ve Apache-2.0 lisanslı.
11 Kasım 2026'da yayımlanan 1.13.0 sürümünü kurduk ve 14 Kasım 2026'da iki şey yaptık: MCP Inspector üzerinden araçlarını farklı seçeneklerle listeledik ve küçük bir MCP istemcisiyle çalıştırarak kendi sitemiz olan hostedmcp.org üzerinde bir performans izlemesi kaydettik ve Lighthouse çalıştırdık. Aşağıdaki sayılar bu çalıştırmalardan geliyor.
Kurulum
Node.js 20.19 veya daha yeni bir sürüm ile Chrome gerekir. Tarayıcı, sunucu başladığında değil, ona ihtiyaç duyan ilk araç çağrısında başlar.
Claude Code:
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --isolated --no-usage-statistics
Cursor, Claude Desktop, Windsurf ve JSON ile yapılandırılan diğer istemciler:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest", "--isolated", "--no-usage-statistics"]
}
}
}
Codex:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --isolated --no-usage-statistics
Bu iki bayrak varsayılan değil, bizim önerimizdir. --isolated her oturuma geçici bir profil verir; bu bayrak olmadan sunucu, çalıştırmalar arasında temizlenmeyen kalıcı bir profili ~/.cache/chrome-devtools-mcp/chrome-profile altında tutar. --no-usage-statistics ise sunucunun varsayılan olarak Google'a gönderdiği kullanım istatistiklerini kapatır. Yapılandırma oluşturucumuz birkaç istemci için aynı girdiyi yazar.
README'de önerilen ilk istem iyi bir testtir: "Check the performance of https://developers.chrome.com".
Araçların sayısı
1.13.0 sürümünde tools/list, hiçbir seçenek verilmeden 33 araç döndürdü ve araç tanımları 31.498 bayt tuttu. --slim ile üç araç döndü: navigate, evaluate ve screenshot, toplam 1.042 bayt.
| Grup | Araçlar |
|---|---|
| Sayfalar ve gezinme | list_pages, new_page, select_page, close_page, navigate_page, wait_for, resize_page |
| Girdi | click, hover, drag, fill, fill_form, type_text, press_key, upload_file, handle_dialog |
| Performans | performance_start_trace, performance_stop_trace, performance_analyze_insight, lighthouse_audit |
| Ağ | list_network_requests, get_network_request |
| Hata ayıklama | list_console_messages, get_console_message, evaluate_script, take_snapshot, take_screenshot, get_css_styles, set_logpoints, screencast_start, screencast_stop |
| Bellek | take_heapsnapshot |
| Emülasyon | emulate |
Her grup --categoryEmulation=false gibi bir bayrakla kapatılabilir. Diğerleri siz açana kadar kapalıdır: ağ taklidi, uzantılar, PWA otomasyonu, sanal WebAuthn kimlik doğrulayıcıları ve bir sayfanın WebMCP üzerinden kendi sunduğu araçlar. Yalnızca bir görevin ihtiyaç duyduğunu açın; 31 KB tanım bazı sunucuların yanında küçük kalır, ancak her istekle birlikte gönderilir.
Bir trace neler döndürür
Sunucuyu headless olarak başlattık, new_page ile https://hostedmcp.org/ adresini açtık, ardından reload ve autoStop açıkken performance_start_trace çağrısını yaptık ve son olarak lighthouse_audit çalıştırdık.
Trace çağrısı yaklaşık 6 saniye sürdü ve 9.436 baytlık metin döndürdü. Bildirdiği değerler şunlardı:
| Metrik | Değer |
|---|---|
| LCP | 169 ms |
| bunun ilk bayta kadar geçen süresi | 0,8 ms |
| bunun render gecikmesi | 169 ms |
| CLS | 0,00 |
Ardından bulduğu içgörüleri (insights) her biri bir açıklamayla ve geçerli olduğu yerlerde tahmini bir kazançla listeledi: LCP dökümü, render'ı engelleyen istekler (FCP ve LCP'den 25 ms), ağ bağımlılık ağacı, görsel teslimi, üçüncü taraflar, önbellek ömürleri ve eski JavaScript. Agent, ayrıntı için bunlardan herhangi biri üzerinde performance_analyze_insight çağrısı yapabilir. Yanıt, kendi call-tree biçiminin bir açıklamasıyla sona eriyor; böylece model, ardından gelen flame-chart verisini okuyabiliyor.
lighthouse_audit yaklaşık 7 saniye sürdü ve 6.687 bayt döndürdü: erişilebilirlik 94, en iyi uygulamalar 100, SEO 100 ve dördüncü bir kategori olan agentic browsing 67. Dört denetim başarısız oldu. İlki renk kontrastıydı: aralarında header'ımızdaki arama etiketinin de bulunduğu on iki öğe, gereken 4,5 yerine 4,33 oranındaydı. Yani araç işini yaptı; düzeltmemiz gereken bir şey var.
Bu sayılarla ilgili iki nokta. 0,8 ms'lik ilk bayta kadar geçen süre, sayfanın sıcak bir edge önbelleğinden geldiği anlamına geliyor; soğuk bir istek daha yavaş olurdu. Ve --no-performance-crux geçtiğimiz için trace, gerçek kullanıcılardan gelen alan verisi bildirmedi; sunucu varsayılan olarak sayfanın URL'sini Google'ın CrUX veri kümesinde arar.
pageId tuzağı
İlk çalıştırmamız about:blank ölçtü. 1.13.0 sürümünde sayfa araçları bir pageId alıyor ve yeni bir oturum 1 numaralı boş sayfayla başlıyor. new_page çağrımız siteyi 2 numaralı sayfa olarak açtı ve seçili olarak işaretledi, ancak biz 1 geçtik. Trace de boş bir sayfa için CLS 0 bildirdi. Agent'lar genellikle önce list_pages çağırır ve bunu doğru yapar; bir trace about:blank bildiriyorsa nedeni budur.
Kendi Chrome'unuzu kullanın
Varsayılan olarak sunucu kendi Chrome'unu başlatır. Halihazırda çalışan bir Chrome'a da bağlanabilir:
--autoConnect,chrome://inspect/#remote-debuggingadresinden uzaktan hata ayıklamayı etkinleştirdikten sonra Chrome 144 veya daha yeni bir sürüme bağlanır.--browserUrl http://127.0.0.1:9222,--remote-debugging-port=9222ile başlatılmış bir Chrome'a bağlanır.
Günlük kullandığınız tarayıcıya bağlanmak, agent'a oturum açma bilgilerinizi, çerezlerinizi ve açık sekmelerinizi verir. Giriş gerektiren bir sayfada hata ayıklamasını istediğinizde amaç tam olarak budur; diğer tüm durumlarda ise risktir. Bunun için ayrı bir Chrome profili kullanın.
Gizlilik ve güvenlik
Sunucu başlarken bir uyarı yazdırır: "tarayıcı örneğinin içeriğini MCP istemcilerine açarak tarayıcıdaki veya DevTools'taki herhangi bir veriyi incelemelerine, hata ayıklamalarına ve değiştirmelerine olanak tanır". Bunu harfiyen ciddiye alın. Değiştirmeye değer üç varsayılan var:
- Kullanım istatistikleri,
--no-usage-statisticsvermediğiniz sürece Google'a gider.CIortam değişkeni ayarlıyken de kapalıdır. - CrUX sorguları: performans araçları, izlediğiniz URL'leri Google'ın CrUX API'sine gönderebilir. Dahili veya staging URL'leri için
--no-performance-cruxkullanın. - Profil: varsayılan profil kalıcıdır. Oturumlar arasında durum tutmanız gerekmiyorsa
--isolatedkullanın.
evaluate_script sayfada JavaScript çalıştırır ve sayfalar modele yönelik metin içerebilir. Tanımadığınız sitelere gezinmeyi kendiniz onaylayın. Ayrıca 1.13.0'ın, istemci çalışma alanı köklerini paylaşmadığında kaydedilen trace'ler ve ekran görüntüleri gibi dosya okuma ve yazmalarını sistemin geçici klasörüyle sınırladığını fark ettik; --allow-unrestricted-paths bu sınırı kaldırır. Bunu olduğu gibi bırakın. Daha fazlası için MCP güvenliği.
Chrome DevTools MCP mi Playwright MCP mi
| Chrome DevTools MCP | Playwright MCP | |
|---|---|---|
| 14 Kasım 2026 sürümü | 1.13.0 | 0.0.85 |
| Motor | Puppeteer | Playwright |
| Tarayıcılar | Resmi olarak Chrome | Chromium, Chrome, Edge, Firefox, WebKit |
| Varsayılan araçlar | 33 | 25 |
| Öne çıkan güçlü yönleri | Trace'ler, Lighthouse, heap snapshot'ları, CSS stilleri, logpoint'ler | Erişilebilirlik snapshot'ları, tarayıcılar arası destek, test agent'ları |
| Telemetri | Kullanım istatistikleri varsayılan olarak açık | Belirtilmemiş |
İki proje de bir karşılaştırma yayımlamadı; bu ayrım bize ait: agent'ın işi siteyi kullanmaksa Playwright MCP, işi sitenin neden böyle davrandığını anlamaksa Chrome DevTools MCP. İkisi yan yana çalışır; diğer yarıyı Playwright MCP rehberimiz ele alıyor.
Çalışmadığı durumlar
| Gördüğünüz | Nedeni | Çözümü |
|---|---|---|
pageId: expected number |
Sayfa araçları 1.13.0 sürümünde bir sayfa numarası bekler | Önce list_pages veya new_page çağırın |
about:blank izi |
Yanlış sayfa seçilmiş | Açtığınız sayfanın pageId değerini geçin |
| Lighthouse sayfayı reddediyor | about:blank denetlenemez |
Önce sayfaya gidin veya snapshot modunu kullanın |
| Chrome başlamıyor | Chrome yok ya da başlıklı tarayıcı için görüntü yok | Chrome'u kurun; sunucularda --headless ekleyin |
--autoConnect hiçbir şey bulamıyor |
Uzak hata ayıklama etkin değil ya da Chrome 144'ten eski | chrome://inspect/#remote-debugging adresinden etkinleştirin |
| Kaydedilen iz beklediğiniz yerde değil | İstemci çalışma alanı köklerini paylaşmamış | Dosyalar geçici klasöre gider; oraya bakın |
| Dünkü oturum açmalar hâlâ duruyor | Kalıcı varsayılan profil | --isolated kullanın |
Kataloğumuzdaki Chrome DevTools sunucuları, kontrol puanlarıyla birlikte bu sayfanın en üstünde listelenmiştir.