mcp-playwright
Warp, das KI-Terminal für Entwickler
Verfügbar für MacOS, Linux und Windows
Playwright MCP-Server 🎭
Ein Model Context Protocol-Server, der Browser-Automatisierungsfunktionen mit Playwright bereitstellt. Dieser Server ermöglicht LLMs die Interaktion mit Webseiten, das Erstellen von Screenshots, das Generieren von Testcode, das Web Scraping der Seite und die Ausführung von JavaScript in einer realen Browserumgebung.
Screenshot

Related MCP server: Puppeteer MCP Server
Dokumentation | API-Referenz
Installation
Sie können das Paket entweder mit npm, mcp-get oder Smithery installieren:
Verwenden von npm:
npm install -g @executeautomation/playwright-mcp-serverVerwenden von mcp-get:
npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-serverSchmiedekunst verwenden
So installieren Sie Playwright MCP für Claude Desktop automatisch über Smithery :
npx @smithery/cli install @executeautomation/playwright-mcp-server --client claudeInstallation in VS Code
Installieren Sie den Playwright MCP-Server in VS Code mit einer dieser Schaltflächen:
Alternativ können Sie den Playwright MCP-Server mithilfe der VS Code CLI installieren:
# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'# For VS Code Insiders
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'Nach der Installation steht der ExecuteAutomation Playwright MCP-Server zur Verwendung mit Ihrem GitHub Copilot-Agent in VS Code zur Verfügung.
Konfiguration zur Verwendung von Playwright Server
Hier ist die Claude Desktop-Konfiguration zur Verwendung des Playwright-Servers:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}Testen
Dieses Projekt verwendet Jest zum Testen. Die Tests befinden sich im Verzeichnis src/__tests__ .
Ausführen von Tests
Sie können die Tests mit einem der folgenden Befehle ausführen:
# Run tests using the custom script (with coverage)
node run-tests.cjs
# Run tests using npm scripts
npm test # Run tests without coverage
npm run test:coverage # Run tests with coverage
npm run test:custom # Run tests with custom script (same as node run-tests.cjs)Der Testabdeckungsbericht wird im coverage generiert.
Ausführen von Evaluierungen
Das Evals-Paket lädt einen MCP-Client, der anschließend die Datei index.ts ausführt, sodass zwischen den Tests kein Neuaufbau erforderlich ist. Sie können Umgebungsvariablen laden, indem Sie dem Befehl npx voranstellen. Die vollständige Dokumentation finden Sie hier .
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/codegen/index.tsSternengeschichte
Available Tools
32 toolsclear_codegen_sessionC
Clear a code generation session without generating a test
Inputs: sessionId (required).
end_codegen_sessionC
End a code generation session and generate the test file
Inputs: sessionId (required).
get_codegen_sessionC
Get information about a code generation session
Inputs: sessionId (required).
playwright_assert_responseB
Wait for and validate a previously initiated HTTP response wait operation.
Inputs: id (required), value.
playwright_clickC
Click an element on the page
Inputs: selector (required).
playwright_click_and_switch_tabA
Click a link and switch to the newly opened tab
Inputs: selector (required).
playwright_closeB
Close the browser and release all resources
Inputs: no named parameters.
playwright_console_logsC
Retrieve console logs from the browser with filtering options
Inputs: clear, limit, search, type.
playwright_custom_user_agentC
Set a custom User Agent for the browser
Inputs: userAgent (required).
playwright_deleteC
Perform an HTTP DELETE request
Inputs: url (required).
playwright_dragC
Drag an element to a target location
Inputs: sourceSelector (required), targetSelector (required).
playwright_evaluateC
Execute JavaScript in the browser console
Inputs: script (required).
playwright_expect_responseB
Ask Playwright to start waiting for a HTTP response. This tool initiates the wait operation but does not wait for its completion.
Inputs: id (required), url (required).
playwright_fillC
fill out an input field
Inputs: selector (required), value (required).
playwright_getC
Perform an HTTP GET request
Inputs: url (required).
playwright_get_visible_htmlC
Get the HTML content of the current page. By default, all tags are removed from the output unless removeScripts is explicitly set to false.
Inputs: cleanHtml, maxLength, minify, removeComments, +4 more.
playwright_get_visible_textB
Get the visible text content of the current page
Inputs: no named parameters.
playwright_go_backB
Navigate back in browser history
Inputs: no named parameters.
playwright_go_forwardA
Navigate forward in browser history
Inputs: no named parameters.
playwright_hoverC
Hover an element on the page
Inputs: selector (required).
playwright_iframe_clickC
Click an element in an iframe on the page
Inputs: iframeSelector (required), selector (required).
playwright_iframe_fillC
Fill an element in an iframe on the page
Inputs: iframeSelector (required), selector (required), value (required).
playwright_patchC
Perform an HTTP PATCH request
Inputs: url (required), value (required).
playwright_postC
Perform an HTTP POST request
Inputs: url (required), value (required), headers, token.
playwright_press_keyC
Press a keyboard key
Inputs: key (required), selector.
playwright_putC
Perform an HTTP PUT request
Inputs: url (required), value (required).
playwright_save_as_pdfC
Save the current page as a PDF file
Inputs: outputPath (required), filename, format, margin, +1 more.
playwright_screenshotC
Take a screenshot of the current page or a specific element
Inputs: name (required), downloadsDir, fullPage, height, +4 more.
playwright_selectC
Select an element on the page with Select tag
Inputs: selector (required), value (required).
playwright_upload_fileC
Upload a file to an input[type='file'] element on the page
Inputs: filePath (required), selector (required).
start_codegen_sessionC
Start a new code generation session to record Playwright actions
Inputs: options (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 32 tools
Most tools have distinct purposes, with clear separation between navigation, interaction, HTTP requests, and code generation functions. However, some overlap exists between playwright_click and playwright_iframe_click, and between playwright_fill and playwright_iframe_fill, which could cause minor confusion about when to use the iframe variants versus regular versions.
Excellent naming consistency throughout. All tools follow a clear snake_case pattern with 'playwright_' prefix for browser operations and descriptive verb_noun combinations. The three codegen tools also follow a consistent pattern with 'codegen_session' suffix.
32 tools is quite large for an MCP server, bordering on heavy. While Playwright is a comprehensive browser automation library, this many tools may overwhelm agents and could potentially be consolidated (e.g., HTTP methods could be a single tool with method parameter).
The tool surface provides comprehensive coverage of Playwright's core functionality including navigation, element interaction, iframe handling, HTTP requests, debugging (console logs), file operations, PDF/screenshot generation, and code generation. No obvious gaps exist for typical browser automation workflows.
Maintenance
Related MCP Connectors
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
Cloud browser, web extraction, screenshots, and remote CDP tools for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.8-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.19Apache 2.0
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Puppeteer, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.728,579 npm1MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.3113,875 npmMIT