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 | 
| Attribute | Details | 
|---|---|
| Dockerfile | https://github.com/microsoft/playwright-mcp/blob/e72701b21c328f03c1c443480cc65e8bbd1447a6/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_clickPerform 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 | stringoptional | Button to click, defaults to left | 
doubleClick | booleanoptional | Whether to perform a double click instead of a single click | 
modifiers | arrayoptional | Modifier keys to press | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_closeClose the page
browser_console_messagesReturns all console messages
| Parameters | Type | Description | 
|---|---|---|
onlyErrors | booleanoptional | Only return error messages | 
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
browser_dragPerform 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_evaluateEvaluate JavaScript expression on page or element
| Parameters | Type | Description | 
|---|---|---|
function | string | () => { /* code / } or (element) => { / code */ } when element is provided | 
element | stringoptional | Human-readable element description used to obtain permission to interact with the element | 
ref | stringoptional | Exact target element reference from the page snapshot | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_file_uploadUpload one or multiple files
| Parameters | Type | Description | 
|---|---|---|
paths | arrayoptional | The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled. | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_fill_formFill 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_dialogHandle a dialog
| Parameters | Type | Description | 
|---|---|---|
accept | boolean | Whether to accept the dialog. | 
promptText | stringoptional | The text of the prompt in case of a prompt dialog. | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_hoverHover 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 may perform destructive updates.
This tool interacts with external entities.
browser_installInstall the browser specified in the config. Call this if you get an error about the browser not being installed.
browser_navigateNavigate 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_backGo back to the previous page
browser_network_requestsReturns all network requests since loading the page
browser_press_keyPress 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_resizeResize the browser window
| Parameters | Type | Description | 
|---|---|---|
height | number | Height of the browser window | 
width | number | Width of the browser window | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_select_optionSelect 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_snapshotCapture accessibility snapshot of the current page, this is better than screenshot
browser_tabsList, create, close, or select a browser tab.
| Parameters | Type | Description | 
|---|---|---|
action | string | Operation to perform | 
index | numberoptional | 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_screenshotTake a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.
| Parameters | Type | Description | 
|---|---|---|
element | stringoptional | 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 | stringoptional | File name to save the screenshot to. Defaults to `page-{timestamp}.{png | 
fullPage | booleanoptional | When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots. | 
ref | stringoptional | 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 | stringoptional | 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_typeType 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 | booleanoptional | 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 | booleanoptional | Whether to submit entered text (press Enter after) | 
This tool may perform destructive updates.
This tool interacts with external entities.
browser_wait_forWait for text to appear or disappear or a specified time to pass
| Parameters | Type | Description | 
|---|---|---|
text | stringoptional | The text to wait for | 
textGone | stringoptional | The text to wait for to disappear | 
time | numberoptional | 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