
Playwright Mcp
Brings Playwright's browser automation into your MCP workflow without needing vision models or screenshots. Instead of pixel-based approaches, it exposes structured accessibility tree data that LLMs can read and act on directly. You get deterministic web interactions through tools that navigate pages, click elements, fill forms, and extract content using selectors. Runs entirely on text snapshots of page structure, making it faster and more reliable than screenshot-based alternatives. Useful when you need an AI agent to scrape data, test web apps, or automate multi-step browser tasks. Works with any MCP client and installs via npx, so no separate browser setup required.
- tools
- 28
- auth
- Secret needed
- transport
- STDIO
- env var
- 1
- last updated
- Nov 17, 2025
Tools
28 toolsPublic tool metadata for what this MCP can expose to an agent.
browser_clickPerform click on a web page
Perform click on a web page
No parameter schema in public metadata yet.
browser_closeClose the page
Close the page
No parameter schema in public metadata yet.
browser_console_messagesReturns all console messages
Returns all console messages
No parameter schema in public metadata yet.
browser_dragPerform drag and drop between two elements
Perform drag and drop between two elements
No parameter schema in public metadata yet.
browser_evaluateEvaluate JavaScript expression on page or element
Evaluate JavaScript expression on page or element
No parameter schema in public metadata yet.
browser_file_uploadUpload one or multiple files
Upload one or multiple files
No parameter schema in public metadata yet.
browser_fill_formFill multiple form fields
Fill multiple form fields
No parameter schema in public metadata yet.
browser_handle_dialogHandle a dialog
Handle a dialog
No parameter schema in public metadata yet.
browser_hoverHover over element on page
Hover over element on page
No parameter schema in public metadata yet.
browser_navigateNavigate to a URL
Navigate to a URL
No parameter schema in public metadata yet.
browser_navigate_backGo back to the previous page
Go back to the previous page
No parameter schema in public metadata yet.
browser_network_requestsReturns all network requests since loading the page
Returns all network requests since loading the page
No parameter schema in public metadata yet.
browser_press_keyPress a key on the keyboard
Press a key on the keyboard
No parameter schema in public metadata yet.
browser_resizeResize the browser window
Resize the browser window
No parameter schema in public metadata yet.
browser_run_codeRun Playwright code snippet
Run Playwright code snippet
No parameter schema in public metadata yet.
browser_select_optionSelect an option in a dropdown
Select an option in a dropdown
No parameter schema in public metadata yet.
browser_snapshotCapture accessibility snapshot of the current page, this is better than screenshot
Capture accessibility snapshot of the current page, this is better than screenshot
No parameter schema in public metadata yet.
browser_take_screenshotTake a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.
Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.
No parameter schema in public metadata yet.
browser_typeType text into editable element
Type text into editable element
No parameter schema in public metadata yet.
browser_wait_forWait for text to appear or disappear or a specified time to pass
Wait for text to appear or disappear or a specified time to pass
No parameter schema in public metadata yet.
browser_tabsList, create, close, or select a browser tab.
List, create, close, or select a browser tab.
No parameter schema in public metadata yet.
browser_installInstall the browser specified in the config. Call this if you get an error about the browser not being installed.
Install the browser specified in the config. Call this if you get an error about the browser not being installed.
No parameter schema in public metadata yet.
browser_mouse_click_xyClick left mouse button at a given position
Click left mouse button at a given position
No parameter schema in public metadata yet.
browser_mouse_drag_xyDrag left mouse button to a given position
Drag left mouse button to a given position
No parameter schema in public metadata yet.
browser_mouse_move_xyMove mouse to a given position
Move mouse to a given position
No parameter schema in public metadata yet.
browser_pdf_saveSave page as PDF
Save page as PDF
No parameter schema in public metadata yet.
browser_generate_locatorGenerate locator for the given element to use in tests
Generate locator for the given element to use in tests
No parameter schema in public metadata yet.
browser_verify_element_visibleVerify element is visible on the page
Verify element is visible on the page
No parameter schema in public metadata yet.
Sponsors
Configuration
YOUR_API_KEY*secretYour API key for the service
Readme
Playwright MCP
A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.
Key Features
- Fast and lightweight. Uses Playwright's accessibility tree, not pixel-based input.
- LLM-friendly. No vision models needed, operates purely on structured data.
- Deterministic tool application. Avoids ambiguity common with screenshot-based approaches.
Requirements
- Node.js 18 or newer
- VS Code, Cursor, Windsurf, Claude Desktop, Goose or any other MCP client
Getting started
First, install the Playwright MCP server with your client.
Standard config works in most of the tools:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
Details
- Repository
- github.com/dinesh-nalla-se/playwright-mcp
- Category
- Web & Browser Automation
- Package
@dinesh-nalla-se/playwright-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active