Chrome DevTools MCP (Standard)
by @lac5q
Standard browser automation for agents via Chrome DevTools MCP — official Google project giving AI agents full Chrome DevTools access. 29 tools for input aut...
clawhub install chrome-devtools-mcp-standard📖 About This Skill
name: chrome-devtools-mcp description: > Standard browser automation for agents via Chrome DevTools MCP — official Google project giving AI agents full Chrome DevTools access. 29 tools for input automation, navigation, performance traces, Lighthouse audits, network inspection, debugging, and emulation. Replaces cloud-hosted browser tools (Browserbase, browser_*) as the primary browser automation standard. Use when you need to automate or inspect web pages, take screenshots, run performance audits, analyze network traffic, debug JS, fill forms, or emulate mobile viewports. keywords: - browser automation - chrome devtools - MCP browser - web scraping - screenshots - performance audit - lighthouse - network inspection - form filling - use chrome-devtools-mcp - replace browser tools - use browser
Chrome DevTools MCP
Official Google project — gives AI coding agents full Chrome DevTools access via the Model Context Protocol (MCP). Free, open-source, runs locally with your own Chrome browser. No cloud dependency, no usage limits.
Install
Prerequisites
node --version)which google-chrome or which chromium-browser)wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y ./google-chrome-stable_current_amd64.deb
- On macOS: Install from google.com/chrome or brew install --cask google-chrome
- On ARM64 Linux: Use chromium-browser or Chrome for TestingInstall the MCP Server
npm i -g chrome-devtools-mcp
Or run directly with npx (no global install):
npx -y chrome-devtools-mcp@latest
MCP Server Config
Add to your agent's MCP config (config.yaml, .mcp.json, etc.):Standard config:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
}
}
}
Slim mode (lightweight, basic browser tasks only, lower resource usage):
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless", "--no-usage-statistics"]
}
}
}
Claude Code plugin (MCP + skills):
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
/plugin install chrome-devtools-mcp
OpenClaw (in config.yaml):
mcp:
servers:
chrome-devtools:
command: npx
args: ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
Tool Categories (29 Tools)
Input Automation (9 tools)
click — Click elements by uid from snapshotdrag — Drag one element onto anotherfill — Type text into input/textarea/selectfill_form — Fill out multiple form fields at oncehandle_dialog — Accept/dismiss browser dialogshover — Hover over an elementpress_key — Press keys or shortcuts (Enter, Ctrl+A, etc.)type_text — Type into focused input with optional submit keyupload_file — Upload file through file input elementNavigation (6 tools)
navigate_page — Navigate to URLnew_page — Open new browser page/tabclose_page — Close page by indexlist_pages — List all open pagesselect_page — Switch active pagewait_for — Wait for condition (selector, text, network, etc.)Debugging (6 tools)
take_snapshot — Get page accessibility tree with element UIDstake_screenshot — Screenshot of page or element (PNG/JPEG)evaluate_script — Run arbitrary JS in page contextlist_console_messages — Get console.log/warn/error outputget_console_message — Get specific console message detailslighthouse_audit — Run full Lighthouse audit (performance, a11y, SEO, best practices)Performance (4 tools)
performance_start_trace — Start Chrome performance trace recordingperformance_stop_trace — Stop trace and get resultsperformance_analyze_insight — Get actionable performance insights from tracetake_memory_snapshot — Capture heap snapshot for memory analysisNetwork (2 tools)
list_network_requests — Get all network requests (URL, status, timing, size)get_network_request — Get details for specific requestEmulation (2 tools)
emulate — Emulate device (mobile/tablet), geolocation, CPU throttling, network throttlingresize_page — Resize viewport to specific dimensionsStandard Workflow
1. Navigate and Snapshot
navigate_page(url) → get page loaded
take_snapshot() → get element tree with UIDs
2. Interact
click(uid) → click an element
fill(uid, value) → fill a form field
press_key("Enter") → submit form
wait_for({type: "selector", selector: ".result"}) → wait for result
3. Inspect
take_snapshot() → see updated page state
list_console_messages() → check for JS errors
list_network_requests() → check API calls
take_screenshot() → visual verification
4. Debug / Audit
evaluate_script("document.querySelector('.price').textContent") → extract data
lighthouse_audit() → full performance/SEO/a11y audit
performance_start_trace() → start perf trace
Decision Rules
Use Chrome DevTools MCP when:
browser_* tools fail (Browserbase limits, timeouts)Still use built-in browser_* tools when:
--headless flag with MCP)web_extract or web_search first)MCP vs dev-browser:
dev-browser is a fallback for scripts and repeatable workflowsTroubleshooting
Chrome not found:
# Ubuntu/Debian amd64:
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.debOr use Chrome for Testing:
npx @puppeteer/browsers install chrome@stablemacOS:
brew install --cask google-chrome
Node.js version too old:
node --version # needs v20.19+
Use nvm to upgrade:
nvm install 22
nvm use 22
MCP server won't connect:
npx -y chrome-devtools-mcp@latest --headless for headless environments--no-usage-statistics flag to disable Google telemetryReferences
⚙️ Configuration
node --version)which google-chrome or which chromium-browser)wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install -y ./google-chrome-stable_current_amd64.deb
- On macOS: Install from google.com/chrome or brew install --cask google-chrome
- On ARM64 Linux: Use chromium-browser or Chrome for TestingInstall the MCP Server
npm i -g chrome-devtools-mcp
Or run directly with npx (no global install):
npx -y chrome-devtools-mcp@latest
MCP Server Config
Add to your agent's MCP config (config.yaml, .mcp.json, etc.):Standard config:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
}
}
}
Slim mode (lightweight, basic browser tasks only, lower resource usage):
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless", "--no-usage-statistics"]
}
}
}
Claude Code plugin (MCP + skills):
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
/plugin install chrome-devtools-mcp
OpenClaw (in config.yaml):
mcp:
servers:
chrome-devtools:
command: npx
args: ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
📋 Tips & Best Practices
Chrome not found:
# Ubuntu/Debian amd64:
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.debOr use Chrome for Testing:
npx @puppeteer/browsers install chrome@stablemacOS:
brew install --cask google-chrome
Node.js version too old:
node --version # needs v20.19+
Use nvm to upgrade:
nvm install 22
nvm use 22
MCP server won't connect:
npx -y chrome-devtools-mcp@latest --headless for headless environments--no-usage-statistics flag to disable Google telemetry