Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Playwright MCP server.
Attribute | Details |
---|---|
Docker Image | mcp/playwright |
Author | microsoft |
Repository | https://github.com/microsoft/playwright-mcp |
Dockerfile | https://github.com/microsoft/playwright-mcp/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/playwright --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | Apache License 2.0 |
Tools provided by this Server | Short Description |
---|---|
browser_click | Click |
browser_close | Close browser |
browser_console_messages | Get console messages |
browser_drag | Drag mouse |
browser_evaluate | Evaluate JavaScript |
browser_file_upload | Upload files |
browser_fill_form | Fill form |
browser_handle_dialog | Handle a dialog |
browser_hover | Hover mouse |
browser_install | Install the browser specified in the config |
browser_navigate | Navigate to a URL |
browser_navigate_back | Go back |
browser_network_requests | List network requests |
browser_press_key | Press a key |
browser_resize | Resize browser window |
browser_select_option | Select option |
browser_snapshot | Page snapshot |
browser_tabs | Manage tabs |
browser_take_screenshot | Take a screenshot |
browser_type | Type text |
browser_wait_for | Wait for |
browser_click
Perform click on a web page
Parameters | Type | Description |
---|---|---|
element | string | Human-readable element description used to obtain permission to interact with the element |
ref | string | Exact target element reference from the page snapshot |
button | string optional | Button to click, defaults to left |
doubleClick | boolean optional | Whether to perform a double click instead of a single click |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_close
Close the page
browser_console_messages
Returns all console messages
browser_drag
Perform drag and drop between two elements
Parameters | Type | Description |
---|---|---|
endElement | string | Human-readable target element description used to obtain the permission to interact with the element |
endRef | string | Exact target element reference from the page snapshot |
startElement | string | Human-readable source element description used to obtain the permission to interact with the element |
startRef | string | Exact source element reference from the page snapshot |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_evaluate
Evaluate JavaScript expression on page or element
Parameters | Type | Description |
---|---|---|
function | string | () => { /* code / } or (element) => { / code */ } when element is provided |
element | string optional | Human-readable element description used to obtain permission to interact with the element |
ref | string optional | Exact target element reference from the page snapshot |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_file_upload
Upload one or multiple files
Parameters | Type | Description |
---|---|---|
paths | array | The absolute paths to the files to upload. Can be a single file or multiple files. |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_fill_form
Fill multiple form fields
Parameters | Type | Description |
---|---|---|
fields | array | Fields to fill in |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_handle_dialog
Handle a dialog
Parameters | Type | Description |
---|---|---|
accept | boolean | Whether to accept the dialog. |
promptText | string optional | The text of the prompt in case of a prompt dialog. |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_hover
Hover over element on page
Parameters | Type | Description |
---|---|---|
element | string | Human-readable element description used to obtain permission to interact with the element |
ref | string | Exact target element reference from the page snapshot |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
browser_install
Install the browser specified in the config. Call this if you get an error about the browser not being installed.
browser_navigate
Navigate to a URL
Parameters | Type | Description |
---|---|---|
url | string | The URL to navigate to |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_navigate_back
Go back to the previous page
browser_network_requests
Returns all network requests since loading the page
browser_press_key
Press a key on the keyboard
Parameters | Type | Description |
---|---|---|
key | string | Name of the key to press or a character to generate, such as ArrowLeft or a |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_resize
Resize the browser window
Parameters | Type | Description |
---|---|---|
height | number | Height of the browser window |
width | number | Width of the browser window |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
browser_select_option
Select an option in a dropdown
Parameters | Type | Description |
---|---|---|
element | string | Human-readable element description used to obtain permission to interact with the element |
ref | string | Exact target element reference from the page snapshot |
values | array | Array of values to select in the dropdown. This can be a single value or multiple values. |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_snapshot
Capture accessibility snapshot of the current page, this is better than screenshot
browser_tabs
List, create, close, or select a browser tab.
Parameters | Type | Description |
---|---|---|
action | string | Operation to perform |
index | number optional | Tab index, used for close/select. If omitted for close, current tab is closed. |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_take_screenshot
Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.
Parameters | Type | Description |
---|---|---|
element | string optional | Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too. |
filename | string optional | File name to save the screenshot to. Defaults to `page-{timestamp}.{png |
fullPage | boolean optional | When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots. |
ref | string optional | Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too. |
type | string optional | Image format for the screenshot. Default is png. |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
browser_type
Type text into editable element
Parameters | Type | Description |
---|---|---|
element | string | Human-readable element description used to obtain permission to interact with the element |
ref | string | Exact target element reference from the page snapshot |
text | string | Text to type into the element |
slowly | 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. |
submit | boolean optional | Whether to submit entered text (press Enter after) |
This tool may perform destructive updates.
This tool interacts with external entities.
browser_wait_for
Wait for text to appear or disappear or a specified time to pass
Parameters | Type | Description |
---|---|---|
text | string optional | The text to wait for |
textGone | string optional | The text to wait for to disappear |
time | number optional | The time to wait in seconds |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
{
"mcpServers": {
"playwright": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/playwright"
]
}
}
}
Manual installation
You can install the MCP server using:
Installation for