other MCP Server
Playwright MCP server
Discovered via unknown and last synced 4mo ago.
1. Install the package
npx @playwright/mcp
2. Add to claude_desktop_config.json
{
"mcpServers": {
"playwright mcp": {
"command": "npx",
"args": [
"@playwright/mcp"
]
}
}
}Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
QA engineers and test automation developers who need to interact with web applications programmatically through Claude. Frontend developers building browser automation workflows benefit from natural language control over Playwright actions. DevOps and integration engineers can leverage Claude's reasoning to create complex multi-step browser automation scripts.
Generate and execute end-to-end test scripts for web apps by describing test scenarios in natural language. Claude handles element selection, interaction sequencing, and assertion logic automatically.
Automate repetitive web tasks like form filling, data scraping, and navigation through conversational instructions. Works across multiple pages and handles dynamic content through the page snapshot context.
Take screenshots and interact with live web pages to debug issues or validate UI behavior. Use Claude to interpret page state and suggest next actions based on visual feedback.
Execute the same automation sequences across different browser contexts to verify consistent behavior. Leverage Playwright's multi-browser support while Claude handles the orchestration logic.
Claude receives page snapshots containing element references and uses tools like click, type, and selectOption with those references. You provide startRef and endRef parameters that map directly to elements Claude can see in the snapshot.
Yes, Playwright waits for content to load and Claude receives updated snapshots of the current page state. You can use waitFor options like textGone and textAppears to handle dynamic updates.
Claude works with snapshots of the page state, so very rapid interactions may require explicit waits. Complex multi-step sequences work best when broken into smaller, discrete operations that Claude can reason about.
No, you describe what you want to accomplish in natural language, and Claude translates that into Playwright tool calls. However, understanding Playwright concepts like selectors and navigation helps you communicate more effectively.
(string): Exact target element reference from the page snapshot
(string, optional): Button to click, defaults to left
generated by update-readme.js -->
(boolean, optional): Whether to perform a double click instead of a single click
(string): Exact source element reference from the page snapshot
(boolean, optional): When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.
(array): Array of values to select in the dropdown. This can be a single value or multiple values.
(boolean, optional): Whether to submit entered text (press Enter after)
(string, optional): The text to wait for to disappear
Stop tracing
(string, optional): File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified. Prefer relative file names to stay within the output directory.
(number): Height of the browser window
(string): Human-readable element description
This has been generated via update-readme.js -->
(array, optional): Modifier keys to press
(string, optional): The text to wait for
(string, optional): The text of the prompt in case of a prompt dialog.
(boolean, optional): Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.
(string): Human-readable target element description used to obtain the permission to interact with the element
(number, optional): Tab index, used for close/select. If omitted for close, current tab is closed.
(number): End X coordinate
(number): End Y coordinate
(number): X coordinate
(number): Y coordinate
(string): ACCESSIBLE_NAME of the element. Can be found in the snapshot like this: `- role "{ACCESSIBLE_NAME}"`
(string): Exact target element reference that points to the element
Stop trace recording
of tools generated section -->
(number): Start X coordinate
(number): Start Y coordinate
(array): Items to verify
(string): Value to verify. For checkbox, use "true" or "false".
None
See how Playwright MCP fits into curated workflow stacks, not just adjacent tools.