Complete reference for all available MCP tools. Each tool provides specific browser automation capabilities.
connectConnect to browserActivate browser automation by connecting to the Chrome extension. Must be called before using any browser_ tools. After connecting, use browser_tabs to select or create tabs.
disconnectDisconnect from browserStop browser automation and close the connection to the Chrome extension. Returns server to passive mode where browser_ tools are unavailable.
statusConnection statusCheck whether browser automation is currently active or passive. Shows if connect has been called and browser_ tools are available.
authManage authenticationManage Blueprint MCP PRO authentication. Login to access unlimited browser tabs, logout to clear credentials, or check current authentication status.
| Name | Type | Description |
|---|---|---|
actionrequired | enum | Action to perform: login (authenticate and get PRO access), logout (clear tokens), status (check current auth state) |
browser_tabsManage tabsManage browser tabs. IMPORTANT: Before performing any browser automation, you must first either connect to an existing tab (action='connect') or create a new tab (action='new'). Use action='list' to see available tabs, action='close' to close a tab, action='activate' to bring a tab to foreground.
| Name | Type | Description |
|---|---|---|
actionrequired | enum | Operation to perform |
index | number | Tab index, used for connect/activate/close. If omitted for close, current tab is closed. |
url | string | For new action: URL to open in the new tab (default: about:blank) |
stealth | boolean | For connect/new actions: Enable stealth mode to avoid bot detection (default: false). Stealth mode disables console logs but makes automation undetectable. |
browser_navigateNavigate to a URLNavigate the active browser tab to a specified URL. Requires browser_tabs connection. Waits for page load to complete.
| Name | Type | Description |
|---|---|---|
urlrequired | string | The URL to navigate to |
browser_navigate_backGo backGo back to the previous page in the active tab browser history. Equivalent to clicking the back button.
browser_reloadReload pageReload the current page in the active tab. Useful after making changes or to get fresh data.
browser_handle_dialogHandle a dialogHandle browser dialogs (alerts, confirms, prompts) in the active tab. Can accept or reject the dialog, and optionally provide text for prompts.
| Name | Type | Description |
|---|---|---|
acceptrequired | boolean | Whether to accept the dialog. |
promptText | string | The text of the prompt in case of a prompt dialog. |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_fill_formFill formFill multiple form fields at once in the active tab. More efficient than typing into each field individually. Supports text boxes, checkboxes, radio buttons, dropdowns, and sliders.
| Name | Type | Description |
|---|---|---|
fieldsrequired | array | Fields to fill in |
browser_press_keyPress a keyPress a keyboard key on the currently focused element in the active tab. Useful for Enter, Tab, Arrow keys, etc. Requires browser_tabs connection.
| Name | Type | Description |
|---|---|---|
keyrequired | string | Name of the key to press or a character to generate, such as `ArrowLeft` or `a` |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_typeType textType text into an editable element in the active tab. Can submit forms by pressing Enter after typing. More reliable than pressing individual keys.
| Name | 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 |
selector | string | CSS selector (e.g., '#login-btn', '.submit-button') |
xpath | string | XPath selector (e.g., '//button[@id="login"]') |
index | number | Which element to select when multiple match (0=first, 1=second, -1=last). Required if selector/xpath matches multiple elements. |
textrequired | string | Text to type into the element |
submit | boolean | Whether to submit entered text (press Enter after) |
slowly | 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. |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_clickClickClick on an element in the active tab. Can perform left, right, or double clicks with modifier keys. Specify element by selector, XPath, or text reference.
| Name | 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 |
selector | string | CSS selector (e.g., '#login-btn', '.submit-button') |
xpath | string | XPath selector (e.g., '//button[@id="login"]') |
index | number | Which element to select when multiple match (0=first, 1=second, -1=last). Required if selector/xpath matches multiple elements. |
doubleClick | boolean | Whether to perform a double click instead of a single click |
button | enum | Button to click, defaults to left |
modifiers | array | Modifier keys to press |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_dragDrag mousePerform drag and drop between two elements in the active tab. Useful for reordering lists or moving items between containers.
| Name | Type | Description |
|---|---|---|
startElement | string | Human-readable source element description |
startRef | string | Exact source element reference from the page snapshot |
startSelector | string | CSS selector for source element |
startXpath | string | XPath selector for source element |
endElement | string | Human-readable target element description |
endRef | string | Exact target element reference from the page snapshot |
endSelector | string | CSS selector for target element |
endXpath | string | XPath selector for target element |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_hoverHover mouseMove mouse over an element in the active tab without clicking. Useful for revealing tooltips or triggering hover effects.
| Name | 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 |
selector | string | CSS selector (e.g., '#login-btn', '.submit-button') |
xpath | string | XPath selector (e.g., '//button[@id="login"]') |
index | number | Which element to select when multiple match (0=first, 1=second, -1=last). Required if selector/xpath matches multiple elements. |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_select_optionSelect optionSelect options in a native HTML <select> dropdown in the active tab. Only works with standard <select> elements, not custom dropdowns. Strings match both option values and labels. Supports multi-select.
| Name | 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 |
selector | string | CSS selector (e.g., '#login-btn', '.submit-button') |
xpath | string | XPath selector (e.g., '//button[@id="login"]') |
index | number | Which element to select when multiple match (0=first, 1=second, -1=last). Required if selector/xpath matches multiple elements. |
valuesrequired | array | Array of values to select in the dropdown. This can be a single value or multiple values. |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_console_messagesGet console messagesread-onlyGet console messages (logs, warnings, errors) from the active browser tab. Supports filtering by error type, regex patterns, and limiting results. Useful for debugging and monitoring page behavior.
| Name | Type | Description |
|---|---|---|
onlyErrors | boolean | Only return error messages |
filter | string | Regular expression to filter messages |
limit | number | string | Maximum number of matching messages to return |
direction | enum | Return first or last matching messages (default: first) |
before | number | string | Number of lines to show before each match |
after | number | string | Number of lines to show after each match |
browser_locate_elementLocate elementread-onlyFind element by coordinates (from screenshot) or by text content. Returns element details including selector, bounding box, and text.
| Name | Type | Description |
|---|---|---|
x | number | X coordinate to find element at (use with y) |
y | number | Y coordinate to find element at (use with x) |
text | string | Text content to search for in elements (partial match, case-insensitive) |
exact | boolean | When true, text must match exactly (case-sensitive). Default: false |
browser_take_screenshotTake a screenshotread-onlyCapture a screenshot of the active browser tab. Can screenshot the full page, visible viewport, or specific elements. Returns image data. Note: For interactive automation, use browser_snapshot instead as it provides element references.
| Name | Type | Description |
|---|---|---|
type | enum | Image format for the screenshot. Default is png. |
filename | 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. |
element | string | Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. |
ref | string | Exact target element reference from the page snapshot. |
selector | string | CSS selector to screenshot a specific element (e.g., '.header', '#main-content'). |
xpath | string | XPath selector to screenshot a specific element. |
clip | object | Coordinates for clipping the screenshot to a specific region. Cannot be used with element/ref/selector or fullPage. |
fullPage | boolean | When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots. |
browser_snapshotPage snapshotread-onlyCapture an accessibility tree snapshot of the active tab DOM structure. Returns element hierarchy with selectors and text content. Use this instead of screenshots for automation tasks as it provides actionable element references.
browser_wait_forWait forread-onlyWait for specific conditions in the active tab before proceeding. Can wait for text to appear/disappear or wait a fixed time period. Useful for handling dynamic content loading and ensuring elements are ready.
| Name | Type | Description |
|---|---|---|
time | number | The time to wait in seconds |
text | string | The text to wait for |
textGone | string | The text to wait for to disappear |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_evaluateEvaluate JavaScriptExecute JavaScript code in the active browser tab and return the result. Can run code in page context or on specific elements. Useful for extracting data, modifying page state, or triggering custom functionality.
| Name | Type | Description |
|---|---|---|
functionrequired | string | () => { /* code */ } or (element) => { /* code */ } when element is provided |
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 |
selector | string | CSS selector (e.g., '#login-btn', '.submit-button') |
xpath | string | XPath selector (e.g., '//button[@id="login"]') |
includeSnapshot | boolean | Include page snapshot in response (default: false) |
browser_network_requestsList network requestsread-onlyGet all network requests (XHR, fetch, resources) made by the active tab since page load. Supports filtering by URL pattern and HTTP method. Useful for monitoring API calls and tracking data flow.
| Name | Type | Description |
|---|---|---|
urlPattern | string | Filter by URL pattern (substring match, case-insensitive) |
method | enum | Filter by HTTP method |
browser_network_request_detailsGet request detailsread-onlyGet detailed information about a specific network request by ID (from browser_network_requests)
| Name | Type | Description |
|---|---|---|
requestIdrequired | number | Request ID from browser_network_requests output |
urlPattern | string | URL pattern used in the original filter (required to match request ID) |
method | enum | HTTP method used in the original filter (required to match request ID) |
browser_closeClose browserdestructiveClose the currently active browser tab. The tab must be connected first using browser_tabs. Useful for cleanup after completing automation tasks.
browser_resizeResize browser windowdestructiveResize the currently active browser tab window to specific dimensions. Requires an active tab connection via browser_tabs.
| Name | Type | Description |
|---|---|---|
widthrequired | number | Width of the browser window |
heightrequired | number | Height of the browser window |
browser_list_extensionsList ExtensionsdestructiveList all unpacked (development) Chrome extensions
browser_reload_extensionsReload ExtensionsdestructiveReload a specific unpacked Chrome extension by name. Use this tool to reload an extension being developed or debugged after making code changes, without manually reloading via chrome://extensions.
| Name | Type | Description |
|---|---|---|
extensionNamerequired | string | Name of extension to reload (required) |
browser_file_uploadUpload filesdestructiveUpload files to a file input element in the active tab. Provide absolute paths to files. Requires browser_tabs connection and a file input element to be present.
| Name | Type | Description |
|---|---|---|
paths | array | The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled. |
includeSnapshot | boolean | Include page snapshot in response (default: false) |