Chrome DevTools (MCP)
Control and inspect a live Chrome browser via Chrome DevTools Protocol.
Available Tools
- •
take_snapshot- Get accessibility tree snapshot with element UIDs - •
take_screenshot- Capture screenshot of page or element - •
navigate_page- Navigate to URL, back, forward, or reload - •
new_page- Open a new browser tab - •
list_pages- List all open pages/tabs - •
click- Click element by UID - •
fill- Type text into element - •
hover- Hover over element - •
press_key- Press keyboard key (Enter, Tab, etc.) - •
evaluate_script- Run JavaScript in page context - •
wait_for- Wait for text to appear
Workflow
- •Snapshot the page using
take_snapshotto get element UIDs - •Navigate to target URL using
navigate_page - •Interact using
click,fill,hoverwith UIDs from snapshot - •Screenshot to capture results using
take_screenshot
Quick Start
code
# Get page structure with element UIDs
skill_mcp(skill_name="chrome-devtools", tool_name="take_snapshot")
# Navigate to URL
skill_mcp(skill_name="chrome-devtools", tool_name="navigate_page", arguments='{"type": "url", "url": "https://example.com"}')
# Click element (use UID from snapshot)
skill_mcp(skill_name="chrome-devtools", tool_name="click", arguments='{"uid": "e123"}')
# Fill input field
skill_mcp(skill_name="chrome-devtools", tool_name="fill", arguments='{"uid": "e456", "value": "hello"}')
# Take screenshot
skill_mcp(skill_name="chrome-devtools", tool_name="take_screenshot")
Tips
- •Always
take_snapshotfirst to get element UIDs - •Element UIDs change after navigation - take fresh snapshot
- •Use
wait_forafter actions that trigger page changes - •Use
evaluate_scriptfor custom JS when tools don't cover your need
vs Playwright
| Feature | chrome-devtools | playwright |
|---|---|---|
| Browser support | Chrome only | Chrome, FF, WebKit |
| Performance tracing | ✅ (full MCP has it) | ❌ |
| Network inspection | ✅ (full MCP has it) | ❌ |
| Cross-browser | ❌ | ✅ |
Note: This skill loads 11 essential tools. For full 26+ tools (performance, network, console), modify
mcp.jsonto removeincludeToolsfilter.