| name | chrome-devtools-cli |
| description | Use this skill to write shell scripts or run shell commands to automate tasks in the browser or otherwise use Chrome DevTools via CLI. |
The chrome-devtools-mcp CLI lets you interact with the browser from your terminal.
Setup
Note: If this is your very first time using the CLI, see references/installation.md for setup. Installation is a one-time prerequisite and is not part of the regular AI workflow.
AI Workflow
- Execute: Run tools directly (e.g.,
chrome-devtools list_pages). The background server starts implicitly; do not run start/status/stop before each use.
- Inspect: Use
take_snapshot to get an element <uid>.
- Act: Use
click, fill, etc. State persists across commands.
Snapshot example:
uid=1_0 RootWebArea "Example Domain" url="https://example.com/"
uid=1_1 heading "Example Domain" level="1"
Command Usage
chrome-devtools <tool> [arguments] [flags]
Use --help on any command. Output defaults to Markdown, use --output-format=json for JSON.
Input Automation ( from snapshot)
chrome-devtools take_snapshot --help
chrome-devtools take_snapshot
chrome-devtools click "id"
chrome-devtools click "id" --dblClick true --includeSnapshot true
chrome-devtools drag "src" "dst"
chrome-devtools drag "src" "dst" --includeSnapshot true
chrome-devtools fill "id" "text"
chrome-devtools fill "id" "text" --includeSnapshot true
chrome-devtools handle_dialog accept
chrome-devtools handle_dialog dismiss --promptText "hi"
chrome-devtools hover "id"
chrome-devtools hover "id" --includeSnapshot true
chrome-devtools press_key "Enter"
chrome-devtools press_key "Control+A" --includeSnapshot true
chrome-devtools type_text "hello"
chrome-devtools type_text "hello" --submitKey "Enter"
chrome-devtools upload_file "id" "file.txt"
chrome-devtools upload_file "id" "file.txt" --includeSnapshot true
Navigation
chrome-devtools close_page 1
chrome-devtools list_pages
chrome-devtools navigate_page --url "https://example.com"
chrome-devtools navigate_page --type "reload" --ignoreCache true
chrome-devtools navigate_page --url "https://example.com" --timeout 5000
chrome-devtools navigate_page --handleBeforeUnload "accept"
chrome-devtools navigate_page --type "back" --initScript "foo()"
chrome-devtools new_page "https://example.com"
chrome-devtools new_page "https://example.com" --background true --timeout 5000
chrome-devtools new_page "https://example.com" --isolatedContext "ctx"
chrome-devtools select_page 1
chrome-devtools select_page 1 --bringToFront true
Emulation
chrome-devtools emulate --networkConditions "Offline"
chrome-devtools emulate --cpuThrottlingRate 4 --geolocation "0x0"
chrome-devtools emulate --colorScheme "dark" --viewport "1920x1080"
chrome-devtools emulate --userAgent "Mozilla/5.0..."
chrome-devtools resize_page 1920 1080
Performance
chrome-devtools performance_analyze_insight "1" "LCPBreakdown"
chrome-devtools performance_start_trace true false
chrome-devtools performance_start_trace true true --filePath t.gz
chrome-devtools performance_stop_trace
chrome-devtools performance_stop_trace --filePath "t.json"
chrome-devtools take_memory_snapshot "./snap.heapsnapshot"
Network
chrome-devtools get_network_request
chrome-devtools get_network_request --reqid 1 --requestFilePath req.md
chrome-devtools get_network_request --responseFilePath res.md
chrome-devtools list_network_requests
chrome-devtools list_network_requests --pageSize 50 --pageIdx 0
chrome-devtools list_network_requests --resourceTypes Fetch
chrome-devtools list_network_requests --includePreservedRequests true
Debugging & Inspection
chrome-devtools evaluate_script "() => document.title"
chrome-devtools evaluate_script "(a) => a.innerText" --args 1_4
chrome-devtools get_console_message 1
chrome-devtools lighthouse_audit --mode "navigation"
chrome-devtools lighthouse_audit --mode "snapshot" --device "mobile"
chrome-devtools lighthouse_audit --outputDirPath ./out
chrome-devtools list_console_messages
chrome-devtools list_console_messages --pageSize 20 --pageIdx 1
chrome-devtools list_console_messages --types error --types info
chrome-devtools list_console_messages --includePreservedMessages true
chrome-devtools take_screenshot
chrome-devtools take_screenshot --fullPage true --format "jpeg" --quality 80
chrome-devtools take_screenshot --uid "id" --filePath "s.png"
chrome-devtools take_snapshot
chrome-devtools take_snapshot --verbose true --filePath "s.txt"
Service Management
chrome-devtools start
chrome-devtools status
chrome-devtools stop