Tarayıcı otomasyonu ve web scraping için Playwright kullanan bir MCP sunucusu
Claude Desktop config.json'a ekle
{
"mcpServers": {
"executeautomation-mcp-playwright": {
"command": "node",
"args": [
"~/.mcp/mcp-playwright/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/executeautomation/mcp-playwright.git ~/.mcp/mcp-playwright
cd ~/.mcp/mcp-playwright Playwright kullanarak tarayıcı otomasyon yetenekleri sağlayan bir Model Context Protocol sunucusu. Bu sunucu, LLM'lerin web sayfalarıyla etkileşim kurmasını, ekran görüntüsü almasını, test kodu oluşturmasını, sayfayı web kazımasını ve gerçek bir tarayıcı ortamında JavaScript yürütmesini sağlar.
Web uygulamalarınızı basit bir komutla gerçek cihaz profilleri üzerinde test edin:
// iPhone 13 üzerinde test edin (otomatik user-agent, dokunma desteği ve cihaz piksel oranı ile)
await playwright_resize({ device: "iPhone 13" });
// iPad'e yatay yönelime geç
await playwright_resize({ device: "iPad Pro 11", orientation: "landscape" });
// Masaüstü görünümünü test edin
await playwright_resize({ device: "Desktop Chrome" });
AI Yardımcıları için Doğal Dil Desteği:
143 cihazı destekler: iPhone, iPad, Pixel, Galaxy ve masaüstü tarayıcıları viewport, user-agent, dokunma olayları ve cihaz piksel oranlarının uygun emülasyonu ile.
📚 Cihaz Hızlı Referansını Görüntüle | İstem Rehberi

Paketi npm, mcp-get veya Smithery kullanarak kurabilirsiniz:
npm kullanarak:
npm install -g @executeautomation/playwright-mcp-server
mcp-get kullanarak:
npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server
Smithery kullanarak
Smithery aracılığıyla Claude Desktop için Playwright MCP'yi otomatik olarak kurun:
npx @smithery/cli install @executeautomation/playwright-mcp-server --client claude
Claude Code kullanarak:
claude mcp add --transport stdio playwright npx @executeautomation/playwright-mcp-server
Şu düğmelerden birini kullanarak Playwright MCP sunucusunu VS Code'da kurun:
Alternatif olarak, VS Code CLI'ı kullanarak Playwright MCP sunucusunu kurabilirsiniz:
# VS Code için
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
# VS Code Insiders için
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
Kurulumdan sonra, ExecuteAutomation Playwright MCP sunucusu VS Code'daki GitHub Copilot aracınız ile kullanılmak üzere hazır olacaktır.
Playwright MCP Sunucusu, ilk kez kullandığınızda tarayıcı ikili dosyalarını otomatik olarak yükler. Sunucu bir tarayıcının eksik olduğunu algıladığında:
Elle kurulum gerekli değildir! Sunucuyu kullanmaya başlayın ve tarayıcı kurulumunu sizin için işlesin.
Tarayıcıları elle kurmayı tercih ediyorsanız veya otomatik kurulumda sorun yaşıyorsanız:
# Tüm tarayıcıları kur
npx playwright install
# Veya belirli tarayıcıları kur
npx playwright install chromium
npx playwright install firefox
npx playwright install webkit
Tarayıcılar şu konumlara yüklenir:
%USERPROFILE%\AppData\Local\ms-playwright~/Library/Caches/ms-playwright~/.cache/ms-playwrightBu, Claude Desktop için önerilen moddur.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}
Not: stdio modunda, günlüğe kaydetme otomatik olarak yalnızca dosyalara yönlendirilir (konsola değil) ve temiz JSON-RPC iletişimini korur. Günlükler ~/playwright-mcp-server.log dosyasına yazılır.
Ekranı olmayan sistemlerde veya IDE'ler işçi süreçlerinden headed tarayıcı çalıştırırken, MCP sunucusunu bağımsız bir HTTP sunucusu olarak çalıştırabilirsiniz:
Claude Desktop Kullanıcıları için Not: Claude Desktop şu anda stdio modunu (command/args yapılandırması) gerektirir. HTTP modu VS Code, özel istemciler ve uzaktan dağıtımlar için önerilir. Ayrıntılar için CLAUDE_DESKTOP_CONFIG.md dosyasına bakın.
# npx kullanarak
npx @executeautomation/playwright-mcp-server --port 8931
# Veya global kurulumdan sonra
playwright-mcp-server --port 8931
Sunucu başlayacak ve kullanılabilir endpoint'leri gösterecektir:
==============================================
Playwright MCP Server (HTTP Mode)
==============================================
Port: 8931
ENDPOINTS:
- SSE Stream: GET http://localhost:8931/sse
- Messages: POST http://localhost:8931/messages?sessionId=<id>
- MCP (unified): GET http://localhost:8931/mcp
- MCP (unified): POST http://localhost:8931/mcp?sessionId=<id>
- Health Check: GET http://localhost:8931/health
==============================================
⚠️ KRİTİK:
"type": "http"alanı HTTP/SSE taşıması için GEREKLIDIR!
VS Code GitHub Copilot için:
{
"github.copilot.chat.mcp.servers": {
"playwright": {
"url": "http://localhost:8931/mcp",
"type": "http"
}
}
}
Özel MCP İstemcileri için:
{
"mcpServers": {
"playwright": {
"url": "http://localhost:8931/mcp",
"type": "http"
}
}
}
Önemli: "type": "http" olmadan bağlantı başarısız olacaktır.
Claude Desktop için: Bunun yerine stdio modunu kullanın (yukarıdaki Standart Mod'a bakın)
/health endpoint'i ile hata ayıklamaİzleme: Sunucu, dinamik olarak tahsis edilen bir bağlantı noktasında başlayan bir izleme sistemi içerir (çakışmaları önler). Gerçek bağlantı noktası için konsol çıktısını kontrol edin.
Not: Claude Desktop için şimdilik stdio modunu (yukarıdaki Standart Mod) kullanmaya devam edin.
Semptom: "Bad Request: No transport found for sessionId" mesajıyla 400 hatası
Çözüm:
Yapılandırmanın "type": "http" içerdiğini kontrol edin
{
"url": "http://localhost:8931/mcp",
"type": "http" // ← Bu GEREKLIDIR!
}
Sunucu günlüklerinin bağlantıyı gösterdiğini doğrulayın:
# Bu sırayla görülmesi gerekir:
# 1. "Incoming request" - GET /mcp
# 2. "Transport registered" - sessionId ile
# 3. "POST message received" - aynı sessionId ile
Hem sunucuyu hem istemciyi yeniden başlatın
ssh -L 8931:localhost:8931 user@remote-server
Bu proje testler için Jest kullanır. Testler src/__tests__ dizininde bulunur.
Testleri aşağıdaki komutlardan birini kullanarak çalıştırabilirsiniz:
# Özel betik kullanarak testleri çalıştır (kapsama ile)
node run-tests.cjs
# npm betikleri kullanarak testleri çalıştır
npm test # Kapsama olmadan testleri çalıştır
npm run test:coverage # Kapsama ile testleri çalıştır
npm run test:custom # Özel betik ile testleri çalıştır (node run-tests.cjs ile aynı)
Test kapsama raporu coverage dizininde oluşturulacaktır.
Evals paketi, index.ts dosyasını çalıştıran bir mcp istemcisi yükler, bu nedenle testler arasında yeniden derlemek gerekli değildir. Ortam değişkenlerini npx komutunun başına ön ekle yaparak yükleyebilirsiniz. Tam belgeler burada bulunabilir.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/codegen/index.ts
Yeni araçlar eklerken, araç adı uzunluğuna dikkat etmeyi lütfen unutmayın. Cursor gibi bazı istemciler, birleştirilmiş sunucu ve araç adı için 60 karakterlik bir limite sahiptir (server_name:tool_name).
Sunucu adımız playwright-mcp dir. Lütfen araç adlarınızın bu limiti aşmayacak kadar kısa olduğundan emin olun.
Puppeteer ile tarayıcı otomasyon yetenekleri, yerel ve uzak tarayıcı bağlantısını destekler.
Microsoft'un resmi Playwright MCP sunucusu, LLM'lerin yapılandırılmış erişilebilirlik anlık görüntüleri aracılığıyla web sayfalarıyla etkileşim kurmasını sağlıyor.
LLM'ler ve bilgisayarlı görü kullanarak tarayıcı tabanlı iş akışlarını otomatikleştirin — sayfaları gezin, formları doldurun, veri çıkarın, kimlik doğrulaması yönetin ve herhangi bir web sitesini doğal dil ile otomatize edin.
Yerel Chrome tarayıcınızı otomatikleştirin
Bulut ortamında tarayıcı etkileşimlerini otomatikleştirin (web navigasyonu, veri çıkarma, form doldurma ve daha fazlası)
Tarayıcı kullanıcı ajanları ile web uygulamalarını otomatik olarak hata ayıklayan bir MCP Server