Skip to content

All MCP Tools

These tools are invoked by the AI agent through the MCP protocol — typically as a two-call pattern where the agent decides which tool to use, calls it, reads the result, and decides what to do next. You don’t call these directly; you describe what you want and Claude selects the right tools.

ToolDoes
browser_navigate(url)Go to URL, return screenshot + page info
browser_new_tab(url?)Open tab
browser_list_tabs()List all tabs
browser_switch_tab(index)Switch tab
browser_close_tab(index)Close tab
ToolDoes
execute_playwright(code)Run Playwright Python. page, browser, context pre-bound. This is the workhorse — any browser interaction Playwright supports, the agent can do.
browser_console_eval(expr)Run JS in page console. Fast path for data extraction.
ToolDoes
browser_get_page_info()URL, title, DOM snapshot (forms, links, buttons, headings)
browser_screenshot(selector?)Full page or element screenshot
browser_get_cookies()All cookies for current domain
browser_get_storage()localStorage + sessionStorage
browser_capture_har()Network traffic capture (HTTP Archive format)
browser_dump_all()Everything in one call — page info, cookies, storage, screenshot
ToolDoes
start_recording()Begin capturing network + DOM for skill generation
stop_recording(id)Stop and save recording
ToolDoes
open_markdown(path)Open file in built-in markdown viewer
write_markdown(path, content)Write markdown with live preview in viewer
ToolDoes
start_remote_session(reason)Request human help — streams browser via CDP screencast, sends Telegram notification
check_remote_session(id)Check if human has connected/disconnected
stop_remote_session(id)End remote session
ToolDoes
browser_get_extensions()List installed extensions with automation guidance
drawer_focus()Focus the Cmd+/ drawer input
browser_navigate("https://news.ycombinator.com")
result = execute_playwright("""
items = await page.query_selector_all('.titleline > a')
return [{'title': await i.text_content(),
'href': await i.get_attribute('href')} for i in items[:10]]
""")
write_markdown("~/research/hn.md", result)
browser_navigate("https://example.com/signup")
execute_playwright("""
await page.fill('#email', 'user@example.com')
await page.fill('#password', 'secure123')
await page.click('button[type="submit"]')
""")
browser_screenshot()