browser
Control web browsers via Chrome DevTools Protocol using DOM selectors for reliable automation. Navigate, click, type, read text, and manage tabs.
Instructions
Chrome DevTools Protocol control — operates on DOM elements by CSS selector rather than screen pixels. Start with navigate (opens the URL in the agent's own CDP browser, launching it if needed) or connect (attach to a browser already on the debug port), then page_context/click/type on that page. Much more reliable than computer for web automation. Pick an action: navigate, connect, page_context, read_text, click, type, select_option, evaluate, wait_for, list_tabs, switch_tab, scroll.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "browser"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL to navigate to | |
| text | No | Visible text of the element to click (preferred). | |
| label | No | Label text associated with the input (alternative to selector). | |
| value | No | Option value or visible text to select | |
| action | Yes | Which sub-action to perform. See this tool's description for the enum of valid values. Required: navigate: url; type: text; select_option: selector, value; evaluate: javascript; wait_for: selector; switch_tab: target; scroll: direction. | |
| amount | No | Pixels to scroll (default: 500) | |
| expect | No | Optional post-conditions to verify after this action (same assertion types as the verify tool: window_title_contains, app_running, element_exists, element_value_contains, clipboard_contains, file_exists, file_contains, ocr_contains, file_changed_since_start). If any FAIL the action returns a DEVIATION and you must adapt. State an OUTCOME you can observe (a window title, a rendered element/chip, a status) — NOT the raw text you typed. | |
| target | No | URL or title substring to match | |
| timeout | No | Timeout in milliseconds (default: 10000) | |
| selector | No | Optional CSS selector to read text from (default: structured interactive-element list for the whole page). | |
| direction | No | Scroll direction | |
| maxLength | No | Max characters to return (default: 3000) | |
| javascript | No | JavaScript code to evaluate in the page |