Skip to main content
Core automation tools provide the fundamental capabilities for browser automation, including navigation, clicking, typing, form filling, and page inspection. These tools are available by default and don’t require any special capabilities.

browser_navigate

Navigate to a URL.
string
required
The URL to navigate to
Read-only: No

browser_navigate_back

Go back to the previous page in the history. Parameters: None Read-only: No

browser_close

Close the current page. Parameters: None Read-only: No

Element Interaction

browser_click

Perform click on a web page element.
string
Human-readable element description used to obtain permission to interact with the element
string
required
Exact target element reference from the page snapshot
boolean
Whether to perform a double click instead of a single click
string
Button to click, defaults to left
array
Modifier keys to press (e.g., [“Control”, “Shift”])
Read-only: No

browser_hover

Hover over element on page.
string
Human-readable element description used to obtain permission to interact with the element
string
required
Exact target element reference from the page snapshot
Read-only: No

browser_type

Type text into editable element.
string
Human-readable element description used to obtain permission to interact with the element
string
required
Exact target element reference from the page snapshot
string
required
Text to type into the element
boolean
Whether to submit entered text (press Enter after)
boolean
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.
Read-only: No

browser_press_key

Press a key on the keyboard.
string
required
Name of the key to press or a character to generate, such as ArrowLeft or a
Read-only: No

Form Operations

browser_fill_form

Fill multiple form fields in one operation.
array
required
Fields to fill in. Each field should contain element information and the value to enter.
Read-only: No

browser_select_option

Select an option in a dropdown.
string
Human-readable element description used to obtain permission to interact with the element
string
required
Exact target element reference from the page snapshot
array
required
Array of values to select in the dropdown. This can be a single value or multiple values.
Read-only: No

browser_file_upload

Upload one or multiple files.
array
The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.
Read-only: No

Advanced Interactions

browser_drag

Perform drag and drop between two elements.
string
required
Human-readable source element description used to obtain the permission to interact with the element
string
required
Exact source element reference from the page snapshot
string
required
Human-readable target element description used to obtain the permission to interact with the element
string
required
Exact target element reference from the page snapshot
Read-only: No

browser_handle_dialog

Handle a browser dialog (alert, confirm, prompt).
boolean
required
Whether to accept the dialog.
string
The text of the prompt in case of a prompt dialog.
Read-only: No

Page Inspection

browser_snapshot

Capture accessibility snapshot of the current page. This is the preferred method for understanding page structure and is better than screenshots for automation purposes.
string
Save snapshot to markdown file instead of returning it in the response.
Read-only: Yes
Use browser_snapshot as your primary method for understanding page structure. It provides semantic information that’s much more useful for automation than visual screenshots.

browser_take_screenshot

Take a screenshot of the current page.
string
Image format for the screenshot. Default is png.
string
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.
string
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.
string
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.
boolean
When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.
Read-only: Yes
You can’t perform actions based on screenshots. Use browser_snapshot for actions and automation.

browser_console_messages

Returns all console messages from the page.
string
required
Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to “info”.
string
Filename to save the console messages to. If not provided, messages are returned as text.
Read-only: Yes

browser_network_requests

Returns all network requests since loading the page.
boolean
required
Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.
string
Filename to save the network requests to. If not provided, requests are returned as text.
Read-only: Yes

JavaScript Execution

browser_evaluate

Evaluate JavaScript expression on page or element.
string
required
JavaScript function as string: () => { /* code */ } or (element) => { /* code */ } when element is provided
string
Human-readable element description used to obtain permission to interact with the element
string
Exact target element reference from the page snapshot
Read-only: No

browser_run_code

Run Playwright code snippet directly.
string
required
A JavaScript function containing Playwright code to execute. It will be invoked with a single argument, page, which you can use for any page interaction. For example: async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }
Read-only: No

Browser Configuration

browser_resize

Resize the browser window.
number
required
Width of the browser window
number
required
Height of the browser window
Read-only: No

browser_wait_for

Wait for text to appear or disappear or a specified time to pass.
number
The time to wait in seconds
string
The text to wait for to appear
string
The text to wait for to disappear
Read-only: No
You must provide either time, text, or textGone. The tool will wait until the condition is met or timeout occurs.

Browser Installation

browser_install

Install the browser specified in the configuration. Description: Installs the browser executable required for Playwright. Call this if you encounter an error about the browser not being installed. Parameters: None Read-only: No Usage:
This tool installs the browser specified by the --browser flag or in the configuration file. If no browser is specified, it installs Chromium by default.
Most MCP clients will automatically install the browser on first use, but you can use this tool if installation fails or if you need to reinstall.