Uses Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests.
Browser lifecycle: Browser starts automatically on first tool call using a persistent Chrome profile. Configure via CLI args in the MCP server configuration: npx chrome-devtools-mcp@latest --help.
Page selection: Tools operate on the currently selected page. Use list_pages to see available pages, then select_page to switch context.
Element interaction: Use take_snapshot to get page structure with element uids. Each element has a unique uid for interaction. If an element isn't found, take a fresh snapshot - the element may have been removed or the page changed.
navigate_page or new_pagewait_for to ensure content is loaded if you know what you look for.take_snapshot to understand page structureuids from snapshot for click, fill, etc.filePath parameter for large outputs (screenshots, snapshots, traces)pageIdx, pageSize) and filtering (types) to minimize dataincludeSnapshot: false on input actions unless you need updated page statetake_snapshot (text-based, faster, better for automation)take_screenshot (when user needs to see visual state)evaluate_script for data not in accessibility treeYou can send multiple tool calls in parallel, but maintain correct order: navigate → wait → snapshot → interact.
If chrome-devtools-mcp is insufficient, guide users to use Chrome DevTools UI:
If there are errors launching chrome-devtools-mcp or Chrome, refer to https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/troubleshooting.md.